Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
信息安全从积累到创造
phithon长亭科技 安全工程师
成为大师,超越大师
Phith0n
https://www.leavesongs.com
● 长亭科技安全/开发工程师
● 原乌云核心白帽子/安全研究者/Bug Hunter
● Pwnhub开发人员
信息安全从积累到创造
01从零开始:如何发现知识
02快速成长:那些散落在黑客世界里的 “金子”
03突破瓶颈:掌握“创造技巧”的技巧
04超越大师:集大成者,金声而玉振
信息安全初学者该如何入门?
80%
拿到资料 ⇒ 看不懂 ⇒ 放弃
50%
“看文档不如看书,看书不如看视频,视频又没耐心看”
60%
如何更高效地自学信息安全
1. 基础:编程、英语、表达能力
2. 找到一个研究方向
3. 阅读 ⇒ 理解 ⇒ 自己动手
4. 加入一个团队
5. 涉猎可以广泛,但主业须专注
别讲大空话了Bie Jiang Da Kong Hua Le
我推荐的代码学习路线
C语言
Java
理解大部分语言的运行方式,包括变量、
函数、指针、流程控制等概念
理解面向对象的编程思想
一门脚本语言
用脚本语言辅助工作,增加效率
推荐几本基础的编程书籍
《C和指针》
经典著作,在了解C语言语法后,建议阅读的一本进阶书籍。
《Head First Java》学Java不适合读,但学面向对象非常适合读的一本书。
《Python3 Cookbook》一本Python工具书:http://www.lizenghai.com/doc/python3-cookbook/
了解一个陌生技术最快的方法是什么
了解一个陌生技术最快的方法
绝大多数文档能解决你绝大多数的问题
我最欣赏的官方文档:MSDN和PHP文档
官方文档
一个“黑客”需要了解哪些搜索引擎技
巧?
搜索引擎
Google Hacking
filetype:mdb
搜索某个后缀
site:example.com
站内搜索
inurl:.php?id=1
搜索URL包含的关键字
intitle:powered by xxxcms
搜索标题包含的关键字
site:45.32.43.*
搜索C段
Index of /
查找列目录漏洞
intext:password
查找网站正文中的关键字
ssrf site:wiki.ioin.in
信息安全知识搜索
推荐时间Google Hacking Database
https://www.exploit-db.com/google-hacking-database/
知识学习三步走
阅读文档、搜索结果、代码
阅读通过阅读,理解其原理
理解自己动手进行测试:搭建环境、
编写代码、漏洞复现
动手测试
推荐几个辅助项目
Sec-News < http://wiki.ioin.in >面向大众的信息安全知识导航,不求“高大上”,只求看得懂
Devdocs < http://devdocs.io/ >在大量官方文档中搜索你需要的知识
Vulhub < https://github.com/phith0n/vulhub >使用Docker,一键启动环境,简单、合法地复现漏洞
信息安全从积累到创造
01从零开始:如何发现知识
02快速成长:那些散落在黑客世界里的 “金子”
03突破瓶颈:掌握“创造技巧”的技巧
04超越大师:集大成者,金声而玉振
信息安全知识积累期
搭建一个博客
博客是你自己的笔记本
,也是你向他人展现自
己的窗口。
加入一个团队
一个活跃团队的内部探
讨对你积累知识影响很
大。
跟踪安全漏洞
跟踪安全事件/漏洞,
以技术为切入点,分析
漏洞原理、利用、影响。
开始参加CTF
CTF是积累安全知识最
快的方法。
官方发布补丁
我的漏洞跟踪过程
开始关注漏洞,预估
漏洞等级和危害
下载新老版本应用,进行补丁分析,寻
找漏洞位置
补丁分析
编写漏洞测试的POC,在本地或
测试环境进行漏洞复现
编写POC
使用无害POC进行漏洞影响探测,定
位漏洞等级
编写漏洞原理和复现的详细分析文章,
并分析影响范围、利用条件等
保存自己的漏洞测试环境(靶场),
方便以后温习
1day测试期
漏洞详细分析
漏洞靶场制作
案例:Joomla 3.7.0 SQL注入漏洞
官方发布补丁
官方发布补丁,民间发布了并不
是特别详细的漏洞报告,但指出
了具体漏洞出现的位置,免去了
分析补丁的过程。
分析原理 & 编写POC漏洞成因并不复杂,但Joomla的
代码庞大,调用关系复杂,需要分
析调用链,并参照漏洞报告中的
说明进行漏洞测试、编写漏洞
POC和漏洞分析文章。
搭建复现环境
编写Dockerfile,搭建基于Docker
的漏洞环境(Vulhub),并使用自
己编写的POC对该漏洞环境进行
攻击,测试矛与盾。
严重程度
!
没有漏洞的时候怎么办?
胖哈勃(Pwnhub.cn)是什么
Research Tool
一个让你在CTF中积累安全知识的社区
让安全知识学习成为闭环
参与CTF比赛
通过参与CTF比赛,
学习新的知识和技巧
阅读他人的Writeup
比赛完成后开放所有选手和官
方的Writeup,查缺补漏
进阶功能
尚未开放的神秘进阶功能,
让CTF和实战紧密结合
讨论
Pwnhub是一个CTF社区,大
量“赛棍”的汇集地
出题
自己出题,考考大家,出题也
有奖励
礼品兑换
通过做题获取积分,兑换
相应的礼品和奖金
Pwnhub社区的现状
敏捷开发 1900 关注者
无限可能...
14 次比赛
4w+ RMB 96 Writeup
信息安全从积累到创造
01从零开始:如何发现知识
02快速成长:那些散落在黑客世界里的 “金子”
03突破瓶颈:掌握“创造技巧”的技巧
04超越大师:集大成者,金声而玉振
从积累期到创造期的转变
走向更大的舞台
知识转变成财富
攥简历
掌握自己的学习方法
新的技术出现,能够迅速通过自
学掌握,使自己永不掉队。
博客、漏洞、证书都是代表自己
能力的简历,做到让安全公司主
动挖你。
通过自己的努力,参加国际安全
会议、比赛,站在更大的舞台
上。
大学期间经济独立,甚至还能赚
到第一桶金,但不要迷信物质奖
励,丧失初心。
令人神往……但须脚踏实地
分享我的方法
捕捉“野生”漏洞的技巧
挖掘“0day”漏洞的技巧
挖掘“0day”漏洞的技巧
了解目标
阅读介绍、文档,了解
目标的功能。
换位思考
如果我是一个程序员,在阅读文
档后可能犯哪些错误。
寻找相关问题
看看目标是否存在和我一样的“错
误”。
构造漏洞及利用
利用自己积累的知识,将“错
误”变成“漏洞”。
案例:PHP-CGI远程代码执行漏洞
阅读RFC3875RFC3875中规定,我们可以在
querystring中向以CGI模式启动
的脚本程序中传入参数。
思考:传参是否可能造成漏洞?
程序员会不会没有考虑这一
点?
PHP-CGI未处理参数
PHP开发者并没有注意到RFC的
规定,而Apache遵守规定给
PHP-CGI传递了参数,二者出现
了差异。
思考:出现了差异为什么会造成
漏洞?
利用PHP技巧执行代码
利用PHP支持auto_prepend_file
的特性,通过传入特殊参数,构造
文件包含漏洞,执行任意代码。
严重程度
!
归纳总结:该漏洞核心是什么?Apache和PHP对参数传递方法有差异
还有哪些漏洞是“差异”造成的?
WAF绕过漏洞
Host: example.com.
利用WAF和Web容器对Host头解析不同来绕过WAF
PHPMailer代码执行漏洞
aaa( -f/var/www/html/s.php )@example.com
利用PHPMailer和RFC对邮箱格式的差异引入空格
购买
蜜罐
分析官方补丁
自己挖掘
询问洞主
智取漏洞平台的补丁
如何发现流向野外的0day和1day漏洞?
重点
高效的补丁分析——GIT源码管理方法
使用GIT管理源代码自动监控官方版本
定时监控官方补丁,自动下载补丁
包或新版本。
将新源码导入原源码,使用GIT对版
本进行管理。
GIT源码管理方法优势
多版本比较 自动化解放空间 团队协作
可以在多个版本之间
比较,而非传统的只比
较最新版和老版本。
无需储存大量小文件,
直接使用Github等线
上工具进行源码管理。
监控补丁 ⇒ 下载补丁
⇒ 覆盖源码 ⇒ 提交更
新 ⇒ 显示diff,一气呵
成,自动化程度高。
利用Git支持团队协作
的特点,可以在团队内
共享一个内部Git,维
护源码版本。
总结:思路扩散,学会用好工具
信息安全从积累到创造
01从零开始:如何发现知识
02快速成长:那些散落在黑客世界里的 “金子”
03突破瓶颈:掌握“创造技巧”的技巧
04超越大师:集大成者,金声而玉振
师傅领进门,修行靠个人,你也许就是下一个大师。