-------------已经到底啦!-------------
放假在家准备接触一下从未挑战过的pwn
pwn1_sctf_2016
Download文件后checksec
地址在哪已经显而易见了,接着我们IDA静态分析一下;
找到漏洞函数
s的长度为60,而我们只能够输入32个字符,不足以栈溢出;
但是replace函数会把我们输入的I替换成you,I是一个字符,you是三个字符,这样输入20个I既不会超过32字符限制,最终替换成60个字符也能够填满s.
找到后门函数:08048F0D
:::info
exp:
:::
1 |
|
执行结果:
拿到flag:
!!!flag{5e9a24f6-ddb2-4237-b3e0-6d968c34cec8}!!!{.bulr}
warmup_csaw_2016
拖入IDA F5
发现要求输入v5自变量;
v5的可用栈大小为0x40
可以看出,这个gets绝对有问题;
程序存在后门:
sub_40060D的地址为0x40060D
下面我们可以写个脚本跑出flag;
在此之前我们知道v5的栈大小为0x40,但还需要加上返回值的8个字符;
最终为0x48.
:::info
构造exp
:::
1 |
|
得到flag:
!!flag{a15dd406-0d79-4f49-b5a0-3dde546a4d3d}!! {.bulr}