ciscn2024 - gostack
文件属性
| 属性 | 值 |
|---|---|
| Arch | x64 |
| RELRO | Partial |
| Canary | off |
| NX | on |
| PIE | off |
| strip | yes |
| go | 1.18.1 |
解题思路
一道简单的go的栈溢出题
经测试,发现输入0x100个字符后就会报错非法内存访问,调试器跟一下,
发现原来rbp - 0xc8的位置上是一个go指针,随便填一个合法地址继续溢出写,
会报什么超出限制,发现rbp - 0xc0的位置上是一个较小的值,填0后继续溢出写,
就可以成功控制返回地址了
实际上错误都是由Fprintf引发的,第一次解引用了错误的地址,第二次覆盖了一个过大的len,
如图所示

网上很多wp写rop的链子,很怪,程序不是提供了后门吗。。直接把返回地址修改成&main.main.func2,
就可以任意执行一个shell命令,输入cat flag就可以获得flag
EXPLOIT
1 | from pwn import * |

- 标题: ciscn2024 - gostack
- 作者: RocketDev
- 创建于 : 2024-05-23 00:47:00
- 更新于 : 2024-09-11 23:35:00
- 链接: https://rocketma.dev/2024/05/22/gostack/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论