内容根据burp官网提供的学习靶场进行
在做实验之前,需要配置一下burp,否则靶场打不开
上面http/2需要取消掉勾才能成功抓包,正常访问。
一、身份验证篇
1、集束炸弹遍历破解
实验地址:
https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-different-responses
在不了解具体的用户名和密码的时候,可以使用集束炸弹(Clusterbomb)进行遍历。该模式,我们可以利用用户名字典,依次遍历每一个密码
2、IP封禁绕过方式
1)破坏暴力破解保护、IP 封锁
通过鱼叉攻击(pitchfork)在Resource pool中设置,将最大并发数设置为1
通过一次只发送一个请求,确保正确发送
绕过封禁的思路,主要是利用每隔一次输入一次正确的用户名和密码以此来绕过封禁,也就是说,我们要在每一个用户名字典上,输入我们正确的用户名,包括每一个密码前面,输入正确的密码。
过滤时,隐藏200响应。
2)通过请求标头绕过
运行时,提交无效的用户名密码,确定X-Forwarded-For标头是否受支持
尝试使用鱼叉(pitchfork)攻击,添加X-Forwarded-For标头
3、越权控制
1、访问规避
如果程序员针对admin编写,是以针对特定页面不允许用户访问,那么,我们是可以通过某些方式绕过
通过基于用户角色限制对特定URL和HTTP方法的访问来实现这一点。例如,应用程序可以如下配置规则:
DENY: POST, /admin/deleteUser, managers
这种规则拒绝管理员组中用户访问,一些程序框架支持各种非标准HTTP头,可以在请求中覆盖url,例如X-Original-URL或者X-Rewrite-URL
POST / HTTP/1.1
X-Original-URL: /admin/deleteUser
在burp靶场中,可以通过这种方式进行绕过
https://portswigger.net/web-security/access-control/lab-url-based-access-control-can-be-circumvented
我们可以通过添加头验证
X-Original-URL: /invalid
后面回显包中,返回未找到,证明我们的添加的头的确被读取了,后端进行了处理和响应。
将X-Original-URL头的值更改为/admin就可以访问管理员主页
其实这里的利用原理,就是将get后面的限制访问路径,放到下面的X-Original-URL头中,比如我们需要删除某个用户
后面的username还是放在上面,但是前面的路径通过X-Original-URL进行传输。
2、GET规避访问控制
有时后端的用户验证,仅仅只有post方式的验证,但是我们使用普通用户,利用admin用户的数据包,普通用户的cookie,发送请求,使用GET模式进行发送
靶场:
https://portswigger.net/web-security/access-control/lab-method-based-access-control-can-be-circumvented
大致利用过程:
首先登录给的管理员用户,来查看功能,管理员有一个提升权限的功能,如果我们想要作为普通用户去使用提升用户权限功能,我们就需要将发送的模式改成get发送
cookie是普通用户cookie,发送之后,可以使用管理员功能。
3、多流程步骤,其中一步未实现访问控制
靶场地址
https://portswigger.net/web-security/access-control/lab-multi-step-process-with-no-access-control-on-one-step
这个靶场,主要讲的是,后台的访问控制中,可能存在多步骤确认,比如:
首先我们想要提升权限,需要点击提升
然后点击之后会有第二步确认,是否提升
那么这个靶场所给我们的问题,就是第二步确认环节,其实是有任意权限访问控制漏洞的。
具体步骤就是,我们首先登录管理员页面,对其两个步骤的数据包进行抓包,并且在两个数据包中,进行修改cookie,将cookie修改成我们普通用户权限的cookie,并且将用户名改为我们普通权限用户名,来尝试提升权限。
下面是第一步的数据包,回显显然是不太对的
第二步的数据包回显就不一样了
虽然是302但是302不代表执行不成功,这里我们刷新页面可以看到多出了管理员才有的功能。
4、基于引用的访问控制
该靶场,漏洞思路是,服务器在校验是否有权限进行管理员操作时,是通过GET请求中,是否有admin进行判断校验,只要存在即可放过同行,整体也很简单。
首先是抓取管理员登录时的操作包,然后修改里面需要提升的用户,并且cookie换成普通用户的cookie
然后我们发送,即可实现越权操作。
原文始发于微信公众号(白安全组):使用BURP针对爆破,越权漏洞利用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论