黑客如何快速查找Next.js框架的网站目录?试下这两行代码

B站影视 日本电影 2025-04-21 10:54 1

摘要:BUILD_MANIFEST.sortedPages 是 Next.js 在生产环境构建过程中生成的一个关键数据结构。它是一个数组,包含了你的 Next.js 应用中所有页面的路径,并且这些路径是按照特定的规则排序的。

黑客在渗透工作中,经常会碰到的一个难题,就是目标网站是用Next.js搭建的,扫描器无法扫描出该网站目录。

如下图所示,wappalyzer插件探测到对方网站使用的是Next.js的框架。

如何解决呢这个难题呢?我经常用的工具有以下3个:

1、https://github.com/rtcatc/Packer-Fuzzer。

2、https://github.com/pingc0y/URLFinder

3、https://github.com/ttstormxx/jjjjjjjjjjjjjs

其实手工还有两种方法,在浏览器的开发者工具里直接输入两行代码就可以了。

console.log(__NEXT_DATA__)console.log(__BUILD_MANIFEST.sortedPages)

__BUILD_MANIFEST.sortedPages 是 Next.js 在生产环境构建过程中生成的一个关键数据结构。它是一个数组,包含了你的 Next.js 应用中所有页面的路径,并且这些路径是按照特定的规则排序的。

__NEXT_DATA __是一个在 Next.js 应用的客户端渲染过程中非常重要的全局 JavaScript 对象。它包含了在服务器端渲染 (SSR) 或静态生成 (SSG) 期间生成并传递给客户端的关键数据,用于在浏览器中初始化 Next.js 应用和其页面。

我们分别来试一下。F12或是Ctrl + Shift + I在浏览器开发者工具里找到控制台,执行:console.log(__BUILD_MANIFEST.sortedPages),可以看到能打印出一些路径。

执行console.log(__NEXT_DATA__),能得到一些渗透目标相关的信息。

当然你也可以试着执行console.log(process.env)(这个不一定成功),或是详细一点的输出,以下是代码,直接粘贴到控制台回车。

console.dir(window); // 展开查看 window 对象的属性// 或者,更精确地查找包含 "next" 的属性for (const key in window) {if (key.toLowerCase.includes('next')) {console.log(key, window?.[key]);}}

这会列出 window 对象的所有属性,你可以手动检查是否有其他看起来与 Next.js 相关的属性。第二个代码片段会更精确地查找属性名中包含 "next" 的属性。

来源:海阳顶端

相关推荐