实战|全程分析js到getshell
字数 976 2025-08-09 22:00:43
从JS分析到GetShell的完整渗透过程教学
1. 信息收集阶段
1.1 子域名收集
- 使用工具收集目标学校(山东理工大学)的所有子域名资产
- 发现大多数子域已被其他安全研究员挖掘过漏洞
1.2 公众号分析
- 通过学校官方微信公众号寻找新的攻击面
- 公众号中可能包含未公开的Web应用或接口
2. 前端分析技术
2.1 F12开发者工具使用
- 审查网页元素和JavaScript代码
- 查找隐藏的API接口或敏感信息
- 替代工具:JSFinder或Burp Suite插件
2.2 JavaScript代码审计要点
- 查找硬编码的敏感信息(API密钥、密码等)
- 分析AJAX请求寻找后端接口
- 检查不安全的函数调用(eval, innerHTML等)
- 追踪表单提交逻辑
3. 漏洞发现与利用
3.1 任意文件上传漏洞
- 通过JS分析发现文件上传功能
- 绕过前端验证的方法:
- 修改Content-Type
- 篡改文件扩展名
- 使用双扩展名(.php.jpg)
- 修改文件魔术头
3.2 漏洞利用步骤
- 上传Webshell文件(如一句话木马)
- 绕过文件类型检查
- 获取上传后的文件路径
- 通过浏览器访问上传的Webshell
4. 权限提升与内网渗透
4.1 基础权限获取后操作
- 收集服务器信息(系统版本、服务等)
- 查找数据库连接信息
- 尝试横向移动
4.2 内网VPN的重要性
- 无内网VPN时渗透受限
- 通过已获取的Webshell建立隧道
5. 防御建议
5.1 针对文件上传漏洞
- 实施严格的文件类型验证(后端验证)
- 使用随机文件名并隐藏存储路径
- 设置文件内容检查机制
5.2 前端安全措施
- 避免在前端代码中暴露敏感信息
- 实施严格的CORS策略
- 对API接口进行鉴权和限流
6. 工具推荐
- 信息收集:Sublist3r, Amass, JSFinder
- 漏洞扫描:Burp Suite, OWASP ZAP
- 文件上传测试:Upload Scanner插件
- Webshell管理:AntSword, China Chopper
7. 注意事项
- 所有测试需获得授权
- 发现漏洞后及时报告不利用
- 测试过程中避免影响系统正常运行
- 遵守EDUSRC等漏洞平台的规则
通过这种从JS前端代码审计到最终GetShell的完整链条分析,可以全面了解现代Web应用渗透测试的完整流程和关键技术点。