• 11
  • 11
分享
  • 神级测试人员才会的测试技术:黑客之刃扫描器(下)——软件测试圈
  • 曼倩诙谐 2021-06-03 09:58:50 字数 976 阅读 1692 收藏 11

  report命令

  生成测试报告命令。

  命令参数:report [报告名称]。

  注:只有执行过起码一次完整的插件检测才能生成报告,而不是专项漏洞检测,即exec 插件名称,而不是exec插件名称、模块名称。

  输入命令:report webscan。

1-1.png

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

1-2.png

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

  插件的编写

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

1-3.png

  我们的插件编写,先从scan\lib\utils\settings.py全局配置文件开始。

  第一步:先看基础路径配置,整个项目的目录结构就在这里。

1-4.png

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

1-5.png

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

1-6.png

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

1-7.png

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

1-8.png

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

1-9.png

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

1-10.png

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

1-11.png

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

1-12.png

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

1-13.png

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

1-14.png

  第九步:在localapi.py文件下编写本地API调用。

  为什么有本地API调用,因为我打算再写个远程API调用方法,结合安全工具的web服务使用(这一步不是必须的,只有在扩展新的插件才用到,如果在原有插件的基础上新增漏洞检测模块,则可以跳过这一步)。

  本地API函数的格式和基本路径,参考下图:

1-15.png

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



作者:小猪   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   在软件测试行业,许多人渴望攀登到领导层,但往往缺乏明确的方向和策略。本文将基于亲身经历和对身边领导的观察,总结不同领导风格的特点,并提供一些实用的建议,帮助你找到成为领导的正确路径。  一、不同领导风格特点  a. 实干型领导  实干型领导以结果为导向,他们通常对其他方面不太关注,更看重最终的成果。例如,一个项目管理者可能会给团队设定一个明确的交付日期,而不太关心团队成员是如何达成这个目标的。这种风格的优点是能够推动团队高效完成任务,但缺点是可能会忽视团队成员的创新和个人成长。  案例  比如我的前领导就是这种性格的,比较关注她想要的东西,性格比较直,沟通方式优点伤人,下属需要有一点自我情...
            0 0 491
            分享
          • 读者提问:『阿常你好,想请教一下,回归测试如何确定测试范围,如何避免遗漏 ?』阿常回答:三种方式,可以结合起来使用。1、产品 & 开发 助力产品提供需求覆盖的范围,开发指出代码修改涉及的模块。2、测试根据经验分析如果开发修改的是模块A,回归测试时就覆盖模块A,根据测试经验判断模块 B 关联了模块A,回归测试时就覆盖模块A和模块B。3、用例关联矩阵分析用例中标识与之关联的其他用例,回归测试时,此用例回归,与之关联的其他用例也回归;建立代码块和用例对应的矩阵,回归测试时,根据修改的代码块,找到对应的回归用例。阿常碎碎念:以上,12应该是企业中常见做法,3落地有些难度。看完今天的分...
            0 0 1458
            分享
          • 框架是Web架构开发中必不可少的工具,不仅可以提高开发效率,还能让开发项目更成熟,并且可以提升代码的可再用性,Web框架开发离不开相应的开发语言,以下是常用的Web架构开发语言:1、Node.jsNode.js是运行在服务器端的非阻断、异步I/O、事件驱动的JavaScript,是基于ChromeJavaScript运行时建立的一个平台,可以实现js在服务器端的编译,而且拥有更好的组织代码,提升复用性,非常适合在分布式设备上运行数据密集型的实时应用。2、PHPPHP是Web架构开发常用语言,PHP开发了很多Web框架,如Zendframework、CakePHP、ThinkPHP等,PHP独特...
            0 0 1236
            分享
          •   苹果公司暂时停止了即将推出的 iOS、iPadOS、macOS、watchOS 和 visionOS 更新的新功能开发工作,以便集中精力提高质量和消除错误。软件工程主管克雷格-费德里吉(Craig Federighi)上周下令暂停开发一周,因为内部测试发现早期版本的软件存在太多"逃逸"的问题或错误。  据彭博社记者马克-古尔曼(Mark Gurman)报道,所有负责明年软件更新的苹果开发人员的任务都是修复已知问题和提高性能,而不是增加新功能。这次暂停将影响 iOS 18 和 iPadOS 18 的代号为"Crystal"的操作系统版本、macOS 1...
            0 0 880
            分享
          •   Web方面的测试,就是我们通常所说的是对在浏览器运行的页面进行测试。也即是B/S结构的测试。  Web测试,其实是前人通过总结而来。具体指下面几个方面:web测试点  1、链接  指方面的URL地址;要点:  1) 检测是否正确;  2) 检测是否明文或者加密显示;  3) 修改URL的子路径,如输入不存在的URL地址,检测页面是否有404错误页面提示。  4) 检测URL地址是否能正常跳转等等。  2、界面  1) 检测UI排版是否正确;  2) 检测界面的按钮或者可操作的功能,是否显眼;重要的功能或者文字是否高亮显示。  3) 图片是否快速显示;  4) 数据是否快速加载显示等等  3...
            0 0 659
            分享
      • 51testing软件测试圈微信