WEB Fuzz中需要关注的7种响应
WEB应用模糊测试(WEB Fuzz)是一种特殊形式的网络协议模糊测试,专门关注遵循HTTP规范的网络数据包。
WEB Fuzz并不是新的概念,目前有多种WEB应用模糊测试器(WEB Fuzzer),比如SPIKE Proxy、SPI Fuzzer、besTORM,以及渗透人员喜爱的Burp Suite。
在Fuzz请求完成后,目标应用发回来的响应提供了Fuzz请求所造成影响的各种线索。如果发现了异常,就可以确定于异常相关的请求。下面总结了一些响应信息,这些响应信息可能指示漏洞条件的存在:
- HTML状态码
- 响应中的错误信息
- 响应中包含的用户输入
- 性能下降
- 请求超时
- WEB Fuzzer错误信息
- 处理或者未处理的异常
下面分别详细展开讨论:
HTML状态码
HTML状态码是一种重要信息,它提供了快速判断对应的请求是成功还是失败的指示。因此,WEB Fuzzer解析原始响应,得到状态码,然后在一个显示响应详细信息的列表中将其单独展示出来。通过THML状态码信息,用户能够快速确定需要进一步详细检查的响应部分。
响应中的错误信息
从设计上来说,WEB服务器一般都会在动态生成的网页中包含错误信息。如果一个WEB服务器在生产环节中启动不当,启用了调试功能,就会发生这种情况。以下是一个典型的透露了太懂信息的例子:当验证错误时,WEB应用给出的错误信息是“密码不正确”而不是“用户或密码不正确”。如果攻击者试图通过暴力方法强行破解某个WEB应用的登陆密页面,“密码不正确”的错误消息就会告诉攻击者输入的用户名存在,只是密码不正确。这使得未知参数有两个(用户名和密码)减少为一个(密码),极大地增加了攻击者进入系统的可能。在识别SQL注入攻击时,应用的错误信息同样特别有用。
响应中包含的用户输入
如果动态生成的WEB页面包含用户输入的数据,就有可能产生XSS漏洞。WEB应用的设计者应当过滤用户的输入,以确保不会发生这类攻击。但是,WEB应用没有进行核实的过滤是个常见的问题。因此,如果在HTML响应信息中找到了WEB Fuzzer提供的数据,那就表面应当测试应用中的XSS漏洞。
性能下降
尽管通过其表现形式(直接的应用崩溃),我们很容易识别DoS攻击,但DoS漏洞则微妙得多。性能下降通常表明应用可能易于收到Dos攻击。请求超时是一种发现性能下降的方法,但是在Fuzz的过程中,还应当使用血能监视器检查问题,如过高的CPU使用率或内存使用率。
请求超时
参考上一条,不能忽视请求超时,因为它们可能表示存在临时或者永久的Dos条件。
WEB Fuzzer错误信息
WEB Fuzzer有它子的错误处理方式,当某些特定函数执行失败时,它会弹出错误信息。例如,如果目标服务器因为前一个Fuzz请求而线下,WEB Fuzzer可能会给出一个错误信息,表明无法链接到目标服务器。这意味着可能发生了DoS攻击。
处理或未被处理的异常
当对WEB应用进行Fuzz时,可能会在应用本身以及它运行的服务器上都发现漏洞。因此,监视服务器多的状态也很重要。尽管WEB服务器返回的响应信息为我们提供了发现潜在漏洞的信息,但它们并没有揭示全部问题。如果输入稍加变化,Fuzz请求极可能会导致处理或未被处理的异常,从而导致可被利用的条件。因此,在Fuzz过程中,建议在目标WEB服务器上连接一个单独的调试器,这样就能够识别这些异常,比如FileFuzz和COMRaider,都带有内置的调试功能。WEB Fuzzer并不需要调试功能呢,因为WEB Fuzzer不需要反复地启动和中止一个应用。我们的方法是向某个Web应用发送一系列的fuzz请求,服务器会持续运行并相应这些请求,并阻止导致Dos的输入。
参考:《模糊测试》
来源 http://www.rootat.net/2016/03/10/WEBFuzzresponse/
WEB Fuzz中需要关注的7种响应的更多相关文章
- wemall app商城源码中android按钮的三种响应事件
wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码中android按 ...
- ASP.NET Web API中实现版本的几种方式
在ASP.NET Web API中,当我们的API发生改变,就涉及到版本问题了.如何实现API的版本呢? 1.通过路由设置版本 最简单的一种方式是通过路由设置,不同的路由,不同的版本,不同的contr ...
- Web项目中JSP页面的一种调试方法与出现的问题 -- SpringMVC架构测试
在前端开发中,尤其是MVC架构多人开发,负责前端的童鞋总是需要做静态页面,再和后台连接前无法使用变量如EL表达式等测试功能,所以本人引入了一个模板jsp数据测试专用文件,专门配置所有的变量,然后在待测 ...
- java web 项目中获取当前路径的几种方法
1.jsp中取得路径: 以工程名为TEST为例: (1)得到包含工程名的当前页面全路径:request.getRequestURI() 结果:/TEST/test.jsp (2)得到工程名:req ...
- web.config中配置数据库连接的两种方式
在ASP.NET中有两种配置数据库连接代码的方式,它们分别是 appSettings 和 connectionStrings .在使用 appSettings 和 connectionStrings ...
- Web.config中appSettings节点值两种读取方法
<appSettings> <add key="ClientPort" value="5252"/> <add ...
- ASP.NET web.config中的连接字符串
在ASP.NET的web.config中,可以用两种方式来写连接字符串的配置. <configuration> <appSettings> <add key=" ...
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- 在基于MVC的Web项目中使用Web API和直接连接两种方式混合式接入
在我之前介绍的混合式开发框架中,其界面是基于Winform的实现方式,后台使用Web API.WCF服务以及直接连接数据库的几种方式混合式接入,在Web项目中我们也可以采用这种方式实现混合式的接入方式 ...
随机推荐
- 红帽学习笔记[RHCSA] 第五课[用户、权限相关]
第五课 用户权限 查看文件的权限 [kane@localhost /]$ ll total 36 ----------. 1 root root 1751 Aug 22 20:58 ~ lrwxrwx ...
- git自动上传脚本及基本代码
git_auto.bat git add . git add -A git add -u git commit -m "text" git pull --rebase origin ...
- 分享一个linux系统中循环遍历两个数组内容,并输出数组中的不同内容的shell脚本
cat diffarray.sh #!/bin/bash arry_list1=(1 2 3 4 5 6 7 8 9) arry_list2=(3 5 8) declare -a diff_list ...
- [19/05/29-星期三] JavaScript_ 函数的简介
一.函数的简介 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- 【监控笔记】【3.1】DML(CDC)、DDL(DDL触发器)跟踪数据更改,数据库审计
关键词:数据库审计.DDL审计.DML审计 [监控笔记][3.1]DML(CDC).DDL(DDL触发器)跟踪数据更改 [1]DML(CDC) 2008及以上 https://www.cnblogs. ...
- 自动构建War包的Ant build.xml模板
<?xml version="1.0" encoding="UTF-8" ?> <project name="[*****]你的项目 ...
- 高级BASH
Bash介绍与入门 1,简介 Bash(GNU Bourne-Again Shell)是一个为GNU计划编写的Unix shell,它是许多Linux平台默认使用的shell shell是一个命令解释 ...
- Tarjan水题系列(3):HNOI2006 潘多拉的魔盒
题目: 链接 大意: 盒子与盒子之间的关系构成一个有向图 求图上包含节点数最多的路径的节点数 思路: 有向图上求包含节点数最多的路径的节点数 可直接使用tarjan缩点后拓扑dp求得 在此不赘述 此题 ...
- 环境变量和Path环境变量
环境变量 百度百科下的定义 一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等. 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所 ...
- win 10 自带 Ubuntu 系统的文件位置
win 10 自带 Ubuntu 系统的文件位置 Ubuntu 作为最为流行 Linux 系统中的一种,是用来学习 Linux 相关知识是最好不过的选择.专门搞一个 Ubuntu 系统的电脑不太现实, ...