授权漏洞挖掘-案例分享

0x01写在前面

关于这次渗透测试为内部的授权测试,厂商要求挖掘最好能够对自己能够直接造成危害的漏洞,我用了几个晚上的零散时间挖了几个低危混点奖金因为上传和其他几个洞的思路太普通我就没写

0x01正文

前面的情报收集工作我们这边完全不用担心,他们给了子域名和各种信息,以及余额4w的测试账号

这里要说一下,目标厂商是一家金融类企业,做理财和基金的so我们这里要科普一下金融站我们可以测试的点我

因为厂商测试范围问题我们就只测试了几个位置

下面进入我们的案例

1.登陆处的撞库

https://www.xxxxxxx.com/user/apiLogin

平时登陆的时候是不会使用这个接口的,我也是用爬虫阴差阳错发现的

可以看到我们这里的用户名是明文的传输,密码不是明文我们尝试用md5解密发现是ok的

遍历username参数就完成了撞库,我在撞自己的测试账号的时候成功撞到一个并登陆成功了,正好替我证明危害同样的我们后面也测到了用户枚举但是懒得写就这样叭


2.轰炸漏洞

这里我给大家分享一些绕过姿势

1.无验证 (重复发包就ok了)

2.图形验证码可识别(burpsuite的插件可以做识别)

3.对邮箱号进行验证c1h2e1@dafsec.org是我的邮箱,我可以进行大小写的切换 如C1h2e1@dafsec.org 这种大小写的修改可以绕过对邮箱号的验证

4.传递参数的篡改 有时候会传递一些 发短信的接口号 或者其他用于校验的数据 我们可以通过修改他来做修改如

POST /Send_mail/demo.php

Host:dafsec.org

.......

mail=c1h2e1@dafsec.org&node=1

这种情况可以修改node这类参数去达到轰炸的效果

5.程序员为了方便我们可能会对我们的输入进行一些处理

比如有些人在发送验证码的时候会不小心按到空格或者其他的字母这样我们可以利用它来进行轰炸

POST /Send_message/demo.php

Host:dafsec.org

.......

phoneNumber=1888 8 8 8 88  8

我们可以在参数中添加一些空格进去或者我们可以在里面添加一些符号

还有的时候前面会有区号比如+0086我们可以遍历区号有些时候可能也会出现轰炸漏洞

phoneNumber=@18888888888

phoneNumber=18888888888

6.参数名的篡改

POST /Send_mail/demo.php

Host:dafsec.org

.......

mail=c1h2e1@dafsec.org

我们可以对mail参数进行大小写或者在参数前加入空格 类似于这种的方法进行测试

我这里挖到的洞就是使用了我们的邮箱号的大小写修改完成的

总共挖到了3处邮箱轰炸

嘻嘻嘻


3.JSONP劫持

偷看了其他表哥的报告我发现如下的一个url

https://www.xxxx.com/xxxx/xxxxxx?_cb_=aaaa

我看中了_cb_的这个参数

因为主站的借款记录返回给我们的也是json格式但是他返回给我们的时候没有回调函数

在这之前我已经采取了fuzz callback回调函数

但是没有成功

这个报告和我们的主站不是一个子域名,我抱着试一试也不会怀孕的方法去试了一试结果成功了

这样我们就可以去劫持所有返回json格式的地方了

就这样我挖到了总共6个jsonp劫持


poc如下

<script> 
function aaaa(json)
{
	alert(JSON.stringify(json))
}
</script>
<script src="https://www.xxxxx.com/my/apiUserLoanList?type=no_repay&_cb_=aaaa
"></script>

本文由 Dawn and friendship 作者:c1h2e1, c1h2e1 发表,其版权均为 Dawn and friendship 所有,文章内容系作者个人观点,不代表 Dawn and friendship 对观点赞同或支持。如需转载,请注明文章来源。

21

发表评论