(Jarvis Oj)(Pwn) level0
首先用checksec查一下保护。几乎没开什么保护措施。
用ida反汇编。main函数就调用了两个函数。
跟进第二个函数。
找到溢出点,同过buf缓冲区。又找到函数callsystem()。
只要控制程序返回到callsystem地址即可。找到callsystem地址。
写得脚本。
1 from pwn import *
本文介绍了如何解决 Jarvis Oj 的 Pwn level0 挑战。通过 checksec 发现保护措施很少,然后使用 IDA 反汇编程序,发现 main 函数调用了两个关键函数。分析后确定可以通过溢出 buf 缓冲区来控制执行流,并找到 callsystem() 函数。最后编写脚本,注意到由于是64位程序,在覆盖 rbp 和返回地址时需使用64位数据。
首先用checksec查一下保护。几乎没开什么保护措施。
用ida反汇编。main函数就调用了两个函数。
跟进第二个函数。
找到溢出点,同过buf缓冲区。又找到函数callsystem()。
只要控制程序返回到callsystem地址即可。找到callsystem地址。
写得脚本。
1 from pwn import *
690

被折叠的 条评论
为什么被折叠?