文章来自" bgbing星球",未经授权,禁止转载(如发现抄袭本文,欢迎举报,联系黑子黑,将获取奖励!)
本文来自真实的挖掘过程,所以内容是尽可能厚码再厚码!
因为SRC不让公开,所以这里尽可能讲思路,希望能帮到大家!
开始
首先访问登陆,大概url如下
https://www.xxxx.com/sso.php?redirect=https://2.xxxx.com/xxxx.php
可以很清楚的看到是一个sso统一登陆的界面,在当前页面有两种登陆方式
1、用app扫码登陆
2、账号密码登陆
登陆完后会向https://2.xxxx.com/xxxx.php发送token,实现登陆
伪造后面的url
任何重定向都有可能存在漏洞
https://www.xxxx.com/sso.php?redirect=https://自己的站/xxxx.php
并且我们在自己的站里实时接收任何post或者get数据(cookie)等等
那么我们只需要把上面的url发给受害者,受害者发现这是一个正常的url啊,然后它就可以扫了登陆
其实后面的redirect的url是自己的,所以它只要登陆了,你就能获取到对应token,实现登陆它的账号。
实际漏洞挖掘
发现在后面修改url,没有用,只允许https://2.xxxx.com这种的。
那么我们尝试其他思路,我们试着访问后面的url
https://2.xxxx.com/xxxx.php
就是这个,访问后会显示缺少code参数,那怎么办?
聪明的你肯定想到了,会post或者get(也有可能cookie里,或者请求头的其他地方,具体得自己测试)传个code参数不就行了。
挖到敏感信息泄露漏洞!
https://2.xxxx.com/xxxx.php
post数据是code=1(这里1其实不重要,输入其他也一样)
返回包会显示appid=xxxx,secert=xxxx。
很明显有了这两个,再去找对应api文档,就能获取权限了
猜测:
为什么code=1会显示敏感信息出来?
可能是方便内部测试吧
最后漏洞也已经提交,拿下高危,图就不截了(漏洞目前已修复)
Good luck and happy hacking.
本文作者:辞令_WhITECat
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/176994.html