网络安全入门的初思考~

常常会看到有人问“小白如何成为挖洞大神”,很多刚开始接触网络安全的同学都可能会遇到这个问题,思考过这类问题。

如何成为大神这个问题太难了,我很难回答。不过,我觉得不论学习什么,都是一个过程,今天就跟大家分享一下我的一些心得吧~

1

首先最重要的就是知识!知识!知识!

知识面不够、深度不深,就想着挖洞,这是非常不合理的,不想多解释。

正所谓:

当我们穷到连知识都不想积累的时候,我们挖的不是洞,挖的是浮躁。

2

多去实战

小学乃至高中,老师讲完课会留练习题给大家做的,这是小孩子都懂得道理。那么,我们在学习了一些安全知识、攻击技巧、工具使用之后,我们就完事大吉了?这样不仅无法深入理解这些知识,更容易随着时间推移快速忘却,安全之路原地踏步。

最好的状态是,学习任何一个知识、或者比如在i春秋看到一篇比较好的技术文章,都能快速的构建自己的实战场景,实战要做到“快”。之前加过一个好友,最开始学的是sql注入,打算用sqlmap,结果搞了两天,sqlmap没有装上。学习受阻,会极大降低结果产出,甚至不了了之。

当我们实战还无法快的时候,需要反思问题在哪,快速构建好一个实战场景,是提升能力的关键。不过,不要为了快感而不停的去实战。某个漏洞已经掌握了,却还在用这个漏洞不停地刷,这就不对了,去做其他更有意义的事情、学习更多的知识去。

有些人会了几个漏洞,天天靠着这点经验去各种小网站挖,他们挖的不是洞,是寂寞。

3

积累经验

多积累自己的经验,整理自己的心得,这样才能对得起自己,不是么?以前乌云在的时候经常有人说,多去乌云看看人家怎么攻击的,学学人家思路。别人的经验,是用来学习的;自己的经验,是用来沉淀的。自己多总结,比如多写blog,写多了视野也就宽了,会发现又学会了很多更深入的知识,或者理解的更透彻、更充实。

当你不愿积累,只想一路狂奔,你挖的不是洞,是空虚。

网络安全入门的初思考~

我喜欢把事情梳理成环状,不喜欢做非持久的事情。就像上图,是我自己总结的,图也是自己画的,我的想法是:

安全知识掌握的越多,我们才有能力去实战更多,实战越多,经验就会越丰富,而丰富的经验有助于我们去接受更全面、更深入的知识,最终形成良性闭环。

好了,不吹牛逼了,接下来说点务实的例子。以下内容均为主观想法,若有异议,欢迎喷,也欢迎讨论。

哪些知识重要?

linux操作系统、网络原理、数据库,没了。

我就想研究web安全,不需要上面知识吧?其实不然,很多XSS的检测程序都是linux上运行的,你要是想写一个xss自动检测脚本,可能也会在linux平台运行。有些xss,为了快速试水进行测试,可能需要抓包、改包,对网络不了解,总归有时候会不顺畅。还有这种案例,通过sql注入篡改页面,最终xss劫持所有用户。

我觉得,linux是安全测试的较好平台;我们的任何攻击,离不开网络;企业的存储,离不开数据库。

linux:鸟哥的linux私房菜——基础学习篇

网络:HTTP权威指南

数据库:sqlmap源码通读,集成了所有sql攻击精髓

工具的使用

工具很重要,工具可以让我们快速、容易地尝试攻击,并通过攻击,来学习原理。一个好的安全测试人员,手头会有大量的工具。

常见工具都有哪些?i春秋的实验室,里面涵盖了大量的工具,对于新人有很好的参考价值,如图。

网络安全入门的初思考~

但是,我不建议搞太多工具,有些工具就不要再花时间和经历深入研究了,做个简单了解就好了。

就拿sql注入来说,有明小子、啊D注入等等,我建议不要再研究这些有时代回忆的工具了,这些工具不是不好,而是有些过时了。我觉得更应该花时间研究sqlmap,深入sqlmap,甚至针对特定场景给sqlmap写插件,以及尝试用brupsuit和sqlmap进行组合使用,这样才有意义。和同类其它工具相比sqlmap更具有:

功能强大,基本覆盖了啊D注入等工具的功能

社区支持,定期更新

扩展性强,支持开发者自行编写插件

平台移植,多平台通用,适用群体广

好的工具,不一定要具备上面的特点,但是我们要学会区分,尽量选择专业的工具,做专业的安全测试。

当然,有些经典,不会被时间的潮水所冲退,永远值得致敬:中国菜刀

工具重要么

我很矛盾,刚说了工具很重要,又来问工具重要么。。。

工具重要,因为工具是利器。但也不是那么重要,因为怎么使用工具、组合工具、自己针对特定场景开发满足需要的工具,更重要。可以参考这篇问题网站漏洞,能通过手工注入渗透吗?,我的回答:

说下我的个人理解,我觉得所有自动安全检测、黑客工具,这些都只能算作工具。

工具是“工作时所需要的器具”,而使用工具的人才是重点,不能只停留在工具层面,大部分成熟网站都不会直接被工具扫描到漏洞的。不然,大公司的安全部门,岂不是打酱油了?

我在安全方面一点都不厉害,甚至比较菜,不过我知道提升安全最重要的是经验。工具的教程到处都有,多学学多练练,“学精”只是时间问题。而重点,其实是提升经验,经验多的人,才会知道如何运用工具,在关键突破点上运用它。

当我们还处于被动使用工具检测时,说明我们经验太少,要学会主动使用工具。

举几个例子

网络安全入门的初思考~

1

对一个网站进行安全测试,直接上wvs跑,没问题,就真的没问题了么?

不见得,注册、找回密码、验证码突破,这些流程肯定都扫不到,这些是需要半人工半自动才能检测出来漏洞的。

在对大网站进行检测时,我每次都会花至少半个小时,详细的整理目标网站完整的账号流程,每一次数据传递、页面或流程的跳转,都要画到流程图中,然后看图,寻找每一个节点是否可能存在漏洞。可能的,就花时间深入分析,分析的时候就会用到各种工具,比如brupsuit、sqlmap、社工库等等。

这方面经验,也有很多可以参考,比如以前乌云库整理的密码找回漏洞挖掘流程:

网络安全入门的初思考~

除了这个,可能短信验证码也存在问题,也可以花时间测试:短信平台相关常见问题整理

2

sql注入

我遇到过一些sql注入的点,都不是直接复制url地址传给sqlmap -u参数就能跑的。而普通工具,一般只能检测最简单的get和post。

对于一些数据进行处理过的,特别是js进行数据封装后才传给服务器的,直接跑注入脚本,网站接口肯定报错,格式不正确。

这里就需要有一定的接口调用经验、js经验,摸索出来网站数据传输做了什么特殊处理、是否有加密等等。

比如有的网站,检测提交文章注入点,post参数中是传了unixtime时间戳过去的,而时间戳太久,接口会报错。那么就需要每次提交的时候,更新时间这个参数。

再比如,有的网站登陆,密码是md5加密过才传输的,服务器对密码长度后台做了32位判断,我们进行注入检测时候,就需要每次sql注入都把参数变成32位,不足的用注释方式补全,超过32位的构造语句就要放弃。这个就完全不能直接用sqlmap来跑了。

3

目标网站目录扫描

对于有waf的网站来说,你直接用御剑扫描,可能刚扫了10个url地址他就给你封了。

等御剑扫描完毕,肯定会显示没有敏感目录泄露,没有经验的就会放弃了。

实际上,很可能有敏感目录泄露,而我们没发现。所以,每次扫描不到,我都会手动去目标网站进行尝试,发现网站都不能访问了,肯定说明ip被防火墙封了。

一般这类waf机制,都是异步延迟封锁,也就是你扫描了一定数量请求,才对此ip封锁。

那么解决办法就是,ip代理。

最简单的思路,直接把御剑的字典拿来用,然后用python写个脚本调用url库,每发几个请求就换一个代理,网上免费代理也很多。最终,还是可以成功的。

这个过程,工具没有用么?当然有用啊,御剑的字典起到了关键作用,但是御剑本身就不能直接用。

漏洞场景的制作

我们学会了一个漏洞原理、或者了解到了一个最新的漏洞被公开,这个时候,大家最迫切的就是想测试。

但是,很多新人会有测试瓶颈,因为无法快速构建一个测试环境。比如,某天曝了一个wordpress 某某版本存在sql注入,如果我们的电脑环境没有php,那么还要自己创建环境。就算有php环境,部署特定版本wordpress也可能会遇到各种困难。

试想这个场景:

手握最新漏洞,怎奈测试环境不会弄,无处使用?

怎么办呢:

待到水复山重,将我办法记心中!

有两个网站,非常不错。一个是shodan,一个是zoomeye,类似产品有很多,但我只推这两款。这是什么工具呢?你可以把他们理解成搜索引擎,但是收录的不是常规网页,而是收录的服务器信息,端口信息,网站信息等等。

我觉得,这两个平台,是渗透测试人员非常好的打靶场!

这里主要介绍下zoomeye,谁叫我喜欢余弦呢,最初的zoomeye就是他主导负责建立的。

网址:https://www.zoomeye.org/

直接切入主题,高级搜索:

网络安全入门的初思考~

这里面,可以选择非常多的选项,帮助我们筛选网络空间中满足需求的服务器。

以下测试均为真实操作,不承担法律责任,请大家谨慎使用。

比如discuz的一个古老的漏洞,discuz X1.5版本,存在sql注入,可以利用sql注入上传文件,最终拿下服务器。

我们以这个漏洞为例子,并选择国家为日本(国内服务器、政府、机构尽量别惹):

网络安全入门的初思考~

搜索后,我们得到了大量服务器,注意:

这些服务器中,很大一部分都会存在漏洞!!!明白了吧,靶场怎么找!

网络安全入门的初思考~

挑一个200 ok的网址,然后拿着poc代码跑一下,利用漏洞将“马儿”上传到服务器。

当然,高雅一点的攻击者,会选择一些萌妹子的网站,比如这个(打了马赛克了):

网络安全入门的初思考~

利用sql注入上传文件,再用菜刀连上,以后萌妹子天天看:

网络安全入门的初思考~

另外,对于搜索一些漏洞,shodan做的很强大:

https://exploits.shodan.io/

网络安全入门的初思考~

这里给个建议:

shodan和zoomeye都非常好用,在搜索常见框架版本漏洞时zoomeye更擅长,shodan在漏洞查找等其他方面,感觉做的更好一些,建议两者都用,有时候也可以结合着使用,这样获得的数据更全面。

discuz x1.5漏洞利用代码下载:

https://www.seebug.org/vuldb/ssvid-20681

多积累经验

我们要多去积累经验,推荐新人多去写blog,不要嫌弃自己写的blog技术门槛低,谁又不是从低走向高的呢?

推荐几个blog,值得学习,供参考(我只提供经常更新的良心blog,讲究吧):

Solo https://blog.medowo.me/

离别歌 https://www.leavesongs.com/

3xp10it http://3xp10it.cc/

lostwolf 's bloghttp://wolvez.club/

王松_Striker 安全盒子创始人http://www.hackersb.cn/

HackBraid http://www.cnbraid.com/

Flanker Sky https://blog.flanker017.me/

还有,推荐大家一款工具:XMIND,这款工具主要是帮助我们构建思维导图。通过思维导图,我们可以非常清晰地梳理所学的知识,包括但不限于漏洞的分类、攻击流程分析、所学知识汇总等等。

具体可参考:各种安全思维脑图(戳原文链接下载)

网络安全入门的初思考~

写在最后,送给那些还在坚持学习安全的人们:

找寻

夏之冰雪

2015-12-25

雾霾遮挡住月色朦胧

让我不去喘息

在这个年底

忧郁着不想去回忆

面对这苍白的显示器

好像看到自己

听到了他们

鼠标的一声声点击

疲倦的目光带着期许

多久给我答复

躁动的心悸

谁在诉说青春美丽

噢,梦想

那不是我的唯一

噢,梦想

那就是我的所有

人们还在努力

我应该像他们那样学习

可是我想要的

相似不曾识

相见不能爱


分享到:


相關文章: