41
信息安全从累到phithon 亭科技 安全工程,超越大

信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

信息安全从积累到创造

phithon长亭科技 安全工程师

成为大师,超越大师

Page 2: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

Phith0n

https://www.leavesongs.com

● 长亭科技安全/开发工程师

● 原乌云核心白帽子/安全研究者/Bug Hunter

● Pwnhub开发人员

Page 3: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

信息安全从积累到创造

01从零开始:如何发现知识

02快速成长:那些散落在黑客世界里的 “金子”

03突破瓶颈:掌握“创造技巧”的技巧

04超越大师:集大成者,金声而玉振

Page 4: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

信息安全初学者该如何入门?

80%

Page 5: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

拿到资料 ⇒ 看不懂 ⇒ 放弃

50%

Page 6: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

“看文档不如看书,看书不如看视频,视频又没耐心看”

60%

Page 7: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

如何更高效地自学信息安全

1. 基础:编程、英语、表达能力

2. 找到一个研究方向

3. 阅读 ⇒ 理解 ⇒ 自己动手

4. 加入一个团队

5. 涉猎可以广泛,但主业须专注

Page 8: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

别讲大空话了Bie Jiang Da Kong Hua Le

Page 9: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

我推荐的代码学习路线

C语言

Java

理解大部分语言的运行方式,包括变量、

函数、指针、流程控制等概念

理解面向对象的编程思想

一门脚本语言

用脚本语言辅助工作,增加效率

Page 10: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

推荐几本基础的编程书籍

《C和指针》

经典著作,在了解C语言语法后,建议阅读的一本进阶书籍。

《Head First Java》学Java不适合读,但学面向对象非常适合读的一本书。

《Python3 Cookbook》一本Python工具书:http://www.lizenghai.com/doc/python3-cookbook/

Page 11: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

了解一个陌生技术最快的方法是什么

Page 12: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

了解一个陌生技术最快的方法

绝大多数文档能解决你绝大多数的问题

我最欣赏的官方文档:MSDN和PHP文档

官方文档

一个“黑客”需要了解哪些搜索引擎技

巧?

搜索引擎

Page 13: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

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

信息安全知识搜索

Page 14: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

推荐时间Google Hacking Database

https://www.exploit-db.com/google-hacking-database/

Page 15: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

知识学习三步走

阅读文档、搜索结果、代码

阅读通过阅读,理解其原理

理解自己动手进行测试:搭建环境、

编写代码、漏洞复现

动手测试

Page 16: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

推荐几个辅助项目

Sec-News < http://wiki.ioin.in >面向大众的信息安全知识导航,不求“高大上”,只求看得懂

Devdocs < http://devdocs.io/ >在大量官方文档中搜索你需要的知识

Vulhub < https://github.com/phith0n/vulhub >使用Docker,一键启动环境,简单、合法地复现漏洞

Page 17: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

信息安全从积累到创造

01从零开始:如何发现知识

02快速成长:那些散落在黑客世界里的 “金子”

03突破瓶颈:掌握“创造技巧”的技巧

04超越大师:集大成者,金声而玉振

Page 18: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

信息安全知识积累期

搭建一个博客

博客是你自己的笔记本

,也是你向他人展现自

己的窗口。

加入一个团队

一个活跃团队的内部探

讨对你积累知识影响很

大。

跟踪安全漏洞

跟踪安全事件/漏洞,

以技术为切入点,分析

漏洞原理、利用、影响。

开始参加CTF

CTF是积累安全知识最

快的方法。

Page 19: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

官方发布补丁

我的漏洞跟踪过程

开始关注漏洞,预估

漏洞等级和危害

下载新老版本应用,进行补丁分析,寻

找漏洞位置

补丁分析

编写漏洞测试的POC,在本地或

测试环境进行漏洞复现

编写POC

Page 20: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

使用无害POC进行漏洞影响探测,定

位漏洞等级

编写漏洞原理和复现的详细分析文章,

并分析影响范围、利用条件等

保存自己的漏洞测试环境(靶场),

方便以后温习

1day测试期

漏洞详细分析

漏洞靶场制作

Page 21: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

案例:Joomla 3.7.0 SQL注入漏洞

官方发布补丁

官方发布补丁,民间发布了并不

是特别详细的漏洞报告,但指出

了具体漏洞出现的位置,免去了

分析补丁的过程。

分析原理 & 编写POC漏洞成因并不复杂,但Joomla的

代码庞大,调用关系复杂,需要分

析调用链,并参照漏洞报告中的

说明进行漏洞测试、编写漏洞

POC和漏洞分析文章。

搭建复现环境

编写Dockerfile,搭建基于Docker

的漏洞环境(Vulhub),并使用自

己编写的POC对该漏洞环境进行

攻击,测试矛与盾。

严重程度

!

Page 22: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

没有漏洞的时候怎么办?

Page 23: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

胖哈勃(Pwnhub.cn)是什么

Research Tool

Page 24: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

一个让你在CTF中积累安全知识的社区

Page 25: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

让安全知识学习成为闭环

参与CTF比赛

通过参与CTF比赛,

学习新的知识和技巧

阅读他人的Writeup

比赛完成后开放所有选手和官

方的Writeup,查缺补漏

进阶功能

尚未开放的神秘进阶功能,

让CTF和实战紧密结合

讨论

Pwnhub是一个CTF社区,大

量“赛棍”的汇集地

出题

自己出题,考考大家,出题也

有奖励

礼品兑换

通过做题获取积分,兑换

相应的礼品和奖金

Page 26: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

Pwnhub社区的现状

敏捷开发 1900 关注者

无限可能...

14 次比赛

4w+ RMB 96 Writeup

Page 27: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

信息安全从积累到创造

01从零开始:如何发现知识

02快速成长:那些散落在黑客世界里的 “金子”

03突破瓶颈:掌握“创造技巧”的技巧

04超越大师:集大成者,金声而玉振

Page 28: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

从积累期到创造期的转变

走向更大的舞台

知识转变成财富

攥简历

掌握自己的学习方法

新的技术出现,能够迅速通过自

学掌握,使自己永不掉队。

博客、漏洞、证书都是代表自己

能力的简历,做到让安全公司主

动挖你。

通过自己的努力,参加国际安全

会议、比赛,站在更大的舞台

上。

大学期间经济独立,甚至还能赚

到第一桶金,但不要迷信物质奖

励,丧失初心。

Page 29: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

令人神往……但须脚踏实地

Page 30: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

分享我的方法

捕捉“野生”漏洞的技巧

挖掘“0day”漏洞的技巧

Page 31: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

挖掘“0day”漏洞的技巧

了解目标

阅读介绍、文档,了解

目标的功能。

换位思考

如果我是一个程序员,在阅读文

档后可能犯哪些错误。

寻找相关问题

看看目标是否存在和我一样的“错

误”。

构造漏洞及利用

利用自己积累的知识,将“错

误”变成“漏洞”。

Page 32: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

案例:PHP-CGI远程代码执行漏洞

阅读RFC3875RFC3875中规定,我们可以在

querystring中向以CGI模式启动

的脚本程序中传入参数。

思考:传参是否可能造成漏洞?

程序员会不会没有考虑这一

点?

PHP-CGI未处理参数

PHP开发者并没有注意到RFC的

规定,而Apache遵守规定给

PHP-CGI传递了参数,二者出现

了差异。

思考:出现了差异为什么会造成

漏洞?

利用PHP技巧执行代码

利用PHP支持auto_prepend_file

的特性,通过传入特殊参数,构造

文件包含漏洞,执行任意代码。

严重程度

!

Page 33: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

归纳总结:该漏洞核心是什么?Apache和PHP对参数传递方法有差异

Page 34: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

还有哪些漏洞是“差异”造成的?

WAF绕过漏洞

Host: example.com.

利用WAF和Web容器对Host头解析不同来绕过WAF

PHPMailer代码执行漏洞

aaa( -f/var/www/html/s.php )@example.com

利用PHPMailer和RFC对邮箱格式的差异引入空格

Page 35: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

购买

蜜罐

分析官方补丁

自己挖掘

询问洞主

智取漏洞平台的补丁

如何发现流向野外的0day和1day漏洞?

重点

Page 36: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

高效的补丁分析——GIT源码管理方法

使用GIT管理源代码自动监控官方版本

定时监控官方补丁,自动下载补丁

包或新版本。

将新源码导入原源码,使用GIT对版

本进行管理。

Page 37: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

GIT源码管理方法优势

多版本比较 自动化解放空间 团队协作

可以在多个版本之间

比较,而非传统的只比

较最新版和老版本。

无需储存大量小文件,

直接使用Github等线

上工具进行源码管理。

监控补丁 ⇒ 下载补丁

⇒ 覆盖源码 ⇒ 提交更

新 ⇒ 显示diff,一气呵

成,自动化程度高。

利用Git支持团队协作

的特点,可以在团队内

共享一个内部Git,维

护源码版本。

Page 38: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

总结:思路扩散,学会用好工具

Page 39: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

信息安全从积累到创造

01从零开始:如何发现知识

02快速成长:那些散落在黑客世界里的 “金子”

03突破瓶颈:掌握“创造技巧”的技巧

04超越大师:集大成者,金声而玉振

Page 40: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

师傅领进门,修行靠个人,你也许就是下一个大师。

Page 41: 信息安全从 累到 - leavesongs.com · GIT源码管理方法优势 多版本比较 解放空间 自动化 团队协作 可以在多个版本之间 比较,而非传统的只比

Thanks

Bloghttps://www.leavesongs.com

微博

@phithon别跟路人甲BB

邮箱

[email protected]