由于某種需要,開始接觸二進制,做點筆記,以便查閱。
學習思路:
- 學習各種套路
- 寫有漏洞的程序 -> pwn
CTF練習網站:
- http://pwnable.kr
- https://pwnable.tw
- https://www.jarvisoj.com
- https://github.com/ctfs
- Wargames
- ROP Emporium
- exploit-exercises
- google搜索:xxx ctf 、xxx writeup
常用工具:
- gdb:Linux調試中必要用到的
- gdb-peda:gdb方便調試的工具,類似的工具有gef,gdbinit。peda安裝
- pwntools:寫exp和poc的利器,類似的有zio。pwntools安裝
- checksec:可以很方便的知道elf程序的安全性和程序的運行平臺,peda已集成
- objdump和readelf:可以很快的知道elf程序中的關鍵信息
- IDA pro :強大的反編譯工具
- ROPgadget:強大的rop利用工具
- one_gadget:可以快速的尋找libc中的調用exec('bin/sh')的位置
- libc-database: 可以通過泄露的libc的某個函數地址查出遠程系統(tǒng)是用的哪個libc版本
- 參考鏈接
shellcode生成&搜索:
- pwntools
- msf
- shell-storm
- exploit-db
入門之前:
- 匯編語言:程序執(zhí)行、函數棧幀、函數調用等
- 防護措施:CANARY, ASLR, NX
- 編譯、鏈接、裝載、執(zhí)行
- x86&x64寄存器
- ELF文件結構
- Linux系統(tǒng)相關:文件描述符、系統(tǒng)調用、socket編程、shell命令