自动Web安全测试动态模糊(图形)的思考与实践分析

点评:很久以前,我想写这样一篇文章,谈谈我对web2.0甚至3时代的一些问题,Web应用程序安全测试,以及目前我所知道的解决方案。




什么是自动化Web安全测试这真是一个大概念,因为网络安全包括许多方面,如代码审核,如黑盒测试、灰盒测试,即使有性能测试,压力测试,等等。事实上,代码审计不仅是审计的安全问题,也有质量审计代码。目前,市场代码审计软件,生意似乎有代码质量检验。事实上,我们仍然在谈论在模糊测试的今天,这是Web应用的安全,我理解黑盒测试Web应用程序的安全问题,主要内容是如何使用工具来发现了一系列的安全问题,如SQL注入,跨站脚本,执行命令,文件包含,代码注入,一等等。
一直以来,我们检测到一个Web应用程序的安全漏洞,无非是两种方法,一是手工如1 = 1或做一些类型的数字计算参数,- 1 - 2看是否传输和操作的正确执行后端数据库的参数,根据页面内容变化的解释。当然,这是类似于| | 1 = 1实际上,它是一个手术要做。只要符合SQL标准,它能够执行好正确。二是工具,这意味着更多的履带式的意义为基础的扫描工具如webinspect,AppScan,和awvs。首先,抓取整个网站的目录结构,然后测试其动态基于爬链接参数。无论上述哪种方式,都会有一些缺陷。第一类攻击是不适合大众的目标,因为这是显而易见的,手工测试的范围是有限的,而第二种方法首先解决手段的缺陷是很快在一个更大的应用到应用程序的漏洞,但目前仍然存在很多问题。例如,一个较大的应用程序现在使用的结构类似于前端反向代理服务器和后端动态解析。这个建筑的出现,大量使用Ajax的应用,交互连接,JSON接口,等等这些事情不被认可的爬行动物。所以webinspect之类的工具,有没问题。我第一次看到awvs可以扫描识别Web 2 Ajax请求,但我用最新版本的对比试验,发现它还了。现在,有很多的方法来解决这些问题。在家里,我看到aiscanner声称能够随着Web2.0引擎或JS引擎解决这个问题,使用Javascript虚拟机加沙箱技术。我查了一些资料,包括文章,一些介绍过。我想这是类似于运行一些Node.js,模仿XHR一样得到一些互动,AJAX链接的方法吗我希望奶牛能给我一个观点。
0times;02模糊工具基于Web代理拦截
当然,随着技术的发展,出现了早期的一些好方法,如代理转移到连接的方式,像小提琴和BurpSuite工具。Fiddler现在有一个更好的官方插件菊石,运行后如下
在结果中,您可以看到包的过程和包之后的过程。
首先,这个插件,我测试的情况下,精度比较差,事实上,高准确率和假错误率的原因之一是检测的类型和检测方法相对简单,例如,类似于中间代理的软件大多是这一思想的延续。当他们检测SQL注入,他们通常采取SQL错误关键在网页内容或判断是基于HTTP状态代码。事实上,这其实是一个比较老的检测方法,和更多的,经过相关计算,我们需要把页面长度,是否或不跳。留下一个坑在这里第一次,和我会说,当我说基于浏览器的自动模糊工具。
此外,还有许多类似的插件的提琴手,如日本。

这个插件是类似于fuzzdb BurpSuite +效果
第一个是拦截请求。

向攻击模块发送请求
BurpSuite fuzzdb数据加载测试


可以选择模糊模式。

还可以添加有效载荷,模糊对比也有

设置相关的测试参数


单击开始攻击开始攻击。


发动攻击,攻击后的结果。


它比小提琴更复杂吗哈哈 u3002in其实有很多选项都是可调的,这可以通过自己在设置相关参数,这是很方便的测试。
至于主动扫描和被动扫描,我还想多说几点。无论BurpSuite或小提琴是一个基于代理的拦截工具的一个缺点是主动扫描功能太弱。当然,现在有一些改进BurpSuite可以做一些积极的扫描,但它仍然是太弱。
BurpSuite招潮实际上是一个原理,通过代理拦截所有的HTTP或HTTPS传输请求,然后重放请求测试。小提琴手稍微强大可以直接监控网络卡等,可以拦截所有的网络请求,有些场景不是BurpSuite的功能的详细使用,或需要被大家挖掘测试,我不说了。