渗透测试入门27之渗透测试学习建议
报名入口来源:中国教育在线 2022-05-31
最近发现很多小伙伴都在问我想要学习渗透测试,但是不知道怎么开始,也不知道要学习什么?所以在这里我打算分享一下我的渗透学习之路以及给初学者的一些建议。
我的学习之路
转眼间,我从学习渗透测试到工作也快六年了,记得刚开始接触安全是在 2012 年初,刚进入实验班的时候,在之前曾经在图书馆借了一本《黑客笔记》来看,回到寝室看了两页,完全一脸懵逼,一点看不懂,然后就原封不懂的还回去了。我考入大学时的专业是网络工程,跟安全并不沾边,身边也没有做安全的同学,由于学校全校选拔实验班,所以才有了接触安全的机会,进入实验班后就开始了我的安全之路。
回想当时学习安全时的场景,由于之前学过数据库、数据结构、c 语言等专业课,但是对于安全来说帮助并不是很大,所以也算是从零开始学安全。希望我的这些经历能对大家的安全学习之路有所启发。
当时我看的第一本安全资料是 txt 版的《黑客笔记》,还是我们班学习委员分享给我的,在当时一点基础都没有的时候,看起来是非常费劲的跟我大一的时候看是一个效果,但是,既然已经进入了实验班,以后要走这条路就不能像大一的时候那样放弃,所以就硬着头皮一点一点的看,即使当时看不明白,没关系,能够在自己的脑海中留下一点印象就足够了。再后来,我们的网络攻防课给我们发了一本黑客书籍《黑客攻防技术宝典- web 实战篇》,同样硬着头皮把它看完一遍,在看书方面基本也就完整看了这两本书。
如果只是看书的话是非常无聊的,大家都深有感触,尤其是在看不懂的情况下。如何解决这个枯燥的问题呢?我当时的解决办法是:
1.保持足够的兴趣才能坚持下去
2.寻找志同道合的朋友或者组织一起学习一起交流
3.参加CTF比赛,在比赛时会遇到很多有趣的知识点,针对自己的不会的知识点进行逐一理解
4.在学习技术的同时,整理自己学到的东西,然后分享在自己混迹的组织之间
5.在网上寻找有漏洞的网站,进行实战,在获取到权限之后也会提升自己的成就感(目前大家可以拿国外的站点练手,不要选择敏感目标,切记)
我第一个参与的组织是AG 安全团队,当时还在玩 YY ,一起玩耍一起学习,后来就在老K的引导下加入了 90sec ,然后每天看看论坛的文章,基本上把论坛之前发过的所有文章都看了一遍,然后把自己在学习中总结的所有知识发到论坛,这样在大家的鼓励下,学习的激情会逐步提升,在体现自己能力同时学习技术,这就是在学生时代的成就感。
在毕业之前学习的安全知识基本上是以 web 为主,毕竟在安全领域,web 安全占据了主导地位,涉及面非常广,有关内网安全、外围服务安全等知识都是在工作后才接触的,这里就不多说了。
如何做一个脚本小子
针对没有一点基础想要入行的同学,一个初级渗透测试工程师所要做到的目标是,在拿到一个目标之后,可以利用自己掌握的所有安全工具,对网站进行全面的检测与利用,刚开始就去学原理会有点乏力,所以切入点可以先从一个脚本小子做起。
对于 web 安全工具,我当年玩的啊D、明小子、穿山甲、萝卜等注入工具,现在都很少有见了,都基本可以用 sqlmap 来代替,所以玩注入一定要把 sqlmap 用熟练,在学会编写 sqlmap 支持的 tamper ,那么你就可以解决大部分的注入问题的利用。
当年玩上传截断是用的 WSockExpert 抓包然后用 winhex 添加截断符最后用 nc 提交,多麻烦,在现在的神器 burp 面前简直弱爆了,所以 burp 也是初学者一定要掌握的工具。burp 不只是用在这里,还可以爆破一切 web 应用,如:后台、wenshell 密码、目录枚举等,还自带编码解码功能,还支持很多的自定义插件,所以学习 burp 也是非常重要的。
当年玩扫描,一般用 s扫描器、superscan、x-scan 等,如今的 nmap 可以做所有的扫描操作,也能自定义扫描脚本,功能强大是公认的,所以学习这个工具的使用也是非常必要的。
作为一个脚本小子,不需要知道很多的漏洞原理以及如何防护,只需要做到熟悉网络上存在的所有安全工具的使用方法,以及这个工具有什么用,针对什么样的漏洞使用,在什么样的情况下使用。在做到这一点的时候,你已经拥有了初级渗透测试工程师的能力,你可以自己完成一定的渗透测试工作了。
如何提升自己段位
在你成为一个脚本小子之后,虽然可以做一定的渗透测试工作,在别人对漏洞做了一定的防护的时候,工具的智能化并不能及时满足需求,所以这个时候,脚本小子就无能为力了,所以就要提升我们自身的能力才能完成我们的渗透测试的功能。
由于业务的驱动,我们不得不提升我们的段位,否则将会被淘汰。要想成为一个中级渗透测试工程师需要做的,就是把我们之前所有会用工具以及知道的漏洞这些原理弄明白,这样即使网站做了一定的防护,在我们的测试下,了解其防护措施然后有针对性的绕过,在这个过程中,你的实力就会不由自主的提升,不过到达这一步的时候你也就不用我建议,你也可以自主完成学习并且进步。
平时养成以下的习惯:
1.能够把自己的学习成果记录下来,在下次遇到的时候可以快速拿出来并且使用
2.多关注一些好的技术博客,像 sec-wiki、长亭的wiki、安全客、freebuf等
3.可以关注一下国外的安全 wiki,如:reddit