echo版| 看我如何玩转Js-fuzz

admin 2023年6月22日04:21:03评论47 views字数 1076阅读3分35秒阅读模式

今天无意看到Aedoo_师傅在freebuf发的两篇js审计文章,我也想写写这块,这玩意空缺还是很大的。

echo版| 看我如何玩转Js-fuzz

Js到暴露系统服务接口

我们知道,登录后进入系统->系统加载菜单、功能点这些实现依赖接口,这些类型有结尾为getxxx;同时也需要加载js来传输这些路径,因为我们是和前端交互,每次点击触发需要函数函数->接口实现需要js。

所以,大多数系统进入系统优先加载js、css这些静态文件,而这些静态文件大多是不鉴权的,我们就可以利用这点来进行fuzz,目的就是发现未授权接口。

0x01. 案例1

菜单类:,我们知道,后台通常存在登录地址,登录地址不鉴权,根目录为/manager,那它会优先加载js,然后我们请求这个地址,他为了加载路由,会加载全局的js或者一些相关的js。

echo版| 看我如何玩转Js-fuzz

这时候,我们拿到了/manage/static/js/manifest.xxxx85a86ca.js

利用jsfinder等工具通过正则提取path

echo版| 看我如何玩转Js-fuzz

发现了ewebeditor,后续通过漏洞getshell

echo版| 看我如何玩转Js-fuzz

0x02.案例2

有些师傅玩Js能404进行fuzz,这完全看字典,fuzz-js文件纯属看运气

同样的思路延申到绕过,有的站点会提供login.js

返回对应状态码会跳转到main,这时候又会加载全局js。

echo版| 看我如何玩转Js-fuzz

可以看到发现shiro框架,又有可玩的点了...

通过加载的路由又发现了对应的js文件index/js/mainIndex.js

后续就没啥写了...

0x03 案例3

案例1的再延申,如果你注意的话会发现,加载这些js是为了传输菜单或者接口而触发的函数。那么,是不是只要存在功能的的地方就能js-fuzz呢?

  • 找回密码
  • 发送验证码
  • 加载全局路由
  • 注册
  • 验证码登录
  • 逻辑跳转
  • 越权跳转

Tips: 这里只单独谈了js的一些fuzz,目的就是找到更多接口,当然接口是否能访问和它对应的菜单层数有关

目前通常在二级目录/xxxapi/后续拼接对应接口,拼接返回404即不在这一层目录下。这里也有很多细节,和Aedoo_师傅写的差不多,可以参考他如何从404fuzz->Ssrf

https://www.freebuf.com/vuls/265163.html

原理都是一样的,利用加载路由或者接口需要触发函数,路径写在了js文件中。

字典

https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/SVNDigger/cat/Language/js.txt

原文始发于微信公众号(迪哥讲事):echo版| 看我如何玩转Js-fuzz

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月22日04:21:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   echo版| 看我如何玩转Js-fuzzhttps://cn-sec.com/archives/1826430.html

发表评论

匿名网友 填写信息