格式化字符串走过的坑 pwn109
  YOkriIV1Am1d 2024年04月09日 37 0

格式化字符串走过的坑 pwn109

今天做的一道题有一个坑我调试半天终于打通了,格式化字符串的坑,确实不少,东西也比较多容易忘记,怎么说呢,功夫在平时,经验少了

老规矩先看一下保护

Full RELRO意味着got不能修改也就是不能通过格式化字符串漏洞来改got表,但是nx保护关闭了,也就是我们可以通过修改返回地址到我们写的shellcode上就好了

iad打开

选项2printf打印你写的数据(格式化字符串漏洞)选项1是往栈上写数据,而且他还把栈地址给你了,就不需要额外泄露了

首先计算一下我们输入的数据偏移

那既然有栈地址了还有偏移了直接构造payload

但是却失败了,怎么回事,难道我手工改失败了用工具再试一遍

依旧失败,这里我选择一步步去调试了,我首先怀疑返回地址填充的数据不够,因为ida静态毕竟没有动态更能体现返回地址的问题

奇怪的是返回地址是正确的,然后我选择3退出的时候看一下返回地址

发现返回地址并不是刚刚的地址而是这个地址,那么我们把找到的ret_addr + 0x10

成功了!!

也就是说刚刚手改是正确的,这里我建议最好自己手改几次,对这个原理理解透彻,才能更好的学习,只会不停的用工具,而不懂原理这样的学习是没有太大意义的

格式化字符串走过的坑........

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年04月09日 0

暂无评论

推荐阅读
  5NWiQFAVeqgX   3天前   5   0   0 网络安全
  OKgNPeBk991j   2天前   13   0   0 网络安全