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://rocketmadev.github.io/2024/05/22/gostack/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论