如何自己开发漏洞扫描工具( 四 )


文章插图
 
第八步:编写检测漏洞模块,以attacks插件下的bshi(破壳漏洞检测)检测模块为例,
导入必须的核心库:

如何自己开发漏洞扫描工具

文章插图
 
创建漏洞检测类,继承Request类,类名需与文件名一致
如何自己开发漏洞扫描工具

文章插图
 
编写的漏洞检测方法,统一命名为check:
如何自己开发漏洞扫描工具

文章插图
 
最后编写run方法,命名不建议修改,如果实在需要修改的话,还需要在第九步中修改对应的模块导入逻辑:
如何自己开发漏洞扫描工具

文章插图
 
第九步:在localapi.py文件下编写本地API调用,为什么有本地API调用,因为我打算再写个远程API调用方法,结合安全工具的web服务使用(这一步不是必须的,只有在扩展新的插件才用到,如果在原有插件的基础上新增漏洞检测模块,则可以跳过这一步)
本地API函数的格式和基本路径,参考下图:
如何自己开发漏洞扫描工具

文章插图
 
总结下扩展逻辑就是,命名插件便于统一管理模块,模块编写按固定格式,本地API编写用于按指定插件运行检测模块,该扫描器的检测模块还可以继续更新扩展 。
本人对安全测试其实了解的很少(对于软件测试人员来说,多少要了解一点),主要是因为当时学了几天Python语法和应用部署,想检验一下自己的掌握情况,就拿这个开源项目来研究,对于会JAVA的人来说,学Python应该也快,当然学精也不容易 。这款开源工具的扩展性还不错,Python好像天生就有漏扫的天赋,对安全测试感兴趣的人可以了解一下这款工具 。




推荐阅读