【PWN】学习笔记(三)【返回导向编程】(下)

2023-12-15 11:51:47

课程

课程链接:https://www.bilibili.com/video/BV1854y1y7Ro/?vd_source=7b06bd7a9dd90c45c5c9c44d12e7b4e6
课程附件: https://pan.baidu.com/s/1vRCd4bMkqnqqY1nT2uhSYw 提取码: 5rx6

回顾

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ret2libc在这里插入图片描述

.got.plt中存放的是代码的地址
在这里插入图片描述
nop滑梯,什么都不做执行下一个指令
在这里插入图片描述
一路nop到shellcode,只要指向nop区域即可;使得地址随机化变得低效
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

做题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

即使程序中没有call system指令,同时也不知道system libc的真实地址;但是我们一定会有system@plt,只要这个程序在任何地方引用过system这个函数
虽然secure函数中system(“shell?!”)没有任何用处,但是system()被放在了plt;如果连这一项都没有就需要在攻击之前泄露大量的信息,把真实地址泄露出来
在这里插入图片描述
在这里插入图片描述
还需要加上溢出ebp的四个字节,所以这里又是112
在这里插入图片描述
这里的padding 就是112个垃圾数据
在这里插入图片描述
可以简化成这个形式,都不需要exit了,不需要老老实实退出程序
在这里插入图片描述
逆向题入门也可以这样做
在这里插入图片描述

文章来源:https://blog.csdn.net/qq_41691212/article/details/134998646
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。