You are on page 1of 4

Team233-PWN学习路线

1、网络安全法
做守法的安全爱好者

详情:

https://baike.baidu.com/item/%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E
5%92%8C%E5%9B%BD%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E6%B3%95/1684304
4

2、遇事不决,果断Google
学会使用Google(别指望百度),遇到问题,应该首先谷歌,99%的问题都可以Google解决(就算问师
兄,师兄大概率也是去Google)。

3、学会提问
能网上查到的问题就不要问别人。 提问之前把自己已经掌握的知识总结出来,再具体地提出自己的疑
惑,别上来就问。

4、学会积累(写博客)
拥有良好的写博客的习惯,将题解(writeup),技术感悟,漏洞利用的过程记录下来。

写博客需要对学到的知识有充分的认识和系统的整理,因对学习很有帮助,同时还可以方便以后复习。

即使不上传博客,也建议在本地整理成文章,供自己复习使用。

在线推荐平台:博客园(懒人式搭建方法)、语雀、GitHubPages、WordPress、Hexo

本地程序:Typora、印象笔记

以下是一些例子:

(语雀)整数溢出 · 语雀 (yuque.com)

(博客园)https://www.cnblogs.com/luoleqi

(GitHub)https://cc-sir.github.io/

5 、强大的自驱力
语言学习:

熟悉C语言(指针、函数) 建议学会使用vscode

南大C语言与汇编(挑着看):https://www.bilibili.com/video/BV1kE411X7S5/

汇编语言(熟悉常见指令及寄存器等,能够熟练阅读汇编代码)

书籍(汇编语言 王爽)

学会使用python(尤其pwntools,网上有教程)
IDA PRO的使用(初期主要F5一键反汇编)
gdb的基本使用(断点、单步、查看内存等,配合插件使用)
gdb可以参考星盟安全的演示

书籍:

《程序员的自我修养》 (程序的编译链接原理 内存管理 进程地址空间 函数调用惯例)

《Linux二进制分析》

《CTF权威指南 Pwn篇》

6、 CFTWIKI(PWN篇)
https://ctf-wiki.org/pwn/linux/user-mode/environment/

7、Pwn视频资源(bilibili )
台科大信安(较容易和中等):

https://www.bilibili.com/video/BV1ai4y1u7mS/?spm_id_from=333.788.recommend_more_video.6

星盟安全(容易和难都有):

https://www.bilibili.com/video/BV1Uv411j7fr?from=search&seid=9461175333622176164&spm_id_
from=333.337.0.0

长亭安全(视频分散):

https://www.bilibili.com/video/BV1gf4y1B7Fx?from=search&seid=14565331041828071831&spm_i
d_from=333.337.0.0

视频下方有ppt和演示题目

8、刷题网站
https://buuoj.cn/
https://www.ctfhub.com/#/index
https://adworld.xctf.org.cn/
https://pwnable.tw/

9、环境配置
CTF中接触到的PWN题大多属于LINUX PWN,给电脑装LINUX系统比较麻烦,一般情况下是装虚拟机。

配置环境一般指下载安装解答PWN题所需要用到的工具,以及PYTHON等。

安装一般为Ubuntu16,18,20

入门一般虚拟机(VM)安装Ubuntu16(安装方法:自行Google) 原因:没有方法可以保证安装不
出问题

自己安装的注意点:建议换源(换成国内的源)

工具安装(自行Google,都有)
一般分为已下几种:

IDA PRO一般在非虚拟机(WIN10或Mac)运行

IDA PRO是一款很好用的反汇编工具,其反编译插件在很多时候能够将代码还原到接近源码 的水
平,但是IDA的使用比较复杂,需要自己学习。 链接:https://pan.baidu.com/s/1ZN8Kd2QbpnP
5qm1QBfxaIA 提取码:j2my
GDB配合套件在Ubuntu运行

GDB GDB是一款功能强大的程序调试工具,是动态调试必不可少的工具,可以很方便的查看堆中
链表的状态,各个地址的内容。GDB拥有多个插件(peda、pwndbg、gef等)这些插件提供 了一
些额外的命令,在可视化和功能上都进行了扩展。 推荐安装一个插件即可,多个插件的切换与系
统环境变量相关,自行Google.

vscode在Ubuntu运行:

适合下断点和打开调试窗口,一边改代码一边gdb调试

context.terminal = ['tmux', 'splitw', '-h']

或者

context.terminal = ['gnome-terminal', '-x', 'sh', '-c']

Pwntools在Ubuntu安装:

pwntools pwntools是一个CTF框架和漏洞利用开发库,涵盖了pwn题利用脚本所需要的各种工
具。包 括方便的IO交互函数,ROP、格式化字符串等利用的自动化工具,shellcode生成器等等,
是 目前最好用也是仅有的大型pwn利用框架。能节省大量编写脚本的时间。

ZIO在Ubuntu安装

ZIO 是一个专门为 CTF PWN 开发的 Python 库,基于 ZIO 可以方便实现对远程服务器上的服 务程


序进行数据读写操作,也支持对本地程序的数据读写操作。

checksec 在Ubuntu安装:

查询程序架构和保护机制的开启状况。

one_gadget 在Ubuntu安装:

分析定位libc中获取shell的地址,在满足特定条件的情况下,仅拥有该地址就可以get shell。 而非
手动输入/bin/sh和system的地址。

LibcSearcher在Ubuntu安装:

一般在我们做题的时候没法查看 libc 的版本之类的,连上服务器后就是程序运行起来的情况,那


这时候就需要LibcSearcher

具体的Pwn的安全机制,漏洞利用方式与演示,参考CTF wiki pwn以及星盟安全


的演示视频(b站有)

10、懒人行为(如果一直没搭建成功)
直接用网上的搭建好的环境(前提需要有VM)https://mp.weixin.qq.com/s/_M_7tSGEOkUP3DBNGvq
lGA

11、安全文章订阅
圈子:看雪,Freebuf ,安全牛,先知社区,吾爱破解等等

博客:很多CTF选手的博客可以参考学习题解

You might also like