如果你是一名渗透测试爱好者或者专业人士,你一定知道目录扫描是渗透测试中非常重要的一步。通过目录扫描,我们可以发现网站的敏感信息,隐藏的功能,甚至是后台入口。目录扫描可以帮助我们更好地了解目标网站的结构和漏洞。
但是,你还在下载各种各样的目录扫描工具吗?比如dirb,御剑,dirsearch等等。这些工具虽然功能强大,但是也有一些缺点,比如:
需要单独安装和配置,占用系统资源和磁盘空间
需要手动输入目标网址和字典文件,操作繁琐
需要切换不同的工具来适应不同的情况,效率低下
不能与其他渗透测试工具协同工作,难以整合
那么,有没有一种方法,可以让我们只用一个工具就能完成目录扫描呢?答案是:有!那就是Burp Suite!
Burp Suite是一个集成了多种渗透测试功能的平台,其中就包括了目录扫描。Burp Suite不仅可以爆破账号密码,还可以用来爆破目录。使用Burp Suite进行目录扫描有以下优点:
无需安装其他工具,只需打开Burp Suite即可
无需手动输入网址和字典,只需在浏览器中访问目标网站即可
无需切换工具,只需在Burp Suite中选择相应的模块即可
可以与其他渗透测试工具协同工作,方便整合
那么,如何使用Burp Suite进行目录扫描呢?下面我就为大家介绍一下具体的步骤:
首先,我们需要在浏览器中配置代理,让浏览器的流量通过Burp Suite。这样,我们就可以在Burp Suite中捕获和分析目标网站的请求和响应。
配置代理的方法有很多,这里我推荐使用一个浏览器插件:[Proxy SwitchyOmega]。这个插件可以让我们快速地切换代理设置,并且支持多种浏览器。
安装好Proxy SwitchyOmega后,我们需要在插件中添加一个代理服务器。一般来说,Burp Suite的默认代理地址是127.0.0.1:8080
。如果你没有修改过Burp Suite的代理设置,那么你可以直接使用这个地址。如果你修改过Burp Suite的代理设置,那么你需要使用你自己设置的地址。
添加好代理服务器后,我们就可以在浏览器中启用Proxy SwitchyOmega,并选择刚刚添加的代理服务器。这样,我们就完成了代理的配置。
当然也可以访问BP的内嵌浏览器,就可以忽略上述代理配置
接下来,我们需要在浏览器中访问目标网站。比如说,我们想要扫描https://www.gouwo.tech/
这个网站。
当我们访问这个网站时,在Burp Suite中的Proxy模块下的HTTP history选项卡中,我们就可以看到这个网站的请求和响应。如下图所示:
然后,我们需要在Burp Suite中选择目录扫描模块。Burp Suite中有两个模块可以用来进行目录扫描,分别是Spider和Intruder。
Spider模块是一个自动化的爬虫,它可以根据网站的链接和表单,自动发现网站的目录和文件。Intruder模块是一个强大的攻击工具,它可以根据我们自定义的参数,对网站进行定制化的攻击。
这里,我推荐使用Intruder模块来进行目录扫描,因为它可以让我们更灵活地控制扫描的过程和结果。当然,你也可以使用Spider模块来进行目录扫描,方法类似。
要使用Intruder模块来进行目录扫描,我们需要先在HTTP history选项卡中,选择一个目标网站的请求,比如说,我们选择http://testphp.vulnweb.com/
这个请求。然后,右键点击这个请求,选择Send to Intruder。如下图所示:
这样,我们就把这个请求发送到了Intruder模块中。
接下来,我们需要在Intruder模块中设置攻击参数。在Intruder模块中,有四个选项卡,分别是Target,Positions,Payloads和Options。
Target选项卡用来设置攻击的目标地址和端口。一般来说,我们不需要修改这里的设置,因为它会自动从我们发送的请求中获取。
Positions选项卡用来设置攻击的位置和类型。我们需要在这里选择我们想要爆破的参数,并且选择攻击类型为Sniper。Sniper类型表示只对一个参数进行爆破。
在这里,我们想要爆破网站的目录,所以我们需要选择网址中的路径部分作为参数。我们可以在请求中找到路径部分,并且用两个§
符号将其包围。如下图所示:
Payloads选项卡用来设置攻击的负载。负载就是我们想要尝试的目录名。我们可以从多种来源获取负载,比如说:
从Burp Suite自带的字典中选择
从文件中导入
从剪贴板中粘贴
从其他工具中生成
在这里,我选择从Burp Suite自带的字典中选择一个字典作为负载。Burp Suite自带了很多常用的字典,我选择了common-directories这个字典作为负载。这个字典包含了很多常见的目录名。
要选择这个字典作为负载,我们只需在Payloads选项卡中的Payload type下拉菜单中选择Simple list,然后点击右边的**Load…**按钮,在弹出的窗口中选择common-directories.txt这个文件即可。如下图所示:
这样,我们就完成了攻击参数的设置。
最后,我们只需在Intruder模块中点击右上角的Start attack按钮,就可以开始攻击了。如下图所示:
当攻击开始后,在Intruder模块中的Results选项卡中,我们就可以看到攻击的结果。如下图所示:
在这里,我们可以看到每一个负载的请求和响应的详细信息,比如说:
状态码
长度
响应时间
等等。
我们可以根据这些信息来判断哪些负载是爆破成功的,哪些是爆破失败的。一般来说,我们可以根据以下几个方面来判断:
状态码:如果状态码是200,表示请求成功;如果状态码是404,表示请求失败;如果状态码是其他值,表示请求有其他情况。
长度:如果长度和正常页面的长度相差很大,表示请求可能成功或者失败;如果长度和正常页面的长度相近,表示请求可能无效或者重复。
标题:如果标题和正常页面的标题不同,表示请求可能成功或者失败;如果标题和正常页面的标题相同,表示请求可能无效或者重复。
响应时间:如果响应时间很长,表示请求可能触发了某些机制或者防护;如果响应时间很短,表示请求可能无效或者重复。
Grep - Match结果:如果Grep - Match结果为true,表示请求符合我们设置的规则;如果Grep - Match结果为false,表示请求不符合我们设置的规则。
综合以上几个方面,我们就可以筛选出爆破成功的负载,并且访问对应的网址,看看是否有什么有趣或者有用的内容。
通过以上五个步骤,我们就可以使用Burp Suite进行目录扫描了。Burp Suite不仅可以爆破账号密码,还可以用来爆破目录。使用Burp Suite进行目录扫描有以下优点:
无需安装其他工具,只需打开Burp Suite即可
无需手动输入网址和字典,只需在浏览器中访问目标网站即可
无需切换工具,只需在Burp Suite中选择相应的模块即可
可以与其他渗透测试工具协同工作,方便整合
当然,Burp Suite也有一些缺点,比如说:
需要付费才能使用完整功能
需要一定的学习成本才能掌握
需要注意防止被目标网站发现或者封锁