点点客某系统后台登陆绕过漏洞及解决方案

官网: http://www.dodoca.com/

爆出漏洞系统:

代理商管理系统 : http://daili.dodoca.com/

 

admin.PNG

该系统存在后台未授权绕过漏洞,在未正常登录系统而直接访问该系统后台目录或者页面的时候,它会返回正常的登陆后的处理结果里面加上JS跳转,以此来让未经授权的用户跳出后台页面跳到登陆页面去。同时测试发现后台也存在有参数过滤不言,导致的SQL漏洞。

绕过的方法:

使用Brupsuite等抓包工具,在返回的包内容中处理掉这端JS代码,然后可以如合法登陆后台用户一样,查看和操作后台的部分功能,比如用户信息的查询,修改,充值、消费记录的查询、(某些需要当前用户信息做参数的功能没法操作)。

直接产生的危害:

造成平台上所有微伙伴的信息比如:姓名、手机号、座机号、QQ邮箱、QQ号 公司或机构或家庭详细地址的泄露

间接带来的严重危害:

主站http://www.dodoca.com/ 登陆没有做验证码策略,利用泄露的信息中用户名可以爆破猜的用户的登陆密码,一旦登陆进去了 危害就非常大了,利用这个平台给这些客户下面的客户推送一些恶意广告,钓鱼链接,盗号木马什么的都不是难事了。

Ps:前天室友还在问我能不能帮他在微信上一家公司刷票,我当时说没弄过,也不知道怎么下手,经过今天我知道怎么下手了。找到那家公司使用的微信平台,然后突破了这家公司在这平台的认证,然后就能帮他了--我觉得应该是这么的
 

漏洞证明就直接看图说话了:

先看效果图:

很多用户:
 

users.PNG

根据页面数目和单页用户数计算估计有2.5万用户:
 

25100人.jpg

用户详细信息:
 

detailInfo.PNG

可以添加新用户,修改原用户数据 不一一展示了:
 

addUser.PNG

利用用户的账号,猜测用户点点客主站密码并登陆:

可以爆破
 

youcanFuck.jpg

登陆进去:这个用户名和密码一样的

 

jsonhao.PNG

顺带看看这SQL注入:SQL注入是很严重的高危漏洞,一定要过滤好用户提交参数哟。
 

sqlInj.jpg

我使用Brupsuite是这样绕过的:

在:proxy->options->match and replace 里面添加了两条策略:

1. 在响应体里正则匹配n=3; 替换成 n=3000;这实现了在后台主页面停留从3秒后跳转变成3000秒后再跳转。这样我就不担心跳来跳去了。

2. 在响应体了匹配,<script>top.frames.location.href = '/index'</script> 替换成 <script>alert('hello cf_hb');</script> 这个解决了点击后台每一个模块时会跳出去,顺带弹个hello cf_hb 出来娱乐一下。

如下图:

添加两策略
 

Nojump.jpg

源码中的JS跳转代码:

主页停3秒,跳出代码
 

jump3sendos.PNG

每个模块响应体里的js跳出代码:
 

jump.PNG

添加策略之后:

弹hello cf_hb
 

cf_hb.png

3000秒后跳出:
 

Nojump.jpg

解决方案:

建议一:

用js跳转并没有问题,问题在于为什么还要响应这些未授权用户的请求的数据,后台逻辑判断用户没有合法登陆时,直接返回js跳转代码,跳到登陆界面去。

建议二:

主站用户登录增加验证码机制,防止暴力破解猜测用户密码。