题目来自于2016年全国高校网安联赛pwn专场。
参考文献:http://www.freebuf.com/articles/terminal/107276.html
其中有一题warmup的题目,常规思路,使用file命令查看该文件格式,发现是arm下静态文件,之后常规考虑用ROPgadget生成ropchain,放入栈中执行,但是这边有区别,arm是以r0寄存器存放第一个函数参数的。所以我们需要手工构造ropchain,首先去找system函数,虽然该bin文件去符号化了,但是由于存在/bin/sh字符串,跟踪一下就发现了如下函数。
这不就是system函数么。。。
接着用ROPgadget来找一个控制r0寄存器的ropchain就可以了。。如下命令
ROPgadget --binary warmup --only "pop"|grep r0
找到了
0x00020904 : pop {r0, r4, pc}
接着就剩下构造ropchian并执行了,如下脚本。
|
|
另一题login,模糊测试一下直接出payload。
|
|