0x00 引子
今年5月份参加红帽杯比赛,线下攻防赛,因为不懂PWN类题目,被吊打。很不爽,于是从6月初开始重新学习汇编,操作系统到7月底,算告一段落。参考书上教程,从零完成一个简陋的操作系统,只有一个进程。这个过程中最大的收获是对汇编的深入理解,以及程序加载执行的过程的熟悉。这对PWN来说是非常好的基础。现在开始学习PWN类题目。先来梳理下常用的工具。网上有人介绍过,我自己从初学者的角度来看待,尽可能详尽些。
后续会逐个详细介绍在做PWN题中使用到的功能点。
0x01 工具
古书云:人欲善其事,必先利其器。PWN类题目主要的工具有:pwntools:
这是基于Python开发的工具库。可以很方便的进行本地调试,远程利用。在github上可以找到。
gdb:调试神器
peda: 基于Python开发的gdb的插件,可以方便地显示当前栈,堆等信息。
IDA:反汇编逆向的神器,F5一键查看伪代码。
目前用到的就这么多,后面有的话,再添加。
0x02 pwntoolshttps://github.com/Gallopsled/pwntools,附上项目的github地址。这种正规的项目,都有完备的使用和开发说明文档,但这些文档太全面,从实用的角度来说,只挑现在用到的功能。
2.1 安装可以方便的使用pip进行安装:1pip install pwntools
2.2 pwntools使用的一般流程使用process/remote建立交互
通过