跳到主要内容

「攻防世界」Pwn - String WriteUp

· 阅读需 5 分钟
MuelNova
Pwner who wants to write codes.

写在开头的碎碎念

捏 🐎 咋这个 Pwn 这么难的啊,看 WP 也看不懂,即刻退出 Pwn

说归说,至少先把这个攻防世界新手区给它干了

经过几天的并不系统的三天打鱼两天晒网的学习,现在只能说非常有自信。

String应该是攻防世界新手区里最有趣也最难的一题了,开整!

「攻防世界」Pwn - cgpwn2|level3|CGfsb WriteUps

· 阅读需 6 分钟
MuelNova
Pwner who wants to write codes.

cgpwn2 | level3 | CGfsb

碎碎念

因为这半个月事情很多(摆邮 major/APEX/期中考),加上新环境一直有问题,所以基本上没有什么关于 CTF 的内容:I 但是其他的事情也基本没什么进展

马上又要打比赛了,想着临时抱佛 jio 冲一哈,先把这几个简单的栈相关的题目搞一下:<

原本想要每题都做一个详尽的 WP 水文章来着,但是好像比较基础就合在一起了:>

「TSCTF-J_2021」Pwn - Random WriteUp

· 阅读需 5 分钟
MuelNova
Pwner who wants to write codes.

分析

使用 IDA 打开, 发现题目要求我们输入正确 10 次 C 产生的随机数, 接着需要再输入正确的/dev/urandom产生的随机字节数据流

初期资料

rand()

rand()函数每次调用前都会查询是否调用过srand(seed),是否给seed设定了一个值,如果有那么它会自动调用srand(seed)一次来初始化它的起始值 若之前没有调用srand(seed),那么系统会自动给seed赋初始值,即srand(1)自动调用它一次