挖掘后台api的未授权访问漏洞

admin 2021年12月4日16:04:50安全文章评论35 views1334字阅读4分26秒阅读模式

文章首发于火线Zone社区(https://zone.huoxian.cn/)


现在越来越多的网站前后端分离,javascript代码基本都会使用webpack这样的工具进行打包,打包过后的javascript代码会被混淆压缩,一个js文件就上万行代码,增加了读取javascript源码业务逻辑的难度。

(如果存在xxx.js.map可以进行还原js,但现在很多安全性做的还可以的都没有),很多人可能会因此放弃去看这些js的api并测试,但是其实就是在这种api里面会存在很多漏洞。

这个方式对测试那种需要登录的后台特别管用,首先清空浏览器缓存,打开burpsuite抓包功能,访问一个打包了javascript的网站。


挖掘后台api的未授权访问漏洞


如上图在网站的根路径,前后端分离使用webpack打包的巨大坏处就是即使这里是网站的登录界面,但是这里加载的app.xxxxxx.js(不是类似这个js,那你就点一下登录看他的登录接口路径或者用其他接口的路径在burpsuite里面搜看js接口在哪个文件)里面一般就会包含后台的所有接口。


挖掘后台api的未授权访问漏洞


如上图所示有个api的路径包含is-login-need,我直接在response搜索哪个js存在这个api,然后就找到这个包含所有api的js。

基本网站的api都存在共性,这个地方就可以直接读取整个js文件内容,使用双引号对文件内容进行分割,遍历所有分割的结果,如果遍历分割的单个值存在 /api/就保存下来,这样就拿到了后台的所有api接口。

然后拿着这些api接口送的intruder使用GET/POST(或者部分网站存在PUT/DELETE自己视情况而定)遍历一遍,对于返回结果显示需要授权的可以直接忽略,如果存在未授权的接口就需要你去构造参数。

(这里需要提一下有些网站的api接口参数直接存在于这个api的js里面(即使在这个js里面有时候运气不好也不好找,但是有些网站的参数就需要你在后台访问相应的那个接口页面然后那个页面的js会存在参数,这个真的就是要看运气了)。

使用这个方式找到某X一个后台未授权接口,直接提示我哪些参数需要提供然后直接构造可以看到用户的身份证地址电话等信息。

也找到某XX一个后台api返回一个内部app下载地址,app的登录界面直接fastjson rce,还有其他很多网站那种垃圾的未授权的接口,还有很多文件上传接口都是未授权。

(很可惜要么只能传图片要么传到oss服务器,希望哪天可以rce)。

祝火线发展越来越好,大家挖更多的严重和更多的奖金。


挖掘后台api的未授权访问漏洞

【火线zone社区周激励】

2021.11.22 ~ 2021.11.28公告


挖掘后台api的未授权访问漏洞


【相关精选文章】


挖掘后台api的未授权访问漏洞

挖掘后台api的未授权访问漏洞


挖掘后台api的未授权访问漏洞

火线Zone是[火线安全平台]运营的封闭式实战安全攻防社区,研究讨论实战攻防技术,平台向顶尖的白帽子提供安全测试的云端基础设施,目前火线的高级白帽子数量已经近万人,欢迎具备分享和探索精神的白帽子加入火线Zone社区,共建一个有技术氛围的优质社区!

如需转载火线Zone公众号内的文章请联系火线小助手:hxanquan(微信)


挖掘后台api的未授权访问漏洞

//  火线Zone //

微信号 : huoxian_zone


挖掘后台api的未授权访问漏洞

点击阅读原文,加入社区,共建一个有技术氛围的优质社区!

原文始发于微信公众号(火线Zone):挖掘后台api的未授权访问漏洞

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月4日16:04:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  挖掘后台api的未授权访问漏洞 http://cn-sec.com/archives/660117.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: