小迪安全2023-2024|第14天:信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ爬虫&笔记|web安全|渗透测试|

小迪安全2023-2024|第14天:信息打点-JS架构&框架识别&泄漏提取&API接口枚举&FUZZ爬虫&笔记|web安全|渗透测试|

一、前端JS打点00:06

1. 业务资产分类00:35

  • Web资产:包括语言/CMS/中间件/数据库/系统/WAF等
  • 系统资产:包含操作系统/端口服务/网络环境/防火墙等
  • 应用资产:涉及APP对象/API接口/微信小程序/PC应用等
  • 架构资产:涵盖CDN/前后端/云应用/站库分离/OSS资源等
  • 技术资产:包含Js爬虫/敏感扫描/端口扫描/源码获取/接口泄漏等技术手段

2. JS渗透测试02:34

1)什么是JS渗透测试
  • 核心概念:在Javascript中寻找可控变量和函数调用可能导致的参数漏洞
  • 白盒特性:JS开发的WEB应用即使没有源代码,也能通过浏览器查看真实代码点,相当于自带源码参考
  • 测试重点:主要寻找URL地址、分析代码逻辑(加密算法、APIkey配置、验证逻辑等)
  • 前后端区别:
    • 后端语言(PHP/JAVA/.NET)浏览器端看不到真实源代码
    • 前端语言(JS及框架)浏览器端可直接查看源代码
2)流行JS框架
  • 常见框架:Vue、NodeJS、jQuery、Angular等
  • 判定方法:
    • 使用插件wappalyzer检测
    • 源代码简短且引入多个js文件
    • 通常有/static/js/app.js等顺序文件
    • cookie中常见connect.sid标识
3)信息获取方法
  • 手工方式:通过浏览器直接搜索分析
  • 半自动:使用Burpsuite插件(JS Link Finder & JS Miner)
  • 自动化:各类提取&FUZZ项目工具
  • 价值信息:重点关注源码泄漏、未授权访问、敏感key泄漏、API接口安全等

3. 演示案例14:37

1)手工分析模式15:26
  • 分析步骤:
    • 判断是否为JS开发应用
    • 查看加载的js文件名(如admin、login等关键文件)
    • 分析文件内容寻找敏感信息(如源码泄漏、加密逻辑等)
  • 典型案例:
    • 发现ThinkAdmin后台管理系统
    • 识别md5加密处理逻辑
    • 定位登录验证码刷新机制
2)常见分析目标19:44
  • 关键函数:重点关注$.ajax等网络请求函数
  • 接口特征:查找http://service.httppost等接口地址
  • 敏感信息:挖掘APIkey、加密算法、验证逻辑等代码段
  • 工具推荐:
    • HaE:基于正则匹配的高亮标记插件
    • Unexpected_information:敏感信息标记工具

二、JS文件分析与路径挖掘19:53

1. JS文件获取方法20:00

  • 手工获取:通过浏览器开发者工具直接搜索JS文件,如查找/static/js/app.js等常见路径
  • 半自动工具:使用Burpsuite插件辅助扫描,可识别connect.sid等关键cookie信息
  • 自动化工具:利用FUZZ项目批量探测JS文件路径,效率更高但可能产生较多噪音

2. 路径地址与未授权访问20:30

  • 搜索目的:通过JS文件查找隐藏的API接口路径和连接地址,如admin/in或top/deadada等非常规路径
  • 典型场景:在JS代码中发现src="admin/top.go"等路径后直接访问,可能绕过登录验证实现未授权访问
  • 价值信息:路径中可能包含method: "get"、http.post(等关键请求方法,暴露系统接口调用方式

3. 前端架构分析与插件使用20:40

  • 插件组合:
    • HaE:用于高亮显示异常响应
    • Unexpected information:捕获非常规信息泄露
    • JS Link Finder:专用于JS文件中的链接提取
  • 环境配置:需要jython-standalone-2.7.2作为插件加载基础环境

4. 代码搜索与路径发现21:00

  • 关键词搜索:
    • src=:查找资源引用路径
    • $.ajax:定位AJAX请求端点
    • http.get(:发现直接HTTP调用
  • 分析技巧:
    • 注意未完整显示的路径,如src="+ret.data.image+"需要动态拼接
    • 关注layui.use等框架特有的模块加载语法
    • 检查window.onhashchange等事件处理函数中的路径逻辑

5. 示例网站分析22:00

  • 典型漏洞:在login.js中发现$.ajax({url: "/admin/common/login.shtml"...暴露后台登录接口
  • 信息关联:备案信息粤ICP备2021068834号-1等元数据可辅助资产识别
  • 框架特征:layui-v2.5.6等版本信息有助于漏洞匹配

6. 路径泄露与搜索技巧23:00

  • 高效搜索:
  • 验证方法:
    • 对发现的路径直接浏览器访问测试
    • 使用Burpsuite的Engagement tools->Find scripts功能批量验证
    • 结合Wappalyzer识别到的框架特征进行针对性搜索

三、登录操作24:02

  • 请求实现:通过
    .ajax方法向"/admin/common/login.shtml"发送POST请求,表单数据使用.ajax方法向"/admin/common/login.shtml"发送POST请求,表单数据使用.ajax方法向"/admin/common/login.shtml"发送POST请求,表单数据使用
    ('#login').serialize()序列化
  • 验证机制:前端验证码非空检查(data.captcha ''时弹出提示),验证通过后根据返回的res.code判断跳转(code1时跳转res.url)
  • 调试工具:使用Chrome DevTools中文版进行Elements/Console/Sources/Network等面板调试,演示了DOM断点设置和调用栈查看

四、后台管理登录24:19

1. 登录功能实现与调试24:26

  • 请求分析:Network面板显示20个请求共153KB资源,DOM加载时间177ms,包含jquery.min.js(321.3kB)等关键资源
  • 安全验证:登录操作未泄露敏感信息,演示了请求地址刷新和参数检查过程
  • 调试技巧:使用Preserve log保持日志,Disable cache禁用缓存进行准确调试

2. 登录相关安全与设置问题24:47

  • 设备限制:系统检测到登录设备数量超限,提示"请至个人中心进行设置"
  • 安全策略:展示了Windows设备登录记录(包含设备ID、地域、有效期等信息)
  • 第三方组件:系统使用HaE插件和jython-2.7.2插件加载器进行安全检测

3. 登录过程中的错误与解决25:12

  • 路径分析:需要跟踪代码换算真实路径(如server点对应实际路径),演示了通过jsfinder工具查找路径
  • 常见接口:
    • 登录接口:/admin/common/login.shtml
    • 验证码接口:需通过代码分析确定
    • 密码修改接口:通过字面意思识别
  • 分析方法:
    • 需要具备代码跟踪能力
    • 学会分析函数调用关系
    • 注意绝对路径与相对路径的转换
    • 通过搜索功能辅助定位关键代码段

五、bupsuit插件29:38

1. bupsuit插件的使用30:14

  • 单自动应用模式:演示bupsuit的基本操作模式,通过代理开启和网站刷新来捕获数据包
  • 目标分析功能:在目标区域右键选择"find scripts"功能,可自动显示访问网站时触发的脚本和路径
  • 插件安装方法:
    • 官方插件通过商店直接安装(js like find和js两个插件)
    • 第三方插件(hre和u磊)需手动添加,选择对应目录进行安装

2. bupsuit插件的功能34:40

  • 自带功能:
    • 自动捕获网站访问时触发的脚本和路径
    • 提供基础的数据包分析界面
  • 官方插件功能:
    • js like find:用于查找特定脚本
    • js:增强JavaScript分析能力
  • 第三方插件功能:
    • hre:标记请求包中的敏感信息(如js接口和特殊信息)
    • u磊:筛选并高亮显示关键数据包,便于快速识别重要信息

3. bupsuit插件的介绍40:22

  • 规则配置:
    • 通过config ye ML文件配置匹配规则
    • 可自定义关键字(如email、电话号码等)和对应颜色标记
  • 实际应用:
    • 自动识别js文件中的敏感信息(如username、email等)
    • 快速发现潜在的安全问题(如信息泄露、路径泄露等)
    • 示例:发现username字段可帮助分析代码作用,发现email地址可识别信息泄露风险
  • 工作模式:
    • 半自动模式:通过插件获取信息,需人工确认风险
    • 全自动模式:完整自动化分析流程(未完全演示)

六、findsomething插件45:16

1. findsomething插件的使用45:58

  • 安装方法:需在开发者模式下勾选"加载已解压的扩展程序",选择包含find something项目的文件夹目录
  • 置顶操作:安装后需将项目置顶显示,方便快速访问
  • 核心功能:
    • 自动识别网页加载的JS文件中涉及的域名
    • 提取JS代码中的敏感信息如手机号、路径等
    • 分析JS算法(如MD5加密)和文件加载路径

2. findsomething插件的介绍49:43

  • 工作原理:模拟人工分析过程,自动扫描JS文件内容
  • 典型发现:
    • 密码相关路径(如password=123456)
    • 用户登录/注册接口(user login等)
    • 后台管理路径(如admin、system_center)
  • 使用技巧:
    • 通过状态码判断未授权访问漏洞
    • 对比页面标题差异识别安全绕过风险
    • 重点关注upload_action等特殊路径

七、jsfive老牌常用插件50:35

1. jsfive老牌常用插件的介绍50:37

  • 特点:使用最广泛但功能相对基础
  • 局限性:
    • 分析深度不足
    • 信息提取效率较低
    • 需要配合其他工具使用
  • 适用场景:简单的JS文件初步筛查

八、ulul_fido插件56:17

1. ulul_fido插件的介绍

  • 优势:
    • 无需Python环境,开箱即用
    • 分析深度和广度显著提升
    • 可视化结果展示(带颜色标记)
  • 检测内容:
    • 敏感信息(邮箱、电话等)
    • 外部域名依赖(平均发现11个外部域名)
    • 接口路径(400+信息点/次扫描)

2. ulul_fido插件的使用56:58

  • 基本命令:直接加目标地址参数(-u)
  • 深度扫描:支持-d参数进行更深入分析
  • 结果解读:
    • 重点关注非200状态码的路径
    • 对比不同工具的分析结果
    • 验证疑似漏洞路径(如/excel导出功能)
  • 注意事项:
    • 数据量过大时需限制扫描范围
    • 敏感目标需谨慎测试
    • 建议配合人工验证使用

九、ffuf和pakc_fuzz01:04:15

1. ffuf插件01:04:21

1)功能特点
  • 专业用途: 专门用于fuzz测试的强大工具,通过爆破方式发现隐藏资源
  • 工作原理: 使用字典文件对目标路径进行暴力枚举,返回存在的资源路径
  • 典型应用: 主要用于发现网站未直接引用的JS文件,扩大信息收集范围
2)使用演示01:04:25
  • 字典来源: 提供专用字典下载站点,包含各类文件命名字典(如SBX字典、DR扫描字典、HTML字典等)
  • 字典示例: JS字典包含45.1M大小,最后更新于去年12月28日
  • 基本语法:
  • 其中FUZZ为占位符,-t指定线程数
  • 结果解析:
    • 返回状态码200表示存在该路径
    • 示例测试中扫描出241万条可能路径
    • 实际演示中发现login.js等隐藏JS文件
  • 价值分析:
    • 页面默认加载的JS通常只有7-8个
    • 通过爆破可发现额外JS文件(如演示中发现pep.js、one.js等)
    • 更多JS意味着更多潜在的信息泄露点

2. webpack插件01:15:32

1)工具定位
  • 专用对象: 针对使用webpack打包器的JS项目
  • 项目热度: GitHub上获得8k星标,属于高关注度项目
  • 检测前提: 目标网站必须使用webpack打包技术
2)使用方式
  • 基本命令:
  • 工作流程:
    • 自动分析webpack打包结构
    • 提取内部JS文件
    • 检测安全漏洞(如敏感信息泄露、未授权访问等)
    • 生成详细报告
  • 输出内容:
    • 风险等级分类(高危、中危等)
    • 具体漏洞描述(如演示中发现arc case k相关敏感信息)
    • 涉及的JS文件列表
3)价值说明
  • 与传统区别: 不是直接分析JS内容,而是解析打包结构
  • 效率优势: 自动化检测打包后代码的安全问题
  • 局限说明: 仅适用于webpack打包的项目,非通用解决方案

十、工具实际案例应用01:22:44

1. JS文件分析实战

  • 核心目的: 从JS文件中提取敏感信息,包括URL路径、接口信息、配置密钥等
  • 分析方法:
    • 人工搜索关键字(如access key、database host等)
    • 使用插件自动检测敏感信息(如个人邮箱、身份证号等)
    • 识别框架类型(如检测到v1框架)
  • 常见发现:
    • 阿里云access key
    • 腾讯云数据库配置(host、port、password)
    • 未授权访问接口路径
    • 敏感业务逻辑代码

2. JS渗透测试原理

  • 未授权访问:
    • 通过JS分析获取更多URL
    • 确定接口访问路径
    • 发现配置信息泄露(如短信应用密钥、数据库凭证)
  • 接口安全:
    • 分析代码中的加密提交方式
    • 追踪参数传递逻辑
    • 识别业务关键流程(如登录验证机制)

3. 工具分类与功能

  • 分析类工具:
    • 从表现层JS提取URL和敏感数据
    • 支持子域名发现、接口路径提取
    • 示例功能:高亮显示关键信息
  • 探测类工具:
    • 通过fuzz技术发现隐藏JS文件
    • 批量爆破可能存在的JS资源
    • 扩大信息收集范围
  • 框架检测工具:
    • 识别JS打包器类型
    • 分析webpack等构建工具配置
    • 辅助逆向工程

4. 开发视角的重要性

  • 代码逻辑分析:
    • 理解登录流程(提交地址、触发机制)
    • 逆向业务关键路径
    • 需要基础开发经验支撑
  • 渗透测试价值:
    • 发现配置信息泄露风险
    • 识别未授权访问漏洞
    • 辅助接口安全测试
  • 后续案例方向:
    • JS渗透测试实战演示
    • 开发简单案例理解原理
    • 工具组合使用技巧

十一、JS安全测试核心知识点01:30:19

1. JS信息提取方法

  • 三大核心问题:
    • 如何从表现层JS中提取关键信息
    • 如何通过fuzz技术从地址中提取未知JS文件
    • 如何对JS开发框架(如webpack)进行安全测试
  • 价值信息类型:
    • 配置信息(如API密钥、数据库连接信息)
    • 未授权访问端点
    • 隐藏的业务逻辑接口
    • 加密算法实现细节

2. JS信息获取策略

  • 双重获取路径:
    • 横向扩展:通过爆破发现更多JS文件
    • 纵向深入:从已知JS中挖掘深层信息
  • 典型应用场景:
    • 源码泄露(如.git目录暴露)
    • 敏感数据硬编码(测试账号密码)
    • 接口未授权访问漏洞

3. JS应用识别方法

  • 判定特征:
    • 使用Chrome插件检测JS框架特征
    • 分析不同路径的JS加载差异(如博客系统与后台系统)
    • 检查页面元素生成方式(动态渲染比例)

4. 测试技术体系

1)人工分析方法
  • 操作流程:
    • 筛选固定JS文件(如main.js、app.js)
    • 全局搜索关键词(API、token、password等)
    • 分析加密函数实现(如
      CryptoJS.AESCryptoJS.AESCryptoJS.AES
  • 搜索关键词:
    • 敏感配置:
      configconfigconfig
      ,
      secretsecretsecret
    • 接口端点:
      api/v1api/v1api/v1
      ,
      endpointendpointendpoint
    • 调试信息:
      console.logconsole.logconsole.log
      ,
      debuggerdebuggerdebugger
2)工具自动化方案
  • 推荐工具组合:
    • JSFinder(标签信息提取)
    • URLFuzzer(未知JS发现)
    • Webpack逆向工具
  • 特殊要求:
    • 需要加载专用字典(如百词斩字典)
    • 注意浏览器插件与独立工具的配合使用

5. 框架安全特性

  • 常见风险点:
    • 源码映射文件(.map)泄露
    • 开发模式未关闭(
      NODEENV=developmentNODE_ENV=developmentNODEENV=development
    • 依赖组件已知漏洞(如旧版jQuery)
  • 前后端差异:
    • 前端加密可能被逆向(如AES密钥硬编码)
    • 动态加载内容需追踪网络请求
    • XSS漏洞更易发生在JS渲染环节

6. 实战注意事项

  • 测试伦理:
    • 对真实站点测试需打码敏感路径
    • 禁止未授权测试生产环境
  • 效率技巧:
    • 优先使用浏览器插件快速筛查
    • 对webpack打包应用使用专用解包工具
    • 建立关键词字典提高搜索效率

十二、知识小结

知识点 核心内容 重点/易混淆点 难度系数
JS打点概念 从前端JS代码中提取敏感信息、接口地址和逻辑漏洞 与后端源码的区别:JS代码浏览器可见/后端代码服务器运行 ⭐⭐
JS框架识别 使用插件识别Vue/jQuery等框架 CMS可能混合使用前后端技术
人工分析方法 1. 筛选关键JS文件; 2. 全局搜索敏感关键字(src/api/login等) 需具备基础JS代码阅读能力 ⭐⭐⭐
半自动工具(BurpSuite) 1. 自带脚本分析功能; 2. 官方插件(JS Link Finder); 3. 第三方插件(HAE/U-LEE) 插件规则配置与颜色标记解读 ⭐⭐
全自动工具 1. JSFinder/URLFinder(路径提取); 2. ffuf(爆破JS路径); 3. Webpack打包分析 URLFinder支持深度关联分析 ⭐⭐
安全漏洞类型 1. 未授权访问; 2. 敏感配置泄露(AccessKey等); 3. 接口逻辑缺陷 信息泄露类漏洞在SRC中权重较高 ⭐⭐⭐
实战价值 1. 发现隐藏接口; 2. 分析加密逻辑; 3. 获取测试凭证 需结合fuzz技术扩大攻击面 ⭐⭐⭐⭐
工具链配置 1. 指纹字典(45.1M专业字典); 2. 规则库更新(config.yml) 爆破时注意线程控制(200并发) ⭐⭐
相关推荐
Never_Satisfied1 小时前
在JavaScript / HTML中,模板克隆并添加监听的注意事项
前端·javascript·html
摘星编程1 小时前
Transformer架构进化:从BERT到GPT-4,大语言模型如何重塑AI技术栈
人工智能·架构·transformer
IALab-检测行业AI报告生成9 小时前
IACheck AI 报告审核助手:整体架构与详细结构说明
大数据·人工智能·架构·ai报告审核
曲幽16 小时前
FastAPI实战:WebSocket长连接保持与心跳机制,从入门到填坑
javascript·python·websocket·keep-alive·fastapi·heartbeat·connection
锅包一切16 小时前
【蓝桥杯JavaScript基础入门】一、JavaScript基础
开发语言·前端·javascript·蓝桥杯
无心水17 小时前
【任务调度:数据库锁 + 线程池实战】1、多节点抢任务?SELECT FOR UPDATE SKIP LOCKED 才是真正的无锁调度神器
人工智能·分布式·后端·微服务·架构
linux_cfan18 小时前
[2026深度评测] 打造“抖音级”丝滑体验:Web直播播放器选型与低延迟实践
前端·javascript·html5
摩拜芯城IC19 小时前
ATSHA204A‑STUCZ CryptoAuthentication 安全认证芯片IC
python·安全
天天向上的鹿茸19 小时前
前端适配方案
前端·javascript