最新版本(mm/dd/yy): 01/31/2016
漏洞描述
- 暴力攻击有多种不同的表现方式,但主要在于攻击者配置预定值,使用这些值向服务器发出请求,然后分析响应。为了效率,攻击者可能会使用字典攻击(有或无突变)或者一种传统的暴力攻击(给定类别的字符,例如:字母数字,特殊字符,大小写)。基于攻击方式,尝试次数,进行攻击系统的效率以及攻击者攻击的系统效率,攻击者能够粗略计算提交所有选择的预定值需要的时间
风险因素
攻击示例
- 暴力攻击通常被用于认证攻击和在web应用中发现隐藏的内容/页面。这些攻击经常通过GET和POST请求发送到服务器。对于身份验证,暴力攻击经常在账户锁定策略不适用时奏效。
示例1
- 一个web应用被暴力攻击,方式为从流行的内容管理系统获取已知页面的列表,对每个已知页面进行简单请求,然后分析HTTP相应代码来确定该页面是否存在于服务器上
- DirBuster是一个执行这种攻击的工具
- 类似的其他工具如下
- dirb (http://sourceforge.net/projects/dirb/)
- WebRoot (http://www.cirt.dk/tools/webroot/WebRoot.txt)
- Dirb有如下功能
- 设置cookies
- 添加任何http头
- 使用代理
- 改变找到的对象
- 测试http(s)链接
- 使用定义的词典和模板查找目录和/或文件
- 更多功能
- 一个简单的示例
rezos@dojo ~/d/owasp_tools/dirb $ ./dirb http://testsite.test/
-----------------
DIRB v1.9
By The Dark Raver
-----------------
START_TIME: Mon Jul 9 23:13:16 2007
URL_BASE: http://testsite.test/
WORDLIST_FILES: wordlists/common.txt
SERVER_BANNER: lighttpd/1.4.15
NOT_EXISTANT_CODE: 404 [NOT FOUND]
(Location: '' - Size: 345)
-----------------
Generating Wordlist...
Generated Words: 839
---- Scanning URL: http://testsite.test/ ----
FOUND: http://testsite.test/phpmyadmin/
(***) DIRECTORY (*)
从输出中攻击者被提醒存在dmin/ directory目录。现在攻击者已经发现了一个应用中潜在的有价值的目录。在dirb的模板中,还有一个包含有关无效httpd配置信息的字典。这本词典将检测出这种弱点。
- WebRoot.pl,由CIRT.DK编写的应用,已经嵌入了解析服务器响应的机制,并基于攻击者指定的短语判断服务器是否返回预期响应。示例
Np.
./WebRoot.pl -noupdate -host testsite.test -port 80 -verbose -match "test" -url "/private/<BRUTE>" -incremental lowercase -minimum 1 -maximum 1
oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00
o Webserver Bruteforcing 1.8 o
0 ************* !!! WARNING !!! ************ 0
0 ******* FOR PENETRATION USE ONLY ********* 0
0 ****************************************** 0
o (c)2007 by Dennis Rand - CIRT.DK o
oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00
[X] Checking for updates - NO CHECK
[X] Checking for False Positive Scan - OK
[X] Using Incremental - OK
[X] Starting Scan - OK
GET /private/b HTTP/1.1
GET /private/z HTTP/1.1
[X] Scan complete - OK
[X] Total attempts - 26
[X] Sucessfull attempts - 1
oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00oo00
WebRoot.pl在testsite.test上找到一个文件“/ private / b”,其中包含短语“test”。
- 另一个例子是检查变量值的范围
./WebRoot.pl -noupdate -host testsite.test -port 80 -verbose -diff "Error" -url "/index.php?id=<BRUTE>" -incremental integer -minimum 1 -maximum 1
路障
- 像dirb / dirbuster这样的工具的主要问题之一就是分析服务器响应。更先进的服务端认证(如mod_rewrite)自动工具有时无法确认”目录不存在“错误,由于服务器返回200HTTP状态码但页面显示”目录不存在"。这会导致仅依赖于HTTP响应码的暴力攻击工具失效
-
诸如Burp Suite等更先进的评定工具可用于解析返回页面的特定部分,寻找指定字串以减少误报
示例2
在认证方面,当没有密码策略时,攻击者可以使用普通用户名和密码列表爆破用户名和/或密码字段,直到认证成功。
防御工具
Php-Brute-Force-Attack Detector
http://yehg.net/lab/pr0js/files.php/php_brute_force_detect.zip - 防止你的web服务器被诸如WFuzz,OWASP DirBusterd等暴力工具扫描、Nessus, Nikto, Acunetix等漏洞扫描器的扫描。这会帮助你快速识别可能的漏洞挖掘者。
http://yehg.net/lab/pr0js/tools/php-brute-force-detector-readme.pdf
文章评论