Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
nodexp — NodeXP - 一款能够检测和利用Node.js漏洞的服务器端JavaScript注入工具 | Kitploit
工具/GitHubGitHub/esmog/nodexp
漏洞扫描器Payload生成漏洞利用Web应用程序漏洞利用渗透测试
GitHubesmog/nodexp

nodexp

NodeXP - 一款能够检测和利用Node.js漏洞的服务器端JavaScript注入工具

查看仓库
10723151年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

NodeXP - Node.js 服务的检测与利用工具!

NodeXP 是一个集成化工具,基于 SSJI(服务端 JavaScript 注入)攻击,使用 Python 2.7 编写,能够自动检测 Node.js 服务上的潜在漏洞并进行利用。

入门 - 安装与使用

通过克隆 Git 仓库下载 NodeXP:

git clone https://github.com/esmog/nodexp

要查看所有选项列表,运行:

python2.7 nodexp -h

分别针对 POST 和 GET 情况的示例:

python2.7 nodexp.py --url="http://nodegoat.herokuapp.com/contributions" --pdata="preTax=[INJECT_HERE]" -c="connect.sid=s:i6fKU7kSLPX1l00WkOxDmEfncptcZP1v.fy9whjYW0fGAvbavzYSBz1C2ZhheDuQ1SU5qpgVzbTA"
python2.7 nodexp.py --url="http://nodegoat.herokuapp.com/contributions" --pdata="preTax=[INJECT_HERE]" -c="connect.sid=s:i6fKU7kSLPX1l00WkOxDmEfncptcZP1v.fy9whjYW0fGAvbavzYSBz1C2ZhheDuQ1SU5qpgVzbTA" --tech=blind

python2.7 nodexp.py --url="http://192.168.64.30/?name=[INJECT_HERE]" -c="connect.sid=s:i6fKU7kSLPX1l00WkOxDmEfncptcZP1v.fy9whjYW0fGAvbavzYSBz1C2ZhheDuQ1SU5qpgVzbTA"
python2.7 nodexp.py --url="http://192.168.64.30/?name=[INJECT_HERE]" -c="connect.sid=s:i6fKU7kSLPX1l00WkOxDmEfncptcZP1v.fy9whjYW0fGAvbavzYSBz1C2ZhheDuQ1SU5qpgVzbTA" --tech=blind

设置与使用测试环境

为了熟悉 NodeXP,你可能需要设置提供的 Node.js 测试服务(/testbeds)并开始使用该工具。需要一台运行 Node.js 服务器的本地机器。

首先,你需要在 GET 和 POST 目录中安装 'body-parser' 和 'express' 包。

进入本地机器上的 'testbeds/GET' 目录,在终端中粘贴以下命令:

npm install express --save
	

进入 'testbeds/POST' 目录,在终端中粘贴以下命令:

npm install body-parser --save
npm install express --save

正确安装这些包后,你可以通过运行命令 'node' 加上相应的 js 文件(例如 node eval.js)来启动每个服务。

服务启动后,你就可以运行 NodeXP 并针对这些服务进行测试了!

以下是 GET 情况的示例:

python2.7 nodexp.py --url=http://localiprunningnodejsserver:3001/?name=[INJECT_HERE]

以下是 POST 情况的示例:

python2.7 nodexp.py --url=http://localiprunningnodejsserver:3001/post.js --pdata=username=[INJECT_HERE]

维护和更新 Payload 文件

盲注和基于结果的注入技术所使用的 payload 分别存储在 "/files/blind_payloads.txt" 和 "/files/payloads.txt" 中。

Payload 写在文本文件的每个奇数行;对于基于结果的注入,其预期响应写在 "payloads.txt" 文件的每个偶数行,作为以逗号分隔的列表。"blind_payloads.txt" 文件的偶数行为空。

为了停止注入过程,使用 "---end(nextline)---end" 作为分隔符来停止解析和注入 payload,适用于盲注和基于结果的注入两种情况。

每个用户都可以按照上述说明维护和更新 payload 文本文件,添加自己的 payload。

免责声明

该工具的目的纯粹是学术性的,是为了完成我的硕士论文而开发的。它也可能有助于对 Node.js 服务进行渗透测试。强烈不建议将该工具用于任何其他恶意或非法用途,这显然不属于本研究的范畴。

前提条件

  • Python 2.7
  • Metasploit 框架
  • msfvenom
  • Kali Linux(或任何其他安装了 Metasploit 框架的 Linux 发行版)

NodeXP 测试环境

  • 从此处下载并运行 GET 和 POST 案例的 Node.js 文件。
  • 访问 Nodegoat 或将其安装到本地机器:Nodegoat

构建工具

  • Python 2.7

版本管理

NodeXP - 版本 1.2.2

更新说明

  • 添加了 IDS 规则(Snort、Suricata),用于检测使用 NodeXP 进行服务器端 JavaScript 注入的尝试。
  • 添加了绑定 shell 功能和自动 payload 生成。
  • 添加了反向 SSL shell 功能和自动 payload 生成。
  • 在基于结果的检测技术中支持静态和动态 payload。
  • 在基于结果的检测技术中支持数学运算和字符串拼接。
  • 添加了外部模块(Beta),用于通过 RNN(循环神经网络)生成新的 payload。

作者

  • Dimitris Antonaropoulos - esmog
下载工具