mips pwn基础知识

经典例题讲解 wiki内容 运行mips文件以及调试 安装mipsrop插件 shellcode base

  • mips没有NX功能,所以栈是可以执行的,所以基本上都是打shellcode
  • 经典例题根据能否泄露栈地址分为两种
  • ida7.5才支持mips反汇编,安装mipsrop插件用不了报错一般是python文件中的代码哪里有些问题,网上搜索改一下就行了
  • 如果对shellcode长度有要求,可以查看那个shellcode base
  • mips寄存器

做题常用

  • 要现在search中点击mips rop gadgets后,再到底下python行输入下列指令才行,这样路径才正确
  • 常见mipsrop指令
mipsrop.find() 
mipsrop.stackfinders() 
mipsrop.find("move $t9,$a2")
  • 本地运行 mips32位动态连接 qemu-mipsel -L /usr/mipsel-linux-gnu/ ./pwn
  • gdb本地调试
qemu-mipsel -L /usr/mipsel-linux-gnu/ -g 1234 pwn
gdb-multiarch pwn -q
set architecture mips
target remote localhost:1234

但是直接用pwntools的也能直接运行

p=gdb.debug("./mips",'b *0x400860')
  • 能调试了剩下的都很简单了