代码审计入门实战
作者:月亮警察针灸你
安全类的公众号大大小小的关注了两百多个,经常看到标题为“实战|记一次xxx漏洞挖掘”、“某xxx网站渗透实战”之类的文章。
不知道大家是不是跟我一样,每次都会点进去看,学习作者的渗透思路。
包括在合天网安实验室去年开设的网安讲堂上,也有很多关于挖洞经验的公开课,学习人数恒河沙数。
那么什么是漏洞发现过程?
在某些方面漏洞发现过程就像解决迷宫、拼图之类的难题,也像一款很火的烧脑益智冒险类游戏——密室逃脱。
挖掘漏洞的过程就像从密室中逃脱一样,需要发现细节、分析推理并且借助工具才能完成。细品那些疑似漏洞的误报是不是很像密室中突然冒出来干扰你正常思路的NPC。
和留言板中直呼大佬
的读者一样,我每次看完大佬们的渗透记录,也是如饮醍醐。甚至于经常被这种“记一次xxx漏洞挖掘”之类的标题所吸引,来不及领会的时候就放到收藏夹。堆积如山的除了需要学习的漏洞挖掘思路,更多的是每看完一篇的思路总结。
学而不思则罔,思而不学则殆。学习贵在实践、贵在转化、贵在总结,安全学习更应该边看边动手,把大佬们的技巧转化成自己的思路,并且定期总结。
从源码泄露到代码审计
相信很多人在尝试一个攻击手法时,都会从代码开始研究。去年年初的时候我还写过一篇关于代码审计的记录文章:代码审计入门实战,对PHP的几个危险函数粗略地进行了总结。
文章中提及的几个危险函数使用实例在合天网安实验室上也有相关的课程练习,名为PHP函数漏洞审计。在实践练习的过程中,我发现还有另一个课程——PHP代码审计最佳实践,其中关于常见Web漏洞的代码分析思路,完全就是我下一篇《代码审计进阶实战》的文章构造。 课程详细地介绍了SQL注入、XSS、命令注入、文件上传等漏洞的产生原理及挖掘方法。
课程链接:
文章好像都不用写了,感兴趣的自己学习课程PHP代码审计最佳实践吧。
代码审查还有可能涉及到逆向工程分析,在合天网安实验室上也有很多逆向分析相关的实验,我对逆向不太了解,就不班门弄斧了。
工欲善其事必先利其器
审查代码需要花费很多的时间和精力,而且在实际漏洞挖掘过程中,遇到的更多是不提供源代码的情况,这就需要我们借助一些工具型软件对应用程序的数据执行进行监视。
实验漏洞扫描介绍了漏洞扫描技术的原理和如何使用burp suite对目标网站进行渗透扫描:
众所周知,AWVS也是一款知名的网络漏洞扫描工具,通过网络爬虫测试并检测目标网站的安全漏洞,深受业内人员的喜爱。
通过课程AWVS使用教程学习AWVS的相关配置,使用AWVS进行子域名扫描和Web服务器扫描等:
除了bp和AWVS,还有Nessus、AppScan、Wscan、WebCruiser等漏洞扫描工具,可以在课程渗透扫描工具使用中进行练习:
心中有树,手中创林
在学习实战挖掘某FTP服务器溢出漏洞实验的时候,用提交漏洞报告的作者给出的poc在系统中进行测试,发现漏洞利用失败了。其实在漏洞利用过程中,经常会遇到使用别人的脚本攻击失败的情况,有时候是系统不同的原因,有时候是代码本身的问题。同样在实验实战挖掘Mini-stream_Ripper缓冲区溢出漏洞中也需要编写自己的exploit,控制程序的执行流程,将恶意数据写入程序。 对没有编程基础的人来说,这样的练习可能会显得不太友好。比如在测试开源的漏洞挖掘工具时,突然想结合其他的功能一起使用,和课程用Python打造实用工具中提及的类似,拥有自己的专属利器:
当然如果想系统地学习漏洞批量扫描工具的开发,提高漏洞挖掘效率,可以看看蚁景网安学院最新的Python安全开发特训班:
我也是最近才了解到,看这个课程大纲感觉还挺诱人的,包括主机发现、端口探测、子域名获取、指纹识别;还有未授权、SQL注入、弱口令漏洞的检测:
他们还不定期地在腾讯课堂和b站开设黑客入门课程、实战训练营什么的,感兴趣的可以了解一下,反正两分钱去不了澳门也到不了香港。
回归到问题上来:为什么大家都喜欢看‘记一次xxx漏洞挖掘’之类的文章?
大概是看多了“为什么要学习网络安全“、“怎么入门Web安全”之类的文章,受国家战略趋势及网络安全发展前景的影响,越来越多的年轻人投身于安全研究与服务行业。在积累了一定的基础之后,通过学习大佬们的渗透记录,巩固自己的知识框架。
其实根据不同的应用场景及技术实现,网络安全也分为很多种领域,包括安全运维、Web安全、云安全、移动安全、工控安全、无线安全、数据安全等。
庆幸于自己的兴趣能够成为工作的动力,也希望大家能找到合适的发展方向,当然也不能受利益驱使做违法的事情。
合天智汇:合天网络靶场、网安实战虚拟环境