Burpsuite提供了compare site map的功能,通过此功能能够有效地比较不同session上下文环境下访问同一组请求的差异,通过比较这些差异可以有效的帮助我们发现访问控制漏洞。
具体步骤
1. 首先在Target->Site map选中待测试域,将其右边请求按请求时间排序(红框),然后剔除登录前和退出后的无关请求(如黄框中登录请求右键功能上下文中有剔除选项)
2. 接下来修改session的cookie,执行compare site map功能时会使用session中的cookie重新执行上述请求。
在进行测试时Burpsuite提供了两种cookie的修改方式:
- 第一种是向cookie或者参数中中添加某一特定值
- 第二种是修改cookie的内容
第一种方式可以用来测试基于参数标志(admin=true)的访问控制漏洞,第二种适用于通过比较不同权限用户或者有权限及没有权限用户之间访问同样页面之间的差别来进行发现权限控制漏洞。本文通过第二种方式来演示有权限用户及无权限用户对free.3v.do访问的差别来尝试发掘访问控制漏洞,为了测试无权限下的访问状态首先需要删除free.3v.do相关的cookie如上图所示。 在实际测试中发现Remove cookie并不起作用,在进行比较时site map2 的请求还是会使用原来的cookie,并且在测试时发现如果修改掉某个cookie的值下次访问时是会发生变化的,所以这里最好使用低权限用户的cookie替换掉cookie jar中的相应值,注意没有替换掉的cookie即使通过cookie jar删除在进行site map比较时site map 2 的请求还是使用之前的cookie,总结为一句话就是只可以修改不可以删除cookie。
3. 接下来使用Compare site map功能比较两种情况下请求及响应的差别:
上图中未展示的选项均使用默认选项。