讨论安全漏洞的原理,谈谈工具的局限。

先说下扫描工具的原理:

扫描工具可以看做由两部分组成:爬虫+校验机构。爬虫的作用是搜集整个被采集对象的链接,然后校验机构对这些链接逐一进行验证。

说扫描工具的局限:

局限1:扫描未必全面

   一个网站,能不能被扫描全面,很大程度取决于爬虫搜集链接的能力。我做过爬虫的测试,所以大致知道爬虫的原理,就是对给定的入口地址发起请求,然后从返 回的内容中抽取链接,然后再请求抽取到的链接,如此反复。包含在HTML中的链接,很容易被抽取到,但是由js生成的链接,抽取的时候就有些难度了,由 Flash生成的链接,更是难于被抽取到。此时有人想说图片验证码了吧?我们做测试可以要求网站开绿灯,暂时屏蔽验证码,这个倒可以不考虑。目前ajax 技术的流行,更让爬虫搜集链接的能力显得捉襟见肘。所以这就暴露出了扫描工具的第一个局限,扫描未必全面。

局限2:对屏蔽错误信息的网站效果不好

  如果你觉得扫描不全面可以通过多分析和从不同的入口地址多测试几遍可以克服的话,这个局限就稍微比上边那个有点难度了。这个主要是“校验机构”的局限,校验机构的工作原理是对特定格式的链接或者特定格式的表单匹配特定的模拟攻击用例,模拟攻击。我们知道,攻击是一个请求的过程,也就是一个request,而攻击的结果怎么看?只能从response里看了。以SQL注入为例,当发送一个1'这样的参数值到后台之后,如果返回页面内容中包含了SQLException,那么扫描工具就认定它是一个SQL注入漏洞。但是如果网站设置了错误页面,在有异常发生时直接跳转到一个错误页面,告诉你“出错啦!”,然后再没其它信息,采集工具怎么判断是否存在漏洞?难道你去跟研发人员说“麻烦您把错误页面去掉”吗?要真说了,我们高傲的研发人员肯定不会给你好脸色的。

局限3:对特定的场景不适合

   局限3跟局限2多少有些类似,但性质不太一样,局限3是指某些特定场景。扫描工具扫描bug的原理,1和2里叙述的差不多了,这里我们举两个例子吧,看 了例子大家看看怎么用扫描工具来发现这俩漏洞,要是不能发现,那就是扫描工具的局限了。第一个:有个网站允许用户注册,用户注册后还允许用户修改个人信 息,但是修改个人信息的这个地方有个SQL注入漏洞。我们知道,一般修改个人信息的SQL大致是这样的update [userinfo] set password='1111', email='abc@163.com' where uid='男孩子',如果一个用户修改自己密码的时候把密码设为了1111'--,这样,如果存在SQL注入漏洞,所有注册用户的密码都变成了1111。 这里有漏洞吗?有!但是工具能发现吗?除非查看数据库, 否则根本发现不了这问题。再看第二个:站内消息我们很多时候都用到,假设站内消息存在XSS漏洞,那么A给B发了这么一段恶意的脚本,但是从A那边看跟普 通消息的发送是没什么区别的,所以扫描工具就发现不了这个问题,除非再用账号B来登录进行扫描。但是,这个看着简单,实际上操作起来却比较难。你怎么知道 扫描工具模拟攻击的时候发消息给了B,而没给C或者D或者E呢?所以这个时限起来也是不现实的。同样道理的还有在外网提交了留言,到管理台审核这种模式, 都存在类似问题。

  以上只是列举了3点,算是提醒大家多注意一点工具以外的事儿吧,测试这个东西,不是拿个工具就能搞定的。我说这些不是 说大家以后不要用工具,而是要正确的用工具。一个测试申请提交以后,应该首先分析哪些地方可能是工具覆盖不到的,把这些地方先人工检查,剩下的再用工具做 全站覆盖扫描。

web安全测试工具的局限性的更多相关文章

  1. 最佳的 14 个免费的响应式 Web 设计测试工具

    一旦你决定要搭建一个网站就应该已经制定了设计标准.你认为下一步该做什么呢?测试!我使用“测试”这个词来检测你网站对不同屏幕和浏览器尺寸的响应情况.测试在响应式网页设计的过程中是很重要的一步.如果你明白 ...

  2. web压力测试工具

    ab apache 自带的web压力测试工具,window和linux下均有. 命令行:./ab -c 100 -n 1000 http://www.baidu.com 说明: -c 表示同时处理10 ...

  3. 推荐一个linux下的web压力测试工具神器webbench

    推荐一个linux下的web压力测试工具神器webbench2014-04-30 09:35:29   来源:   评论:0 点击:880 用多了apache的ab工具之后你就会发现ab存在很多问题, ...

  4. python的web压力测试工具-pylot安装使用

    http://blog.csdn.net/chenggong2dm/article/details/10106517 pylot是python编写的一款web压力测试工具.使用比较简单.而且测试结果相 ...

  5. 开源Web安全测试工具调研

    开源Web安全测试工具调研 http://blog.csdn.net/testing_is_believing/article/details/22302087

  6. 12个强大的Web服务测试工具

    在过去的几年中,web服务或API的普及和使用有所增加. web服务或API是程序或软件组件的集合,可以帮助应用程序进行交互或通过形成其他应用程序或服务器之间的连接执行一些进程/事务处理.基本上有两种 ...

  7. web压力测试工具(小而精)

    实际的测试过程中,我们一般都是采用A.B两台机器,一台跑Web服务,另外一台跑ab测试.也有的情况是单机对单机可能测不出结果,那就要采用很多台机器同是跑AB去请求一台机器进行测试,根据多台机器反馈的结 ...

  8. Web Service测试工具小汇

    1..NET WebService Studio 这款工具出自微软内部,最大的优点是可视化很好,不用去看那些XML文件,WebService的基础内容就有XML,但是测试中Case过多,每次测试结果都 ...

  9. Web模糊测试工具Powerfuzzer

    Web模糊测试工具Powerfuzzer   Powerfuzzer是Kali Linux自带的一款Web模糊测试工具.该工具基于各种开源模糊测试工具构建,集成了大量安全信息.该工具高度智能化,它能根 ...

随机推荐

  1. 捋一捋Javascript数据类型转换规则

    一.数据类型 5种基本数据类型:Null/Undefined/String/Boolean/Number 1种复杂数据类型:Object 二.数据类型检测 传送门<几种JS数据类型方式及其局限性 ...

  2. A除以B问题

    描述:本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入:输入在1行中依次给出A和B,中间以1空格分隔. 输出: ...

  3. jQuery高级技巧——DOM操作篇

      页面加载之DOMReady事件 所谓domReady,也就是文档就绪,我们都知道,在操作dom时必须要在dom树加载完成后才能进行操作.如何检测DOM树已经构建完成,以下是一些实现的方式: 1.使 ...

  4. 关于const和define的内存分配问题的总结

    关于const和define的内存分配问题 const与#define宏定义的区别----C语言深度剖析 1,  const定义的只读变量在程序运行过程中只有一份拷贝(因为它是全局的只读变量,存放在静 ...

  5. 错误:StrictMode $ AndroidBlockGuardPolicy.onNetwork

    you have to insert 2 lines "StrictMode" on MainActivity Class, example's below: 在onCreate( ...

  6. iOS 简单工厂模式

    iOS 简单工厂模式 什么是简单工厂模式? 简单工厂模式中定义一个抽象类,抽象类中声明公共的特征及属性,抽象子类继承自抽象类,去实现具体的操作.工厂类根据外界需求,在工厂类中创建对应的抽象子类实例并传 ...

  7. Reveal使用步骤和 破解Revealapp的试用时间限制

    下载地址:http://pan.baidu.com/s/1eQstR2M 一.Reveal使用步骤 1.启动Reveal --> Help --> Show Reveal Library ...

  8. Java 实现多线程的三种方式

    import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; public class Main { pu ...

  9. 2013MPD上海6.22 PM 陆宏杰:通往卓越管理的阶梯 & 6.23AM Ray Zhang 产品创新管理的十八般武艺

    MPD2天的内容,参加了5个课程,其中2个是管理的,分别是陆宏杰老师的<通往卓越管理的阶梯>和Ray Zhang大师的<产品创新管理的十八般武艺>.他们2个人都谈到了一个关于招 ...

  10. SSL协议详解

    背景介绍    最近在看<密码学与网络安全>相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL. 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识.     1.密 ...