主页 > 网络知识 > 最后一个登录框引起的血案(3)

最后一个登录框引起的血案(3)

 

最后一个登录框引起的血案

 

于是我构造数据包。对了,有一个技巧,其实不用构造数据包,直接将我红框标记的区域复制出来,粘贴到开发者工具,js的控制台里,然后替换userCode变量跟password变量回车抓包即可。

我推测存在admin用户,果然推测成功。

 

最后一个登录框引起的血案

 

最终顺利登陆后台,赚的2000元的赏金。

0×06 其他

当然还有很多其他类型的,如apk重编译突破登陆限制、图型验证码dos攻击、历史漏洞、Http Request Smuggling等。

我便不再说了,网上很多资料。打算完结了,也不会再写啦。

0×07 综合

说一个综合的吧。我这个漏洞是利用了web端跟pc端处理逻辑不一样,然后通过pc端js文件发现了密码规则(这不是一个单纯的名命规则)及可用来枚举用户名的接口来进行突破的。

案例

Web端非常安全,我通过fuzz目录,xxxx.jsp,发现了该站点的一个app下载地址download.jsp。

这个PC端跟web一样存在图型验证码,只不过web端的图形验证码无法绕过,但是pc端的图形验证码可以通过删除该字段的值进行绕过。

但是,不管用户名是否存在,反馈都是一样:账号不存在或密码错误。

这个站点我放弃了很多天,因为js文件实在是太太太太大了,除了大还有别的障碍,总之就是一句话,读起来费劲。

最终我还是一段代码一段代码的读了。

如下图,原始功能是,用户改变自己的在线/离线状态。

 

最后一个登录框引起的血案

 

这个接口导致我可以在未登陆状态下,通过账户名加在线(1)离线(0)来根据响应包判断出用户是否存在。

如果用户名存在,那么res的值为1(即切换状态成功),如果不存在那么值为-1

最后一个登录框引起的血案

 

通过下图,可以得知密码的名命规则,字母+数字+特殊字符,最短8位。

这样的密码规则,确实难爆破,我心中一凉。

 

最后一个登录框引起的血案

 

但是峰回路转的是,我看到了以下代码。

于是我推测,可能是因为后台的某些功能,导致会存在不符合规则的密码存在,使用这些不符合规则的密码进行登陆时,依旧可以登陆成功。

window.loation.href= main_url;

 

最后一个登录框引起的血案

 

于是我用枚举出来的几千个账号,尝试123456的密码。最终成功登陆了PC端跟web端,结合其他福利获得了2300元的赏金。

对了,再补充一下,通过删除图形验证码的值绕过校验的截图。

 

最后一个登录框引起的血案

 

0×08 临别

最后分享我师傅送我的一句话:在路上点滴挪步,不骄不躁。

对啦,容我再打一个小广告,哈哈哈哈哈,喜欢相互分享的同学,很乐意各位加入我们米斯特安全团队,这里有着每个人各种各样的分享。 

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!