Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2017-5941 PoC — Joyent Node.js 代码问题漏洞

Source
Associated Vulnerability
Title:Joyent Node.js 代码问题漏洞 (CVE-2017-5941)
Description:Joyent Node.js是美国Joyent公司的一套建立在Google V8 JavaScript引擎之上的网络应用平台。该平台主要用于构建高度可伸缩的应用程序,以及编写能够处理数万条且同时连接到一个物理机的连接代码。 Joyent Node.js中的node-serialize模块的unserialize()函数存在代码问题漏洞,该漏洞源于该函数未对外部调用的代码进行有效检测。远程攻击者可通过将恶意数据传入该函数利用该漏洞执行任意代码。
Readme
# NodeJS Insecure Deserialisation Vulnerability Demo

Node.js is an open-source runtime environment used to implement server functionality in JavaScript. <br>A specific software package within Node.js contains a vulnerable function dealing with deserialisation, that causes it to run unauthorised commands if the client provide a specially crafted cookie.<br> This vulnerability was replicated and can potentially launch a reverse shell, which is possible due to the unsanitised input data that is read from a cookie in a client’s request. The client can edit their cookies, inject an insecure payload containing a bash command, and send it to the server where it will blindly execute the command. This can lead to unauthorised users accessing databases or full machines. <br><br>The ethical implications of this type of vulnerability lie in the data that can be accessed in the databases on the backend server. Depending on the data, it can be detrimental to a user's security and can impact a company's reliability and reputation. Because of this, finding the vulnerabilities before other attackers is important. There are a variety of different tools available such as Snyk, Burp Suite and other paid options available to identify these vulnerabilities. <br><br>The best way to mitigate this vulnerability is to practice proper input sanitisation and to discontinue any use of the vulnerable unserialise function within node.js. The replacement for this vulnerable function, JSON.parse, is recommended

File Snapshot

[4.0K] /data/pocs/9b5a00e24fecf65bf8818a2e2ae3074ab1ae8d15 ├── [1.2K] index.js ├── [ 477] package.json ├── [ 41K] package-lock.json ├── [ 278] payload.js └── [1.5K] README.md 0 directories, 5 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.