0x00 前言

在网站前后端分离盛行下,将大部分权限控制交给前端,导致js中隐藏未授权或者可绕过的前端鉴权。前后端分离的好处是提高开发效率,同时防止黑客更直接的对服务器造成危害,但权限控制的工作量全部交给前端会导致大量页面未授权或者后端接口未授权的信息泄露,从而再次危害其他系统的安全。

0x01 案例一

某事业单位接口泄露

发现过程

在js中发现与登录界面的类似规格的url,如图所示

image-20220901112103093

共找到大致四个链接:*view.w,和mian.w包含了main1.w,main2.w,main3.w。

image-20220901113844337

访问发现弹窗这个监管点获取失败

image-20220901114605813

在js中找到控制这个的代码,感觉登录可以绕过,当时没有深究,就先算了

image-20220901114642807

点击确定或刷新链接之后,抓包,发现json传参重放包,大量个人详细信息泄露,包含人名,身份证,手机号,家庭住址等信息,原谅信息太多只能打码。

image-20220901155847414

image-20220901115607134

小结

本网站将登录权限,部分url写在js中导致后端数据接口在前端控制,后端未授权情况下加载导致大量数据泄露。

小插曲:比赛结束听裁判说其他队是构造的数据包,然后我检查了下js,发现里面的参数写在里面,确实可以构造,但你说能直接抓到为啥还要构造?当然构造的是大神

0x02 案例二

某建工公司档案库越权访问

发现过程

在一个银行资产的C段在鹰图找到的一个站,直接访问就可以下载和预览所有文件

image-20220901125213756

最让人哭笑不得的是账号统计的地方,点击进去是该公司其他平台的账号密码,包含近70个,且它是存在腾讯文档里面,截图就不展示了,因为全是马赛克。(当时看到的时候我笑的肚子疼)

这么顺利的原因全都因为我的一个浏览器插件uBlock Origin

当我让队友访问时会弹出登录框,但我的不弹,让他尝试抓包改包能否绕过,发现仍然不行,我换了浏览器发现也弹窗。通过检查才发现是我的插件把这个登录框弹窗当成广告屏蔽了,才导致我可以直接访问。

image-20220901125953529

image-20220901125747805

小结

本系统通过插件绕过了登录,泄露了大量身份证,合同,绩效,照片,毕业证,执业证书,各大系统的账户名密码等等,可以说一个档案库泄露直接将全公司上下的人及其资料透明的摆在我面前。

小插曲:上述系统后续复盘发现它是有域名的,但两个域名均没有备案,但我却可以直接访问,说明服务器可能在香港。但我访问的是该地级市的企业专线啊,通过ping发现两个域名均跳转在一个香港云服务器的域名下,因此怀疑它是做了内网穿透,但源服务器又暴露在公网上,或者流量转发等操作,具体我不太清楚,有大佬懂原理,可以帮忙解释一下。

0x03 案例三

某JJ支队后台到代码泄露

发现过程

找资产的途中发现了某系统的后台管理,弱口令可以登进去我也是醉了。

image-20220901132619969

交了之后再写报告的同时发现该域名下有其他端口,发现下面的一个系统

image-20220901132517490

直接通过HTML View即可下载所有的代码文件,该版本的系统没找到Nday也就没深究。

image-20220901132952498

小结

本系统如果设置了登录应该是要鉴权才对,但通过检查是可以预览和下载所有没有权限限制,且没有受插件的影响。这个系统我没用过,算是弱口令之后的再一个捡漏吧。

0x04 案例四

某大数据公司系统接口泄露到整个县区的信息泄露

发现过程

找到一个公司对整个县区的管理平台,但登录需要发送手机验证码,右键查看js发现新大陆。

在js中找到了其它系统的地址和api接口,包含摄像头,手机号等等相关的接口

image-20220901135458691

拼接后访问发现大致有500多个人名/手机号,在新系统上利用用户名手机号,密码为123456均可登录。

下图为访问接口并进行json格式化的结果

image-20220901140717137

登录尝试后部分账号无权访问,但大多数账号均可正常访问,且系统有大量数据,包含身份证号、手机号、住址、民警姓名和联系方式等敏感信息,大致整个县区的居民信息都在其中。

下图为其中一个账号截图

image-20220901141125043

小结

本系统由于将接口和测试地址,正式系统地址放在config.js,泄露接口且接口没有任何鉴权,与此同时网络安全意识差,没有人改过默认密码,导致整个县区接近5W人的信息全部泄露。

0x05 总结

本次未授权总结基本没有难点,未授权的发现在于信息收集,以及运气和经验。

在网站前后端分离盛行下,将大部分权限控制交给前端,导致js中隐藏未授权或者可绕过的前端鉴权。前后端分离的好处是提高开发效率,同时防止黑客更直接的对服务器造成危害,但权限控制的工作量全部交给前端会导致大量页面未授权或者后端接口未授权的信息泄露,从而再次危害其他系统的安全。