Pwn是一个黑客语法的俚语词 ,是指攻破设备或者系统 。发音类似“砰”,对黑客而言,这就是成功实施黑客攻击的声音——砰的一声,被“黑”的电脑或手机就被你操纵。以上是从百度百科上面抄的简介,而我个人理解的话,应该就是向目标发送特定的数据,使得其执行本来不会执行的代码,前段时间爆发的永恒之蓝等病毒其实也算得上是pwn的一种。
pwnable.kr
pwnable.tw
pwn介绍
CTF pwn中的目标是拿到flag,一般是在linux平台下通过二进制/系统调用等方式编写漏洞利用脚本exp来获取对方服务器的shell,然后get到flag
简介
长亭安全:https://zhuanlan.zhihu.com/p/25816426
前置技能
- 汇编语言,函数调用约定,大小端,函数栈帧
- python语言,gdb调试,IDA pro分析
- linux相关:32位与64位,各类防护机制(NX,ASLR,Canary,Relro),ELF文件格式,系统调用,shell命令
- 编译,链接,装载,执行
常见漏洞简介
- 缓冲区溢出(Buffer overflow)
- 栈溢出,堆溢出,bss溢出等
- 整数溢出(Integer overflow)
- 整数的加减乘法
- 有符号与无符号的转换
- 整数溢出一般可以转换成其它漏洞
- 格式化字符串(Format string)
- printf(s),sprint f(s),fprintf(s)可以修改地址也可以用来leak信息
- 使用后释放(Use-after-free)
- 释放掉的内存可能会被重新分配,释放后使用会导致重新分配的内存被旧的使用所改写
- Double free是一种特殊的UAF
工具
- IDA
- pro
- gdb
- pwntools
- zio
- peda
- readelf
- ropgadget
- string
- objdump
利用方法
注入代码
- 溢出后在栈上执行代码
伪造函数
- 修改.got.plt地址,替换掉正常函数
- 布置gadget将ret地址指向libc中的其它函数
学习网站
如何开始你的CTF之旅
PWN总结
p4-team
uaf
ddaa
二进制漏洞学习
sploitfun
CTF Writeup Github
pwnable.kr
pwnable.tw
ROPemporium
学习资料
《有趣的二进制》
《深入理解计算机系统》
《程序员的自我修养》
《深入理解Linux内核》

