一点提示
不可视境界线最后变动于:2023年4月2日 晚上
基本内容
做之前最好学习了计算机系统课程. 基本内容包括汇编, 链接, 虚拟地址三个章节. 不过可以先从题目尝试下入手.
在真正做出并理解一个 pwn 题前,你可能需要的技能:
- 了解基本的 Linux 命令
- 能编写基本的 C 语言代码
- 调试能力
会用 gdb 或 ida remote debugger 调试 linux 下的程序
- 基本的逆向能力
通常来说,pwn 题只会给编译好的二进制程序。需要通过逆向搞清程序的逻辑。
- 能用 python 编写简单的脚本
在 ctf 中,编写 exp(漏洞利用脚本)时一般都会用到 pwntools 框架。
- 上网
- 热情与耐心
pwn从零开始, 题目有用到才过来看看也行: https://www.wangan.com/docs/pwn-base
下面算参考, 不用全看.
- 传统pwn方面更多的内容: https://ctf-wiki.org/pwn/linux/user-mode/stackoverflow/x86/stack-intro
- python学习直接菜鸟吧: https://www.runoob.com/python3/python3-intro.html
- python模块pwntools的学习: https://pwntoolsdocinzh-cn.readthedocs.io/en/master/intro.html
- 群文件中ctf-all-in-one.
- 还想写更多的, 但是真的写不下了, 也看不完.
环境
- 虚拟机kali系统环境安装: 点这里
- IDA官方free版本, 够用了: https://out7.hex-rays.com/files/idafree82_windows.exe
IDA旧版破解下载链接, 爱来自吾爱破解: https://pan.baidu.com/s/1ZhhDevWxlNJZBT2Q4LxGQQ?pwd=52pj
题目相关
- 本次就做攻防世界的 https://adworld.xctf.org.cn/challenges/list 的题目, 不会就直接看wp, 自带的, 看其他的也行:
- get shell
- level0: 我演示过的. 直接看writeup学习
- guess sum
- 以下要懂ELF中got+plt
- level2
- level3
二进制之肖神的学习路线: https://github.com/Kiprey/Skr_Learning
仅供参考, 因为dddd