首页 存档 技术 查看内容

从零开始学习渗透Node.js应用程序

2018-3-30 13:00 |来自: 互联网 342 0

摘要: 作者:zusheng i春秋社区前言简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V ...

作者:zusheng

i春秋社区

前言

简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。Node.js使用Module模块去划分不同的功能,以简化应用的开发。Modules模块有点像C 语言中的类库。每一个Node.js的类库都包含了十分丰富的各类函数,比如http模块就包含了和http功能相关的很多函数,可以帮助开发者很容易地对比如http,tcp/udp等进行操作,还可以很容易的创建http和tcp/udp的服务器。

1

Node.js安装配置

这里我主要给大家演示在Windows Sever 2008 R2 x64系统上安装Node.js的方法。
官网:https://nodejs.org/en/download/下载软件。

下载完成后运行,然后一直Next就好了。



最后点击Finish。
检查环境变量:



我们可以看到环境变量中已经包含了
C:\Program Files\nodejs\
牛刀小试:创建第一个Node.js应用
我们使用PHP来开发web服务时,需要Apache这样的Web容器。不过对Node.js 来说,概念完全不一样了。使用 Node.js 时,我们不仅仅在实现一个应用,同时还实现了整个 HTTP 服务器。事实上,我们的 Web 应用以及对应的 Web 服务器基本上是一样的。
我们以创建一个输出hello world的Node.js应用为例子。

在Node.js中,我们以require指令来载入模块,既然我们要创建HTTP服务器,所以我们要来载入模块HTTP:

[JavaScript]

var http = require("http");

然后我们使用http模块的createServer()方法来创建服务器:

var http = require('http');

http.createServer(function (request, response) {

// 发送 HTTP 头部

// HTTP 状态值: 200 : OK

// 内容类型: text/plain

response.writeHead(200, {'Content-Type': 'text/plain'});

// 发送响应数据 "Hello World"

response.end('Hello World\n');

}).listen(80);

// 终端打印如下信息

console.log('Server running at [url]http://127.0.0.1/'[/url]);

命令运行脚本:



然后我们在另一台机器上访问看看,注意关闭防火墙:



2

服务端代码注入

Node.js的代码注入与PHP代码注入差不多,同样是围绕着eval函数,所以,如果在你的代码中存在eval函数,而且其中的参数是可控的话,那你就危险了。代码注入漏洞的危害很大,可以直接获得一个Shell。
demo代码:
[JavaScript]

var http = require('http');

var url = require('url');

var util = require('util');

http.createServer(function (req, res) {

res.writeHead(200, {'Content-Type': 'text/html'})

var params = url.parse(req.url, true).query;

res.write("

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部