在站点测试的初期,有一个情况是挺常见的,就是浏览器只要一走Burp的代理去访问页面,Burp就会一刻不停地,把抓到的域名、目录、文件,还有带参数的请求,全给放进站点地图里面去,按照官方的文档说明,站点地图这个东西,就是用来展示Burp在探索目标应用的时候,所收集到的那些信息的,并且,它还支持在按地址去看的视图,和按爬虫路径去看的视图之间,来回切换。
一、站点地图怎么查看
BurpSuite的站点地图,主要是在【目标】这个标签页下面的【站点地图】里面去查看的,这个地方,可不是普通的浏览历史记录,它是按照站点的结构,把目标资产的视图给整理出来的,很适合用来看目录的层级、接口的路径、请求的参数,还有服务器返回来的响应内容。
1、先把代理给打开,然后去访问一下要测试的目标
在把BurpSuite给启动起来之后,去打开它里面自带的那个浏览器,或者是把电脑上自己用的浏览器,把它的代理设置给指到Burp上面去,接着,要去确认一下,代理的拦截功能,它的开关状态,是不会把正常的访问给挡住的,然后,再用浏览器去访问一下,那个被授权了可以测试的站点,凡是访问过的页面、接口,还有一些静态的资源,就会陆陆续续地进到站点地图里面去了。
2、进到站点地图的那个页面里面去
去点一下顶部的【目标】这个标签,然后再选到【站点地图】,这个时候,在界面的左边,就会出现域名和路径的树状结构,而在右边呢,通常是可以看到,被选中的那个项目的请求、响应,还有一些相关的信息,官方的文档也说明过,在普通的项目里面,那个综合的站点地图,是在【目标】下面的【站点地图】里面去看的;而那种隔离扫描的站点地图,就需要从仪表盘里面对应的那个任务,才能进得去。
3、去看一看具体的请求和响应里面,都有些什么内容
在左边的那棵树里面,去把目标的域名给展开,然后再顺着,把目录、文件,还有那些带着参数的请求,都给一层一层地展开,去点一下中间的某一个接口,在界面的下方或者是右边,就可以去查看它对应的请求和响应了,在这个地方,可以去判断一下,这个接口用的是什么方法、返回的状态码是什么、参数的名字都叫些什么、返回来的内容长什么样,还有当前的登录状态,是不是正常的。
4、在按地址看的视图,和按爬取路径看的视图之间,来回切换一下
如果你只是单纯地,想要按照目录去查找那些资源,那用按地址看的视图,会觉得更加直观一些;可要是你想看一看,爬虫到底是怎么发现这些路径的,那就可以切到按爬虫路径去看的视图里面,官方的文档里提到过,按地址看的视图,它会按照根域名、子域名、目录、文件,还有那些参数化的请求,去形成一个一层一层的结构,这个视图,是很适合用来梳理一个站点的入口的。
二、站点地图目录太乱怎么整理
站点地图里面看着乱七八糟的,一个挺常见的原因,就是还没有去把测试的范围给设置好,结果,浏览器访问过的那些广告、图片、接口,还有第三方的资源,全都被一股脑儿地给记了进来,在动手整理的时候,先别急着去删东西,要先把范围给定义出来,然后再去过滤和清理。
1、先把目标的范围给设置好
在【站点地图】里面,对着目标的那个域名,点一下右键,去选择把它加到范围里面去,当系统弹出来提示,问要不要把范围之外的流量给拦下来的时候,就可以按照测试的实际需要去选了,官方的入门文档也是这么建议的,就是通过在站点地图里,对着最顶层的那个节点点右键,把它给加到范围里面去,同时呢,也可以把那些你根本不关心的子目录,给移出这个范围。
2、把那些不相关的域名,还有历史留下的噪声给删掉
要是前期没有把范围给设置好,那站点地图里面,就很可能会混进来好多不相关的域名,把这些节点都给选中,然后点右键,去选择把它们给删掉就行了,官方的文档同样也提到过,那些你不感兴趣的项目,是可以从站点地图里面给删除掉的,尤其是那些,在设置范围之前,就已经被加进来的东西。
3、把那些静态的资源给过滤掉
当图片、字体、样式表、脚本文件这些东西非常多的时候,整个目录看起来就会显得特别乱,这个时候,可以在站点地图的过滤器里面,去把图片、CSS样式、字体这些静态的资源给藏起来,先只让页面、接口,还有那些带着参数的请求留在眼前,这么过滤完了以后,再去看那些业务的路径,就会觉得清楚多了。
4、按照业务的模块,去重新一块一块地看
在整理的时候,可以试着按照登录、用户的中心、订单、支付、上传、搜索、管理的后台,这样一块一块的业务模块,去分着段来访问,每把一个模块给跑完了,就回到【站点地图】里面,去检查一下新冒出来的那些路径,这么做,能避免所有的接口都一次性全搅和在一起。
三、站点地图怎样保持清楚
想要让BurpSuite的站点地图,在比较长的一段时间里都保持得清清爽爽的,关键就在于,在测试开始之前,要先把范围给约束好,测试进行的过程当中,要按照模块一块一块地去访问,等到测试结束了以后,还要及时地把那些不相关的东西给清理掉,不要等到地图里面都已经堆得满满当当了,再回过头去整理,那样的话,会非常花时间的。
1、用范围过滤这个功能来控制视图
进到【目标】下面的【范围】设置里面去,去确认一下,这里面只包含了这次被授权测试的那个域名、子域名,或者是某些特定的路径,官方的文档里是这么说明的,设置目标范围,就是为了告诉Burp,哪些地址和主机,才是这次要测的对象,靠这个设置,就能把浏览器产生的那些不相关的噪声,给过滤掉。
2、去给那些比较重要的请求,做一些标记
对于那些登录的接口、上传的接口、跟权限有关的接口,还有参数特别多的接口,可以在它们上面点右键,去添加一些注释,或者是把它给高亮起来,这样,后面再想把它送到重放器、攻击器,或者是扫描器里面去的时候,就不用在那一大堆目录里面,反复地去找了。
3、要定期地去清理一下旧的项目数据
不要把不同的客户、不同的系统、不同的环境,长时间地都混在一个项目文件里面,每开始一次新的测试,最好都去新建一个项目文件,旧的项目呢,只把报告和那些必要的证据给留下来就行了,这么做,站点地图本身就会轻很多。
4、去检查一下那些灰色的、还没有被真正请求过的节点
站点地图里面,有些节点是灰色的,它们有可能只是在某个响应里面被引用了一下,但实际上,还没有被真正地发送过请求,可以结合着测试的范围,去判断一下,有没有必要去访问确认一下,不要一股脑地把所有灰色的路径,都当成是有效的接口来处理。
总结
要说BurpSuite的站点地图怎么去查看,还有它的目录太乱了又要怎么去整理,这里面的关键,就是先在【目标】底下的【站点地图】里面,把域名、目录、文件,还有那些带参数的请求,都给看清楚了,然后再用范围、过滤器、删除那些不相关的东西,还有按照业务去分组访问,这几个办法,来把结构给整理出来,站点地图越是干净,到了后面,要去做接口的复测、权限的检查、请求的重放,还有问题的定位,就越能省下不少的力气。
