神级测试人员才会的测试技术:黑客之刃扫描器(下)

发表于:2021-5-12 09:36

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小猪    来源:51Testing软件测试网原创

#
黑客
  report命令
  生成测试报告命令。
  命令参数:report [报告名称]。
  注:只有执行过起码一次完整的插件检测才能生成报告,而不是专项漏洞检测,即exec 插件名称,而不是exec插件名称、模块名称。
  输入命令:report webscan。

  按照提示显示的目录,打开测试报告,报告格式是html的:

  好了,以上就是使用扫描器的所有命令和完整的执行流程。

  插件的编写
  大家按章节一的下载地址下载工具后,用vscode或者你顺手的工具打开,插件扫描器就在scan目录下。

  我们的插件编写,先从scan\lib\utils\settings.py全局配置文件开始。
  第一步:先看基础路径配置,整个项目的目录结构就在这里。

  第二步,配置字典路径,漏洞检测模块需要用到的字典,统一放在这个路径下。

  第三步:配置插件路径,新增的插件统一按下面的格式配置。

  第四步:配置插件描述信息,和第三步的插件路径是对应的。

  第五步:配置漏洞模块描述信息,和第四步的插件描述是对应的。

  第六步:配置漏洞模块路径信息,和第四步的插件描述是对应的。

  第七步:编写插件的加载模块方法。统一命名规则,插件名成_plugins()[全部模块执行方法];spec_插件名称_plugins(key:str)。

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

  创建漏洞检测类,继承Request类,类名需与文件名一致。

  编写的漏洞检测方法,统一命名为check:

  最后编写run方法,命名不建议修改,如果实在需要修改的话,还需要在第九步中修改对应的模块导入逻辑:

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

  总结下扩展逻辑就是,命名插件便于统一管理模块,模块编写按固定格式,本地API编写用于按指定插件运行检测模块,该扫描器的检测模块,我会持续更新,谢谢大家关注。

      版权声明:本文出自51Testing会员投稿,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号