8月1日学习打卡
PWN简介:
CTF中的pwn指的是通过程序本身的漏洞,编写利用脚本破解程序拿到主机权限,不仅需要对程序进行分析,还需要了解操作系统的特性和相关漏洞。
pwn需要掌握的知识储备:C语言,汇编语言,python,操作系统,linux操作
主流工具:
- IDA pro 静态分析神器,必备。
- ollydbg 动态分析使用,分析程序的流程。
- windbg windows下的动态分析神器,可以调试内核态,谨慎使用。
- gdb linux下的调试程序,同样作用很大。
- pwntools python第三方库,用于开发exp。
- pwndbg gdb调试的一个插件,可以显示一些调试信息很有用。
经典漏洞:栈溢出,堆溢出,ROP,格式化字符串漏洞
练习平台选择:
看了一圈,bugku需要缴费,i春秋的writeup又很少,作为一个初学者,xctf是一个不错的选择,题目分级明确,也基本都有writeup。
工具下载
漫长的等待
pwn新手题目练手
题目描述:菜鸡了解了什么是溢出,他相信自己能得到shell
题目分析:步骤很简单,先分析checksec然后如果可以运行的话,就运行一下。
问题就来了,对ida一点都不熟悉,在这里也卡了很久,题目给的是64位,无法直接f5反编译,据说是因为是64位没有安装反编译器?搞了这么久,看下载说明,发现下载的是无反编译器版本的,WDNM。
重新下了一个7.2版本的IDA PRO,打开文件:
出现的应该为汇编代码,暂时看不懂,还好有IDA,反编译出伪代码: