JS端点枚举 从已知推断未知的渗透技巧
原创
M9
M9
白昼信安
2026年7月15日 15:33
甘肃
在小说阅读器读本章
去阅读
在最近的漏洞挖掘中,AI在一次JS分析中有一个很有意思的操作:通过分析JS找全部接口,然后分析接口路径结构和命名规则,构造可能存在的端点列表FUZZ,挖出了一个未授权全站用户泄露。
第一步:提取JS 和 已知 API 端点
# 方法 1:匹配 .htm 端点(Java 项目常用)
grep -oP '[\"\\x27][^\"\\x27]*\\.htm[\"\\x27]' *.js
# 方法 2:匹配 url 变量
grep -oP 'url\\s*[=:]\\s*[\"\\x27][^\"\\x27]+[\"\\x27]' *.js
# 方法 3:匹配 AJAX 请求
grep -oP '\\.post\\([\"\\x27][^\"\\x27]+[\"\\x27]' *.js
# 方法 4:匹配 BASEPATH 拼接
grep -oP 'BASEPATH\\s*\\+\\s*[\"\\x27][^\"\\x27]+[\"\\x27]' *.js
第二步:分析JS中接口的命名规律
/base/authoriza/user/{操作}.htm ← 用户管理
/base/authoriza/login/{操作}.htm ← 登录相关
/base/msg/tips/{操作}.htm ← 消息通知
/act/activitiMain/{操作}.htm ← 工作流引擎
/pro/comm/proCommunity/{操作}.htm ← 小区管理
/wx/config/{操作}.htm ← 微信配置
规律:模块前缀 + 动词 + 名词本案例使用驼峰式,且动词在前。
第三步:构造候选端点列表
已知端点:
/base/authoriza/user/getCurUser.htm
/base/authoriza/user/sendSms.htm
推测端点:
/base/authoriza/user/queryUser.htm ← 查询用户列表
/base/authoriza/user/addUser.htm ← 添加用户
/base/authoriza/user/updateUser.htm ← 更新用户
/base/authoriza/user/deleteUser.htm ← 删除用户
/base/authoriza/user/resetPassword.htm ← 重置密码
/base/authoriza/user/changeStatus.htm ← 修改状态
............
然后将这些推断存在的接口整理成字典批量即可。 输出:
Endpoint StatusCode Status
-------- ---------- ------
/base/authoriza/user/queryUser.htm 200 ✅ 存在且可访问
/base/authoriza/user/addUser.htm 404 ❌ 不存在
/base/authoriza/user/updateUser.htm 000 ❌ 连接失败
/base/authoriza/user/deleteUser.htm 302 ⚠️ 存在但需认证
/base/authoriza/user/resetPwd.htm 404 ❌ 不存在
/base/authoriza/user/exportUser.htm 404 ❌ 不存在
通过构造的queryUser端点成功获取全站用户数据。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









![[EDU]一次偶遇kkFileView"](/images/random/titlepic/4.jpg)
评论