从头复习ROP
一、前言
从考研结束就一直很浮躁,虽然在实习期间学习运用了一段时间web技术,但是新东西总是不想看,旧的东西又不断忘记。9月研究生开学,也算是新的开始了,沉下心来沉淀一些东西吧。感觉在学校的期间学习二进制是最合适的,所以潜下心来把二进制捡起来。
话不多说了,开始吧。
二、参考资料
大佬们的资料都很浅显易懂,作为基础知识一定要先读一下:
一步一步学ROP之linux_x86篇(原创乌云,所以只能贴个盗版地址了)
http://www.vuln.cn/6645
一步一步学ROP之linux_x64篇(原创乌云,所以只能贴个盗版地址了)http://www.vuln.cn/6644
CTF All In One(3.1.4章):https://firmianay.gitbooks.io/ctf-all-in-one/doc/3.1.4_rop_x86.html
三、软件工具
以下是本文中用到的一些工具,其中的链接都包含如何安装,故在此不详细介绍安装过程。由于想尽可能训练二进制能力,所以本文将尽可能避免使用IDA进行反编译分析。
radare2(一个功能十分强大的汇编工具)
pwndbg(gdb的一个热门插件,本文并不涉及堆的知识,因此此工具使用较少,但其提供了一个比较清晰的分析界面。)
pwntools(做二进制写脚本必备的python库)
IDA Pro 这个各位在52上下载吧
四、一些基础内容
基础是很重要的,想了解二进制的内容必定是要了解一些汇编语言以及底层的函数调用机制等等。所幸在本科接触二进制的时候一定程度上了解了汇编语言的一些语法、栈与函数调用的关系、二进制文件的几种保护机制等等。所以本篇主要还是用以题目实践来复习的方式复习之前学到的知识。本人才疏学浅,如果有说错的地方大佬们勿喷。

本文通过实践方式回顾ROP技术,涵盖32位与64位环境下利用ROP漏洞进行攻击的方法,包括寻找gadget、构造payload等关键步骤。
最低0.47元/天 解锁文章
2517

被折叠的 条评论
为什么被折叠?



