Recho.doc pwn题:栈溢出与shutdown漏洞利用
版权申诉
5星 · 超过95%的资源 51 浏览量
更新于2024-08-06
收藏 546KB DOC 举报
在"攻防世界pwn题:Recho.doc"这份文档中,讨论了一个针对64位二进制文件的逆向工程和漏洞利用挑战。该文件没有启用canary和PIE保护机制,提供了丰富的学习材料。以下是关键知识点的详细解析:
1. **文件与环境分析**
- 文件是一个64位二进制可执行文件,静态分析显示它包含一个while循环,判断条件是read函数返回值大于0,涉及到函数`atoi()`处理用户输入,导致潜在的栈溢出。这暗示可能利用内存溢出进行攻击。
2. **逆向工程与思路**
- 初始想法是尝试ret2libc漏洞利用技术,即利用程序中的输入输出函数,但作者发现无法跳出while循环,`send`操作无效。在此过程中,作者借鉴了海师傅的文章,认识到`shutdown`函数可能成为突破点。
3. **`shutdown`函数的运用**
- `shutdown`函数用于关闭套接字连接,作者注意到只有'write'参数有效,意味着可以控制数据从内向外流动。利用这一点,可以暂时终止循环,但不能再次获取输入,因为一旦关闭,必须重启程序才能改变库加载地址,避免因ASLR(地址空间布局随机化)而失去攻击机会。
4. **目标策略**
- 由于一次性的限制,攻击者需要设计一次性完成任务的payload,例如获取flag或读取flag文件。作者提出了构造以下代码片段:
- 打开"flag"文件进行只读读取(`intfd = open("flag", O_RDONLY)`)
- 读取文件内容并打印(`read(fd, buf, 100); printf(buf)`)
5. **其他技术与工具**
- 文档中提到了`write`、`printf`、`alarm`和`r`等函数的使用,这些是常见的C标准库函数,攻击者可能利用它们进行更复杂的操作,如设置定时器(`alarm`)以实现延迟执行。
6. **结论**
- 这个题目不仅锻炼了对64位二进制文件的逆向分析能力,还着重强调了在安全环境下利用特定功能(如`shutdown`)进行有效攻击的重要性,以及如何在有限的条件下制定攻击策略。
通过这个文档,学习者可以深入了解栈溢出漏洞的利用技巧,理解参数敏感性在安全编程中的作用,并提升利用特定系统调用进行高级攻击的能力。
212 浏览量
2022-09-23 上传
212 浏览量
2024-01-16 上传
114 浏览量
2024-04-08 上传
180 浏览量
2021-02-15 上传
134 浏览量
书博教育
- 粉丝: 1
- 资源: 2837
最新资源
- 博客
- 易语言超级列表框虚表化
- polybar:快速且易于使用的状态栏
- AT24C02存储小数_24c02_stm32f103单片机与24c02通信_at24c0stm32f103_f103野火
- emlog资源吧模版源码适合做资源网
- SpaceX Animated New Tab-crx插件
- text-editor-website:一个简单的网站,带有文本编辑器格式的超链接
- 威廉姆斯25
- mysql:实现MySQL协议的纯node.js JavaScript客户端
- 易语言超级列表框置行色
- python-ucsfbids,bids-import.py codecov.yml conftest.py
- andrew_ml_ex5.zip
- Design:此存储库包含 Hoccer XO Android 和 iOS 客户端的 .psd 文件
- react-music-player:也许是做出响应的最好的漂亮HTML5响应播放器组件
- ipcamera_client:当前的客户端Web应用
- CRCP2330