设为首页收藏本站

安而遇随-随遇而安

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1412|回复: 0

使用fuzzDB进行web安全测试

[复制链接]

 成长值: 50580

发表于 2014-4-9 02:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

写在前面:

fuzzDB看字面意思就知道,他是一个用于fuzz网站的库。类似于wwwscan之类工具的字典,但是他的过人之处是他是“开源”的,会有很多大神帮你维护一个字典,想想都心旷神怡啊。

正文:

自从写了一个FuzzDB的介绍之后,基友们纷纷表示想看到关于这款工具的更多细节。这篇文章介绍了,FuzzDB中我最喜欢的几个特性以及怎样使用它们。如果下面的内容还不能让你满足,或者你想在新的文章中看到什么,请给我留言。

Exploiting Local File Inclusion(本地文件包含)

在进行本地文件包含漏洞的fuzz时,fuzzDB可以帮我们做很多事。(更多关于这个漏洞你可以看这里

首先,他对于目录遍历有很多功能,要遍历多深,怎样进行编码以绕过黑名单,以及一些常见的安全漏洞,freeDB都会为你提供。而且它还包含8种不同的攻击模式

https://code.google.com/p/fuzzdb/source/browse/trunk/attack-payloads/path-traversal/traversals-8-deep-exotic-encoding.txt

举个例子来说:

/%c0%ae%c0%ae\{FILE}/%c0%ae%c0%ae\%c0%ae%c0%ae\{FILE}/%c0%ae%c0%ae\%c0%ae%c0%ae\%c0%ae%c0%ae/{FILE}

在你实际进行fuzz的时候,把{FILE}中的内容替换成攻击目标已知存在的文件,比如说unix系统的目标则可以使用,“etc/password”,然后查询返回的结果看看有没有成功的返回包。可以对返回结果进行根据bytes大小的排序,这样你就会轻易的找到成功包含文件的返回包。

在cheatsheet上面讨论了一种方法,可以注入服务端脚本(可以理解为上传一句话),不过如果你想这样做,必须对服务器文件有写权限。http主机服务器在两个地方允许有写权限,error log和access。fuzzdb其中有一个文件专门存放了常见的error log存放目录。在进行fuzz时也可以把他们加到目录上。

https://code.google.com/p/fuzzdb/source/browse/trunk/attack-payloads/lfi/common-unix-httpd-log-locations.txt

Fuzzing for Unknown Methods(测试未知方法)

当服务端没有对用户可以拥有的权限做出正确的验证,就会出现权限漏洞。在使用role-based access control的网站上

就经常会出现这个问题,在展示菜单的时候根据用户的权限展示,但是在选择的时候却没用验证权限。因为他们觉得,用户不会使用一个,页面上不存在的选项。这些疏忽很容易被不怀好意黑客利用。

Fuzzdb包含了很多常见方法的名字,这些方法通常是不显示在普通用户界面,但是可以直接调用的。

https://code.google.com/p/fuzzdb/source/browse/trunk/attack-payloads/BizLogic/CommonMethods.fuzz.txt

这些方法的名称,可以被放在get,post,cookie,REST url中进行提交。 另外,对javascript文件进行暴力的扫描也可能让你有意想不到的收获。因为有些网站的设计者,把所有的js全部堆在一起,而不是根据不同的用户权限把js区分开来。你可以在这些js文件在当中,找到一些你遍历网站找不到的信息。

Leftover Debug Functionality(未删除的调试功能)

有些时候一些调试用的代码会被遗留到服务器上,当这些代码被触发时,可能会返回详细的报错信息。其中可能包含一些敏感的配置信息,这些信息有助于我们进一步的渗透。

fuzzDB包含了很多常用的测试变量。

https://code.google.com/p/fuzzdb/source/browse/trunk/attack-payloads/BizLogic/DebugParams.fuzz.txt

样例文件中包含

admin=1admin=trueadmin=yadmin=yesadm=trueadm=yadm=yesdbg=1dbg=truedbg=ydbg=yesdebug=1debug=truedebug=ydebug=yes

'1' 'true' 'y' 'yes' 时最常出现的几个值,如果你们发现了其他的,请加到我的工程中来。

实际应用中,把这些值,通过get post cookie 或者 序列化之后提交,然后看看返回结果如何。

Predictable File Locations(预测文件位置)

有一些web框架和服务器会有很多固定的文件,fuzzDB也搜集了这些文件的信息。

https://code.google.com/p/fuzzdb/source/browse/trunk/#trunk%2Fdiscovery%2FPredictableRes

比如你确定目标服务器运行着Apache Tomcat。那么你可以通过fuzzDB调用一系列的默认文件路径,说不定可以得到泄露的敏感信息和进一步攻击的可能性。

https://code.google.com/p/fuzzdb/source/browse/trunk/discovery/PredictableRes/ApacheTomcat.fuzz.txt

再比如你已经确定了有一个叫做 /admin 的目录,fuzzDB也会提供很多通常在 /admin 下的文件,让你进行扫描。

https://code.google.com/p/fuzzdb/source/browse/trunk/discovery/PredictableRes/Logins.fuzz.txt

Forcible Browsing for Potentially Interesting Files(备份文件)

某些操作系统和文件编辑器,会不经意的泄露一些敏感文件的备份,这最终这会导致源码的泄露,

https://code.google.com/p/fuzzdb/source/browse/#svn%2Ftrunk%2Fdiscovery%2FFilenameBruteforce

freeDB收集了上百条后缀名,其中包含了100多个压缩包文件的后缀名,和很多常用备份文件的后缀名。

实践中,你在遍历目录的时候,把这些后缀名添加到文件名后面做替换即可。



资源采集于网上 如有侵权请联系管理员删除  邮箱:[email protected]


随遇而安
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表