文章总结: 本文记录了利用存储型XSS、未授权访问及JS逆向攻破某证书站的实战过程。作者通过审计JS发现接口缺陷,泄露敏感信息并实现任意用户登录;再逆向分析登录加密参数爆破获取超管权限。文章展示了JS审计与逆向技术在红队实战中的应用价值,建议加强对API权限校验与前端加密逻辑的防护。 综合评分: 85 文章分类: 渗透测试,实战经验,WEB安全,漏洞分析
链式未授权到任意用户登录拿下证书站
原创
zkaq-bielang
掌控安全EDU
2026年1月10日 14:10 江西
扫码领资料
获网安教程
本文由掌控安全学院 – bielang 投稿
来Track安全社区投稿~
千元稿费!还有保底奖励~( https://bbs.zkaq.cn)****
一.前言
本文涉及的相关漏洞均已修复、本文中技术和方法仅用于教育目的;
文中讨论的所有案例和技术均旨在帮助读者更好地理解相关安全问题,并采取适当的防护措施来保护自身系统免受攻击。
二.大概流程
- 1. 入口获取:通过已获得的统一身份认证账号密码登录系统,进入目标子系统。
- 2. 存储型XSS漏洞挖掘与利用:
- • 发现附件上传功能,前端仅做了JS校验;
- • 通过Burp Suite改包绕过前端限制,实现任意文件上传;
- • 上传HTML文件(如XSS payload)但无法解析 jsp;
- • 通过分析前端JS代码发现图标资源路径,拼接出上传文件的访问URL,成功触发XSS。
- 1. 未授权访问漏洞(文件删除与信息泄露):
- • 使用工具(如findsomething、LoveJS)提取JS中的接口,并配合手工审计;
- • 发现
**/detail?id=**接口存在未授权遍历,可获取敏感文件信息; - • 发现
**/delete?id=**接口存在未授权删除风险(未实际测试); - • 发现工单查询接口未授权泄露用户学号、姓名、手机号等敏感信息。
- 1. 未授权访问漏洞(任意用户登录):
- • 通过泄露的手机号,调用
**/getUserByPhone?phone=**接口未授权获取用户密码(明文或可逆加密); - • 结合泄露的学号、手机号及密码,实现任意用户登录。
- 1. JS逆向获取超管权限:
- • 发现子系统独立登录口(非CAS集成),但统一账号无法直接登录;
- • 分析登录请求中的加密参数,通过JS逆向获取加密逻辑;
- • 使用Burp插件(如cloudx)实现自动化加密,对账号密码进行爆破;
- • 成功爆破出管理员账号密码,登录后台并发现多处XSS漏洞。
三.正文
之前的证书站好久没发货了,所以想挖点其他的证书,顺便上上 rank,于是有了这篇文章。
前言:拥有了某大学的统一身份认证权限(账号密码),进入统一之后发现系统很多,点开一个一个测试,最后在某个子系统发现了漏洞:
存储 xss
子系统下有一个附件上传的点
前端 js 做了校验,所以上传 png 后 bp 改包发现任意文件上传,但是上传 shell 发现无法解析,这套系统是若依二开的,所以传上去也无法解析,就只能打 xss 了。
POST xx/xx/uploadImg HTTP/1.1
Host: xx.xx.edu.cn
Cookie:
Content-Length: 211
Sec-Ch-Ua-Platform: "Windows"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Sec-Ch-Ua: "Not;A=Brand";v="99", "Google Chrome";v="139", "Chromium";v="139"
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary1NKotycTLlciokiM
Sec-Ch-Ua-Mobile: ?0
Accept: */*
Origin:
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer:
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Priority: u=1, i
Connection: keep-alive
------WebKitFormBoundary1NKotycTLlciokiM
Content-Disposition: form-data; name="file"; filename="hack2.html"
Content-Type: image/html
<script>alert(1)</script>
------WebKitFormBoundary1NKotycTLlciokiM--
虽然传上去了,但是没有返回路径,尝试拼接了好几个接口都不行,而且这个时候只能从前端找一下静态资源文件,但是前端也没有图片之类的,但是运气很好,最后在 js 中发现一个 icon 的地址:
最终找到一个下载地址:
https://xxx.xxx.edu.cn/xxxx/xxx/24102xxxx.svg
改后面的文件名称为刚才上传的,成功触发:
https://xxx.xxx.edu.cn/xxxx/xxx/250821220651263926.html
未授权 1 (文件删除)
刚开始我是使用了 **findsomthing** 和**LoveJS V1.2****👋**
提取接口然后 bp 跑了 get 和 post 请求,但是都没有什么泄露的信息。
最后还是自己审计 js 发现两个接口:
/xxx/xxx/delete?id= /删除接口
/xxx/xxx/detail?id= /详情接口
使用 bp 跑详情接口:
可以发现是可以遍历出文件的:
同理,删除接口应该也存在这个问题,但是接口过于敏感,我并未测试
未授权 2(任意用户登录)
依旧是审计 js,发现**?id**这个参数很多,所以着重看了带这个的接口,最后发现一处可以未授权获得别人提交的工单 :
发现这个工单中是返回了当前 id 的学号、姓名、手机号以及工单信息。
然后想着还是没有太大危害,这个泄露的信息 edu 也不收,就只能继续看下去,因为看了好几个接口都存在未授权问题的话,那么这套系统大概率其他接口都存在这个问题,同时在上面我们获得了用户的学号和手机号,那么我的思路就是看看能不能从这两个字段搞到一些敏感信息,所以我检索了 xh 和 phone 这两个参数,最后检索到这样一个接口:
/xxx/xxxxx/getUserByPhone?phone=
很明显这个是获取用户详情的一个接口,于是使用上面获得的手机号跑一下:
成功得到用户的密码。
js 逆向到超管权限
刚开始我是从 cas 传递的令牌进入的这个系统,后面我退出登录后,发现它其实有单独的登录口,没有走 cas 的集成,但是统一的那个账号却在这里登录不上,显示无账号存在
https://xxx.xxx.edu.cn/login
所以感觉这里可能有弱口令,但是当前的登录口登录抓包发现存在加密:
这个时候其实不太想打了,因为上面的已经可以换到证书了,哈哈,但是从老大那里学到了 js 逆向,那就必须得逆一下咯。
验证没问题:
设置 bp 插件 cloudx:
接下来 就是发送到爆破模块去爆破账号了:
成功爆破出账号密码,登录后台:
同时后台也有很多 xss 漏洞。
四.总结
最后也是如愿换到了证书:
总体难度不大,带点狗运,主要是审计 js 接口,有不对的地方请师傅们指正,感谢观看。
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
没看够~?欢迎关注!
分享本文到朋友圈,可以凭截图找老师领取
上千教程+工具+交流群+靶场账号哦
分享后扫码加我!
回顾往期内容
我与红队:一场网络安全实战的较量与成长
网络安全人员必考的几本证书!
文库|内网神器cs4.0使用说明书
重生HW之感谢客服小姐姐带我进入内网遨游
手把手教你CNVD漏洞挖掘 + 资产收集
【精选】SRC快速入门+上分小秘籍+实战指南
代理池工具撰写 | 只有无尽的跳转,没有封禁的IP!
点赞+在看支持一下吧~感谢看官老爷~
你的点赞是我更新的动力
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:掌控安全EDU zkaq-bielang《链式未授权到任意用户登录拿下证书站》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论