首页天道酬勤java开源框架有哪些,扫描网站漏洞工具

java开源框架有哪些,扫描网站漏洞工具

张世龙 05-12 07:26 126次浏览

如果要学习的话,我建议你看这台扫描仪。 back slash-powered-scannerportswigger/back slash-powered-scanner github.com

现有的web扫描仪通过在某个参数上使用大量特定的payload进行测试或查找特征,来寻找服务端注入的漏洞。 几乎就像软杀。 本文共享另一种扫描方式的概念和开发过程,可以发现和确认已知和未知类型的注入漏洞。 该方式由经典手工检测演化而来,具有手工检测的诸多优势。 例如,WAF避免规则、极小的网络痕迹和过滤的灵活输入。

和以往一样,这种方式仍然试图利用经验丰富的手工测试人员所熟知的漏洞。 作者通过展示数千个网站的样本,分享一些有趣的发现和教训,并发布特定的扫描工具。 最后,作者将展示该工具如何继续开发,并能有更多的研究方向。

手工测试

手工测试以人为本,识别漏洞的能力依赖于被试的知识储备和测试技术。 合格的受试者可以针对不同的waf规则进行避免,并且可以通过少量的网络痕迹针对漏洞进行测试,而不是浪费很多时间尝试所有方法。 但与之相对的劣势也很明显,是成本问题的劣势

质量越大,效率越低

测试者的能力强,成本高

大家都想得到能力强、效率高的产品。 因此,又一种模糊测试手段应运而生。 所谓的fuzz测试,介于完全手工和完全自动化之间,但这只是一个高级技巧,测试结果的质量高低在一定程度上取决于定制化,因此成本上并不低。 但不可否认,这个技巧的上升空间非常高

插件的核心逻辑

判断服务端的输出是否因输入而发生了变化

{这样的说法可能有点空洞,但换句话说,对于web链接,手工测试人员无法判断是否存在漏洞。 它首先根据正常逻辑获取APP应用程序的正常响应,即基准响应。 然后,根据测试人员的经验将相关字符信息作为探测器发送。 例如,在常规请求的基础上加上单引号。 如果当前获取的响应与标准响应不同,则表示APP应用程序将对单引号作出响应。 虽然不能说这里有漏洞,但对于APP应用程序来说,单引号确实有意义。 例如,APP应用程序拒绝键入单引号。 但是,如果具有单引号的响应与基准响应相同,则可以确保单引号是可以避免检查的字符,并循环替换探测器。 }

迭代次数

对插件来说,这是一个非常重要的过程。 与传统扫描仪直接确定是否存在漏洞相比,Backslash这样的插件更注重检测web APP应用程序的行为,因此通过重复探测,如上所述,在从单引号到反斜杠单引号的转换中, 快速忽略无用的输入大大节省了检测受影响字符串的时间,形成了探测器部署-扫描匹配-结果研究的重复过程。

Backslash对注入点进行探测时,首先会识别使用的是哪个引号。 在后端逻辑中,引号意味着关闭,因此双引号和单引号的输入会产生不同的影响。 然后尝试识别字符的联系方式,识别可能的函数调用,最后发送和使用特定函数。 当然,这些尝试并不是完全告别了payload,而是明显比传统的测试方式更高效,更注重逻辑性

核心问题

{由于探测器对扫描结果的响应来自于对不同探测器的响应的识别,因此核心问题也很明显,那么如何识别呢? 仅比较简单的字符串实际上在整个APP应用程序中效果不大。 因为APP应用程序本身是动态的,响应中存在动态生成的一次性令牌、时间戳、缓存以及相应的条目。 插件的作者在创建插件时没有很好地解决这个问题,因此插件并不是第一个发布的,在很长一段时间内,状态代码、Content-Type、HTML结构、行数、字数、输入处理数和

内容类型

HTML结构

行数

单词数

输入处理数

关键字的出现频率,但我不打算详细说明这部分。 感兴趣的学生请自己研究源代码

结语

Backslash插件提出了一个新的扫描概念,表明迭代过程可以很容易区分明显的安全问题和需要多次验证的问题。 需要的只是优化探测器的灵活性,或者该插件不是漏洞扫描工具,而是检测web APP应用程序的行为,并在一定程度上聚合输出结果。 当前,web发展越来越快,各种安全机制的发展使得传统扫描仪的能力逐渐下降,waf在一定程度上能够防御0day,因此安全产品的设计不再只是增加样本数量进行暴力测试

漏洞扫描,扫描网站漏洞工具