小迪安全v2023学习笔记(一百零四讲)—— 漏扫项目篇&武装BURP&浏览器插件&信息收集&分析辅助&遥遥领先

前记

  • 今天是学习小迪安全的第一百零四天,本节课是关于武装Burp以及浏览器的内容
  • 主要是分享一些好用的工具项目,帮助我们更好的发现漏洞

漏洞发现——第一百零四天

漏扫项目篇&武装BURP&浏览器插件&信息收集&分析辅助&遥遥领先

插件类 - 武装BurpSuite-漏洞检测&分析辅助

漏洞检测类:
Fiora
  • Nuclei提供PoC图形化界面,实现快速搜索漏洞,一键运行PoC等功能,提升体验

  • 项目地址:https://github.com/bit4woo/Fiora
    在这里插入图片描述

  • 当我们知道一个目标是什么框架的时候,就可以直接针对这个框架漏洞开扫,比如我们随便启动一个Shiro的靶场,然后用这个工具扫一下看看:
    在这里插入图片描述

  • 这里需要先配置个Nuclei的环境,然后选择需要测试的PoC,选中点击Run This Poc即可:
    在这里插入图片描述

  • 它就会起一个终端调用Nuclei帮你扫描,如果需要批量扫描某个框架漏洞,可以选中Run PoCs With Tags,填入特定的标签就可以让他扫描

  • 但是它只是一个主动式的扫描工具,需要我们先大致判断出来这个网站可能存在什么漏洞,然后自己去扫

TsojanScan
  • 这个工具集成了常见的框架漏洞,并且是以被动扫描的方式去探测某个网站是否存在漏洞,其实就是什么Log4jScan、ShiroScan、SpringScan等工具的一个集合

  • 项目地址:Releases · Tsojan/TsojanScan
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 比如这里启动一个ThinkPHP的靶场,然后我们访问,他就能够直接帮我们扫描是否存在漏洞,不用我们自己点了
    在这里插入图片描述

  • 当然,它也可以进行主动扫描:
    在这里插入图片描述

RouteVulScan / RVScan
  • 这两款工具都是递归式的被动检测脆弱路径的Burp插件,RVScan是RouteVulScan的二开项目,在原版的基础上支持更多的东西,并且也更新得很勤

  • 项目地址:

    1. Releases · F6JO/RouteVulScan
    2. Releases · XF-FS/RVScan
  • 这里我用的是RVScan,用哪个其实都差不多,都是比较好的项目:
    在这里插入图片描述

  • 比如我们打开一个漏洞网站,它被动扫描会帮我们进行指纹识别:
    在这里插入图片描述

  • 主动扫描的话,可以去尝试爆破它的所有子路径等等:
    在这里插入图片描述

分析辅助类
HaE
BurpJSLinkFinder

插件类 - 武装谷歌浏览器-信息收集&情报辅助

HackBar V2
  • 提供了一系列方便的工具和功能,可以帮助用户执行各种网络攻击和测试,包括 XSS、SQL 注入、CSRF、路径穿越等
    在这里插入图片描述

  • 使用的时候直接F12打开即可:
    在这里插入图片描述

Heimdallr
  • 一款致力于被动嗅探浏览器流量,用于提示漏洞框架指纹告警拦截蜜罐请求对抗浏览器特征追踪(浏览器持久化、webRTC、Canvas画布等)的Chrome插件。
  • 项目地址:https://github.com/Ghr07h/Heimdallr
    在这里插入图片描述
Wappalyzer
  • 轻量级指纹识别插件,能够被动扫描当前网站的一些指纹信息
    在这里插入图片描述
    在这里插入图片描述
FindSomething
  • 熊猫头,能够收集当前网页存在的JS路径,并且收集一些敏感信息,不过目前动态调试需要开通会员
    在这里插入图片描述
    在这里插入图片描述
SuperSearchPlus
Penetration Testing Kit
  • 也是小迪强推的一款工具,集指纹识别、漏洞扫描、信息收集多种功能于一体,缺点就是全英文,并且扫描比较慢
    在这里插入图片描述
    在这里插入图片描述
<think>好的,用户的问题是关于如何在JS架构和Burp插件中实现信息打点功能,以及相关的工具项目案例。首先,我需要理解用户的需求。信息打点通常指的是在代码或网络请求中插入标记,用于跟踪、调试或数据分析。用户可能在进行安全测试或前端开发时需要这样的功能。 首先,我应该回顾用户提供的参考引用。引用[1]提到JS前端架构的分析方法,包括手工搜索、Burp插件和工具化项目。引用[2]提到使用模糊化工具进行JS文件的FUZZ测试,这可能与信息打点有关。引用[3]是一个Python打点案例,虽然与JS和Burp无关,但可能用户想了解类似的方法在JS中的实现。 接下来,我需要分部分回答。JS架构中的信息打点可能涉及在代码中插入日志或跟踪点,比如使用console.log或者在特定事件触发时记录数据。对于Burp插件,可能需要利用Burp的API来拦截和修改请求,添加自定义的标记或参数。工具项目案例方面,可以参考现有的开源项目,比如通过插件自动添加参数或使用爬虫工具进行自动化打点。 然后要考虑用户可能的实际应用场景。比如,在安全测试中,打点可能用于追踪洞的触发路径;在开发中,可能用于调试或监控前端行为。需要确保提供的方法实用,并且步骤清晰,用户能够按照指导操作。 还需要注意引用文献的正确应用。比如,引用[1]中提到的手工和半自动方法可以对应到JS架构和Burp插件的实现部分。引用[2]的模糊化工具可能作为工具案例的一部分。 最后,要检查是否有遗点,比如是否需要区分客户端和服务端的打点,或者是否需要考虑不同框架(如React、Vue)的实现差异。可能用户没有明确这些细节,但作为回答,可以适当提及通用方法和常见框架的案例,以增强实用性。</think>### JS架构与Burp插件中的信息打点实现方法 #### 一、JS架构中的信息打点 1. **手动代码注入** - 在关键函数调用或事件监听处插入调试日志,例如使用`console.log`标记函数执行流程: ```javascript function userLogin() { console.log("[TRACE] Login触发:", new Date().toISOString()); // 业务逻辑 } ``` - 结合性能监控API(如`PerformanceObserver`)记录资源加载时序[^1]。 2. **自动化打点方案** - 使用Babel插件在构建阶段自动注入埋点代码,例如追踪页面元素点击事件: ```javascript // Babel插件示例:为所有onClick事件添加埋点 export function traverseClicks() { return { visitor: { JSXAttribute(path) { if (path.node.name.name === 'onClick') { // 插入打点代码 } } } } } ``` - 基于框架的AOP实现(如React高阶组件/Vue混入)[^1]。 #### 二、Burp插件中的信息打点 1. **请求/响应标记** - 通过`IExtensionHelpers`接口修改HTTP请求,添加自定义标识参数: ```python # Burp插件Python示例 from burp import IBurpExtender, IHttpListener class BurpExtender(IBurpExtender, IHttpListener): def processHttpMessage(self, tool, isRequest, message): if isRequest: request = message.getRequest() modified = request.tostring().replace(b"HTTP/1.1", b"HTTP/1.1\nX-Trace-ID: 0x7FAA") message.setRequest(modified) ``` - 使用`IScannerCheck`接口在描时注入检测标记[^2]。 2. **模糊测试集成** - 结合工具(如ffuf/wfuzz)在参数中插入特定模式: ```bash ffuf -w wordlist.txt -u "https://target/FUZZ?trace=0xDEADBEEF" ``` - 通过插件自动识别敏感接口并添加调试参数。 #### 三、工具化项目案例 1. **JSFScan** - 自动提取前端路由/API端点并注入调试参数 - 支持React/Vue框架的组件级跟踪 2. **Paramalyzer** - 基于Burp的插件,自动标记请求参数并生成参数画像 - 可识别动态参数与静态参数的关联性 3. **Headless打点爬虫** - 使用Puppeteer/Playwright实现的自动化方案: ```javascript // 页面加载后注入性能标记 await page.evaluate(() => { performance.mark('component_loaded'); }); ``` ### 关键实现要点 1. **标记关联性**:通过UUID或时间戳保证打点数据的唯一性 2. **数据采集**:建议采用$$ \text{采样率} = \frac{\log N}{N} $$控制数据量 3. **安全边界**:生产环境需移除调试标记,可通过环境变量控制: ```javascript if (process.env.NODE_ENV === 'development') { injectTracePoints(); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值