记一次JS未授权访问漏洞

前言
上周六参加了最近一期的听火沙龙,各位师傅分享了很多有意思的挖洞姿势和议题,根据会后梳理和完善,现以分享交流未授权的一些拙见,各位大师父们如果有更好的意见建议,欢迎评论交流。
正文
1.第一次访问站点,需要注意多收集接口(多做信息收集),把站点能点的按钮先触发一边,可配合利用谷歌插件FindSomething或BurpJSLinkFinder插件做一些被动接口收集,我习惯用BurpJSLinkFinder。
图片[1]-记一次JS未授权访问漏洞-安全小天地
2.如果系统有登录,先退出登录在进行接口遍历,如果没有登录逻辑,可收集完直接进行接口api的遍历访问即可,跑完再对响应进行分析,对一些主要针对查询、修改、文件类操作类接口重点进行认为(性价比高),分析响应,如果响应出现301/302/缺少参数/参数错误,可以进行前端JS的API的数据参数名获取。
图片[2]-记一次JS未授权访问漏洞-安全小天地
3.参数值一般从历史响应搜参数名从body、header里找参数值,有些会响应body进行了加密,这种直接从前端本地存储或会话存储中找值即可,这是因为前端要解密调用,如果都未找到可进行fuzz(fuzz根据网站开发编码习惯进行针对性添加值可提高fuzz成功率)
图片[3]-记一次JS未授权访问漏洞-安全小天地
图片[4]-记一次JS未授权访问漏洞-安全小天地
4.找到参数后就可以进行构造重放测试了,下面是成功构造出的src案例,可以未授权访问系统历史用户过期密码数据
图片[5]-记一次JS未授权访问漏洞-安全小天地
5.使用bp插件BIE提取历史账号、密码字段结合系统登陆未进行防重放防护,可进行进一步利用。
<1>提取Response账号
图片[6]-记一次JS未授权访问漏洞-安全小天地
<2>提取Response密码
图片[7]-记一次JS未授权访问漏洞-安全小天地
<3>解密MD5密文
图片[8]-记一次JS未授权访问漏洞-安全小天地
6.拿到账号和过期密码就可以进行暴力破解了,最后跑出来300多账号,各个权限都有,如果现有的密码未爆破出高权限密码,可针对历史高权限账号的密码规则进行新口令生成,做针对性爆破,漏洞的利用也是危害的提升。
图片[9]-记一次JS未授权访问漏洞-安全小天地
总结
此处资产因为是弃用的,遍历账号密码到此已经达到厂商最高危害,没有进行后续拿系统权限等后渗透操作(需要厂商授权),系统设计之初未考虑到安全防护,后续可进行登录防暴力破解,权限控制、增加密码复杂度和历史密码不能一致等方面进行防护,如有不足请各位大师傅多多指正。
工具推荐
接口收集工具:
https://github.com/portswigger/js-link-finder
BP提取数据工具BIE:
https://github.com/theLSA/burp-info-extractor/releases/tag/v1.1.1
Flywuhu师傅在zone分享过的弱口令脚本工具:
https://github.com/fcre1938/PwdBUD

文字来源于- 火线 Zone-云安全社区,安全小天地只做文章分享,如有侵权,请联系站长删除


「渗透云记」公众号里主要记录我每天的所思所想,我会坚持更新质量不错的文章,感兴趣的小伙伴可以扫描下方二维码,谢谢支持! 安全小天地 - 公众号 - 渗透云记
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容