pwn-mips-ret
介绍
- mips架构下的pwn和x86架构下的pwn中ret的题型基本不变,
ret2text
、ret2lic
- 在解题的过程中还是找rop链,泄露地址,然后拼拼凑凑
system('/bin/sh')
- 寻找的
onegadgate
不太一样- 在x86架构下一般都是寻找
pop_rdi_ret
,pop_rsi_ret
- 而在mips架构下的,一般都是寻找``
- 在x86架构下一般都是寻找
疑问
- 在使用Python编写脚本过程中出现一个疑问,直接运行会出现架构不同的情况下无法运行
1 | myheart@aaa ~/C/p/m/r/ret2win_mipsel> ./ret2win_mipsel |
- 而使用Python脚本中
p = process('./ret2win_mipsel')
这个函数就可以运行
1 | from pwn import * |
- 解答:在pwn库中会的
process
函数就会创建一个新的进程在这个过程中,pwn
库会使用 QEMU 用户模式模拟器(如qemu-mipsel
)来运行 MIPS 架构的程序。因此,Python 脚本能够通过 QEMU 启动 MIPS 可执行文件,而不会出现架构不匹配的问题。、 - 所以可以直接用
process
函数进行直接本地打,但是动态调试还是要借助qmeu远程调试才可以使用gdb动态调试
ret2text
- 这边使用的是ctf-wiki的一个例子,附件如下,现在IDA9.0可以支持异架构的反编译,可以直接读C代码,不用再看汇编代码,但因为学习我就跟着ctf-wiki看汇编,顺便再对mips汇编加深印象
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 iyheart的博客!
评论