2026/3/25 7:00:54
网站建设
项目流程
什么网站专门做境外当地游,百度官网网站,现在的网站是用什么软件做的,海南省城乡住房建设厅网站首页Next.js CVE-2025-29927漏洞自动化扫描器
项目简介
本项目是一个专为安全研究人员设计的自动化扫描工具。它通过分析目标网站的HTTP响应头及特定端点#xff0c;智能识别其是否使用Next.js框架#xff0c;并精确判断其版本是否受到CVE-2025-29927漏洞的影响。工具支持从命令…Next.js CVE-2025-29927漏洞自动化扫描器项目简介本项目是一个专为安全研究人员设计的自动化扫描工具。它通过分析目标网站的HTTP响应头及特定端点智能识别其是否使用Next.js框架并精确判断其版本是否受到CVE-2025-29927漏洞的影响。工具支持从命令行参数或文件批量读取URL并可选地进行漏洞利用尝试所有操作均可通过丰富的命令行选项进行精细控制。功能特性Next.js框架识别自动检测目标网站是否基于Next.js构建。漏洞版本检测核对Next.js版本准确判断其是否属于已修复的安全版本如15.2.3, 14.2.25, 13.5.9, 12.3.5。自动化漏洞利用尝试在用户明确授权下可结合自定义字典文件对潜在漏洞进行探测。灵活的输入源支持通过命令行直接输入URL列表或从文本文件中按行读取URL。可定制的浏览器环境允许指定自定义的Chromium/Chrome可执行文件路径增强环境兼容性。多重输出选项支持在控制台输出详细的扫描日志Verbose模式或简洁的JSON格式结果并可将结果保存至指定文件。可选的请求控制提供跟随重定向、使用特定请求头等高级选项以适应不同的扫描场景。安装指南环境准备确保系统中已安装Node.js运行环境。克隆项目使用Git将项目代码克隆到本地。gitclone https://github.com/ferpalma21/Automated-Next.js-Security-Scanner-for-CVE-2025-29927.gitcdAutomated-Next.js-Security-Scanner-for-CVE-2025-29927.git安装依赖进入项目目录使用npm安装所需依赖包包括puppeteer和yargs。npminstall浏览器驱动puppeteer默认会下载Chromium。如果你的系统中已有特定路径的Chromium/Chrome例如/snap/bin/chromium可以通过-c参数指定以避免重复下载。使用说明工具通过命令行参数进行配置和调用。基础扫描命令扫描单个网站nodeindex.js-uhttps://example.com从文件批量扫描URL每行一个nodeindex.js-furls.txt常用参数组合示例启用详细输出模式便于观察扫描过程nodeindex.js-uhttps://example.com-v扫描并将检测到的易受攻击站点保存到结果文件nodeindex.js-ftargets.txt-ovulnerable_sites.json尝试利用漏洞谨慎使用请确保拥有测试授权nodeindex.js-uhttps://target-site.com-a-wpaths_wordlist.txt指定自定义浏览器路径并启用无头模式nodeindex.js-uhttps://example.com-c/usr/bin/google-chrome-stable-t命令行参数速查表短参数长参数描述-u--urls待扫描的URL列表用空格或逗号分隔。-f--file包含URL列表的文件路径每行一个URL。-c--chromeChromium/Chrome可执行文件路径默认/snap/bin/chromium。-o--output用于保存漏洞扫描结果的文件路径。-v--verbose启用详细日志输出模式。-r--redirect跟随HTTP重定向可能导致误报。-a--attack尝试对发现的潜在漏洞进行利用测试。-w--wordlist用于漏洞利用尝试的路径字典文件。-t--headless以无头模式启动Puppeteer浏览器。-x--headers测试失败时尝试使用备用请求头格式。-h--help显示帮助信息。核心代码以下是项目中的关键代码片段展示了参数解析、日志记录和核心检测逻辑。1. 命令行参数配置与解析此部分代码使用yargs库定义和解析所有命令行选项并设置默认的URL列表。constpuppeteerrequire(puppeteer);constyargsrequire(yargs);constfsrequire(fs);constargvyargs.option(u,{alias:urls,description:List of URLs separated by space or comma,type:string}).option(f,{alias:file,description:A file with URLs, one for each line,type:string}).option(c,{alias:chrome,description:Chromium Path,default:/snap/bin/chromium,type:string}).option(o,{alias:output,description:Output file of vulnerable sites,type:string}).option(v,{alias:verbose,description:A small description of the process}).option(r,{alias:redirect,description:Follow redirect (not recommended might lead to false positives)}).option(a,{alias:attack,description:It will try to exploit the vulnerability}).option(w,{alias:wordlist,description:A wordlist of paths}).option(t,{alias:headless,description:If the t flag or headless flag is set, it will launch a headless puppeteer.,}).option(x,{alias:headers,description:It will try with middleware:middleware:middleware:middleware:middleware first; in case it fails. It will retry with src/middleware:src/middleware:src/middleware:src/middleware:src/middleware}).help(help).alias(h,help).argv;constWEBSITESargv.u?argv.u.split(/[\s,]/).map(urlurl.trim()):argv.f?fs.readFileSync(argv.f,utf8).split(\n).map(urlurl.trim()).filter(Boolean):[https://www.boxeurdesrues.com,https://www.sportsshoes.com/,];2. 日志记录函数一个条件式日志函数仅在启用了详细输出-v时将带颜色的消息打印到控制台。constlog(message,colorCode\x1b[0m){if(argv.v)console.log(${colorCode}${message}\x1b[0m);};3. 漏洞修复版本定义一个常量数组列出了针对CVE-2025-29927已修复的安全版本号用于与检测到的版本进行比对。constVERSIONS_PATCHED[15.2.3,14.2.25,13.5.9,12.3.5];6HFtX5dABrKlqXeO5PUv/9hUQdIGzBuLffwHXrPCx7A更多精彩内容 请关注我的个人公众号 公众号办公AI智能小助手对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享