PWN-64位ROP-Bugku_PWN4
没有开任何保护
反汇编很明显栈溢出
然而只有System函数地址是已知的(0x400570),参数”/bin/sh”未知
发现有$0(代表bash,做参数等同于”/bin/sh”)
**特别注意:**32位的函数调用使用栈传参,64位的函数调用使用寄存器传参,分别用rdi、rsi、rdx、rcx、r8、r9来传递参数(参数个数小于7的时候)
所以我们要找一个能够pop rdi的指令通过这句ROPgadget –binary pwn4 –only “pop|ret”可以找到,地址为0x4007d3
用命令ROPgadget –binary pwn4 –string ‘$0’ 找到$0的地址0x60111f
最后构造payload
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.