目录扫描-dirbuster
一、目录扫描的作用
文件目录
文件目录是指:为实现“按名存取”,必须建立文件名与辅助空间中物理地址的对应关系体现这种对于关系的数据结构称为文件目录。
目录扫描——信息收集的重要部分
目录扫描可以桑我们看到这个网站存在多少目录,多少页面,探索出网站的整体结构。
通过目录扫描我们还可以扫描敏感文件,后台文件,数据库文件,和信息泄露文件,等等
二、常见的目录信息泄露
-
目录遍历漏洞
目录遍历(路径遍历)是由web服务器或者web应用程序对用户输入的文件名称的安全性验证不足而导致的一种安全漏洞,使得攻击者通过利用一些特殊字符就可以绕过服务器的安全限制,访问任意的文件(可以是web根目录以外的文件),甚至执行系统命令。
目录遍历漏洞原理
程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件 -
敏感信息泄露
由于后台人员的疏忽或者不当的设计,导致不应该被前端用户看到的数据被轻易的访问到
比如:
- 通过访问url下的目录,可以直接列出目录下的文件列表
- 输入错误的url参数后报错信息里面包含操作系统,中间件,开发语言的版本或其他信息(SQL注入)
- 前端的源码(html,css,js)里面包含了铭感信息,比如后台登录地址,内网接口信息,甚至账号密码等;
三、常见的源码泄露案例
目录遍历
当没有默认网页时,在网站上显示web服务器显示用户列表中的文件和目录。因此,在apache服务器上面默认文件名为index.php,当没有上传index.php时,服务器就会将文件夹中的内容全部展示出来。
案例
攻击者浏览目录并访问web应用程序的源代码,备份和可能的数据库文件。
目录扫描方式
- robots.txt
网站内的robots文件:https://www.baidu.com/robots.txt - 目录爆破
御剑 nikto dirbuster Webdirscan - 第三方资源引用
JS SDK
四、目录扫描工具-dirbuster
工具说明
Owasp项目
DirBuster是一个多线程的基于Java的应用程序设计用于暴力破解Web应用服务器上的目录名和文件名的工具。
它是如何工作的
Dirbuster是一种履带式和粗暴式的混合物;它遵循它找到的页面中的所有链接,但也为可能的文件尝试不同的名称。这些名称可能位于与我们使用的文件类似的文件中,也可能由Dirbuster使用Pure Brute Force选项自动生成,并设置字符集以及生成的单词的最小和最大长度。
为确定文件是否存在,DirBuster使用服务器的响应代码。最常见的响应如下所示:
- 200ok:文件存在
- 404找不到404文件:服务器中不存在该文件
- 301301永久移动:这是重定向到给定的URL
- 401 Unauthorized:访问此文件需要身份验证
- 403 Forbidden:请求有效但服务器拒绝响应
DirBuster,他是用来探测web目录结构和隐藏的敏感文件的
环境配置
使用需求
DirBuster是基于Java的应用程序需要jre环境
java环境下载:http://www.java.com.zh_CN/
安装过程中一定要勾选"add to path"(添加环境变量)
DirBuster下载地址:http://sourceforge.net/projects/dirbuster/files/
安装
windows双击DirBuster.jar启动软件(Linux用户在命令行运行./DirBuster-1.0-RC1.sh,若脚本无权限使用chmod+x./DirBuster-1.0-RC1.sh添加权限)
具体操作步骤如下:
- url设置;
- 线程数设置;
- 选择爆破字典;
- 取消选择递归查询;
- 开始运行
爆破字典默认位置(选择相应工具的爆破字典即可)
root@kali:/usr/share/wordlists# ls
dirb fasttrack.txt metasploit rockyou.txt.gz
dirbuster fern-wifi nmap.lst wfuzz