NodeJs的包漏洞扫描与漏洞测试攻击

一个典型的Node应用可能会有几百个,甚至上千个包依赖(大部分的依赖是间接的,即下载一个包,这个包会依赖其他的好多包),所以最终的结果是,应用程序就会像是这个样子的:

和所依赖的包相比,自己写的代码量就显得少的可怜,引入了大量的包成为了应用程序的代码,也就引入了一些不可预知的隐患,比如我们是否知道这些包是否是安全的,如果我们引入的包是安全的,那这些包自己引入的第三方的包也是安全的吗?如果不是,那么这些隐患也会就成了应用程序的小后门,让黑客可以随意进出。

所以我们需要一个工具能够扫描这些包的漏洞,减少自己应用程序被黑客攻击的可能性。在这里我推荐我目前在用的snyk,https://snyk.io/,这里面可以有两种方式来检测我们应用程序的漏洞,一种是从代码仓库中直接引入进来,目前支持的代码仓库有:

首先来讲一种比较繁琐,但是比较直观的方法:

选择一个你的代码仓库,我们这里以GItHub为例,演示一下:

选择需要添加的账号:

给添加需要扫描的漏洞的仓库

如果是NodeJs的项目,他会自动关联,如果没有自动关联,自己添加文件的位置

生成测试报告

点击 View report and fix 可以查看详细的报告

然后根据修复的方法把漏洞给修复就行了,基本上是更新打补丁进行修复。如果还没有修复方案的,可以自己向作者提出如何修复这个漏洞。如果选择了自动扫描,他会自己扫描应用程序中的package.json文件,如果有新的漏洞出来,会有邮件通知,及时修复这个漏洞就行。

接下来我们用第二种方法,第二种相对快速简单一些:

打开 iTerm(其他命令行工具也可以,但这里以iTerm为例),安装snyk的命令行工具:

npm install -g snyk

安装成功之后,进入Node应用的根目录中,输入 snyk test:

就会看到漏洞的列表

然后再运行 snyk wizard 可以对漏洞进行修复

一般选择第一项,通过更新依赖来修复漏洞。一项一项修复就行了。

两种方法说完了,接下来我们来拿几个漏洞来测试一下怎么利用这些漏洞进行测试攻击:

Node项目Demo代码(https://github.com/wjszxli/goof):

1.利用 st 模块进行目录遍历

这是模块信息:

st 模块是一个提供静态文件服务的中间件,比如我们的javascript,css和图像等文件,在我们示例的项目中的代码的位置是在

这是检测出来的漏洞信息:

接下来我们开始模仿:

我们在iTerm中先尝试着获取他的 about页面:

可以看到,获取了源代码

那来试试看看能不能突破文件夹的限制:

规范化的文件夹路径被过滤掉了,那用 URL编码的格式来试试看:

额,得到了项目根目录的文件,那如果要获取其中任意一个文件的源代码就轻而易举了,比如我们要拿到db.js的内容:

简简单单就得到了

那如果要获取服务器上的其他文件夹呢

黑客就能用Node有权访问的任何文件

2.利用 marked 进行跨站脚本攻击(xss):

这是模块信息

这是我们的漏洞信息:

在标签页有使用到 marked,那我们就试试标签页,第一次先这样试一试,输入 <script>alert(1)</script>

这种情况倒是控制住了:

那我们来创建一个标记格式的链接,输入 [Gotcha](javascript:alert(1)),看看发生了什么:

也没产生效果,他也做了处理。

那再试试转义,试试他做了转义没有,那我输入:[Gotcha](javascript&#58this;alert(1)),这下效果出来了,

好像有反应了,点击一下,还真的生效了!

时间: 2024-07-29 11:04:42

NodeJs的包漏洞扫描与漏洞测试攻击的相关文章

20145309 《网络对抗技术》信息搜集与漏洞扫描

实践过程记录 DNS IP注册信息的查询 whois域名注册信息查询 whois域名注册信息查询 加上www时,查询的信息为域名注册信息,不能查到子域名(baidu.com)的注册信息 注册的信息:注册人.组织.地址.城市.地区.电话.邮件等. nslookup,dig域名查询 nslookup,dig域名查询 IP2Location 地理位置查询 搜索引擎进行信息搜集 搜索特定类型文件 路由探测 tracert路由探测 基本的扫描技术(以及nmap) 主机发现 其中发现另一虚拟机win xpe

安全测试&amp;漏洞扫描

安全测试在于发现漏洞以及修复漏洞,常见漏洞在于系统.组件.代码,因此安全测试也分为以下三类: 1.端口扫描: 对系统.端口进行扫描,如常用tcp.udp端口,如80.5296.3306.8088....,举例软件rapid7,市面上也有其他厂家进行端口扫描. 2.静态扫描: 白盒,对项目代码进行扫描,举例软件fortify,此软件先编译再扫描,使用截图: 3.动态扫描: 黑盒,对web应用进行扫描,发现漏洞,常用软件为appscan,使用截图: 临时记录,有时间再补充具体搭建与使用.--as.2

WEB扫描技术--awvs扫描器扫描web漏洞

[实验目的] 1.了解AWVS--Web漏洞扫描工具 2.学习AWVS的用法 [实验原理] AWVS(Acunetix Web Vulnerability Scanner)简介 WVS(Web Vulnerability Scanner)是一个自动化的Web应用程序安全测试工具,它可以扫描任何可通过Web浏览器访问的和遵循HTTP/HTTPS规则的Web站点和Web应用程序.适用于任何中小型和大型企业的内联网.外延网和面向客户.雇员.厂商和其它人员的Web网站.WVS可以通过检查SQL注入攻击漏

Kali Linux渗透基础知识整理(二)漏洞扫描

Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网络上传输的数据量. TCP协议 TCP是因特网中的传输层协议,使用三次握手协议建立连接.当主动方发出SYN连接请求后,等待对方回答SYN+ACK ,并最终对对方的 SYN 执行 ACK 确认.这种建立连接的方法可以防止产生错误的连接,TCP使用的流量控制协议是可变大小的滑动窗口协议. 连接建立 TC

BruteXSS:Xss漏洞扫描脚本

今天给大家进行汉化改进的是一款脚本工具:BruteXSS,这款脚本能自动进行插入XSS,而且可以自定义攻击载荷. 该脚本也同时提供包含了一些绕过各种WAF(Web应用防护系统)的语句. 0×01简介 简单的介绍一下这个工具吧:BruteXSS是一个非常强大和快速的跨站点脚本暴力注入.它用于暴力注入一个参数.该BruteXSS从指定的词库加载多种有效载荷进行注入并且使用指定的载荷和扫描检查这些参数很容易受到XSS漏洞.得益于非常强大的扫描功能.在执行任务时, BruteXSS是非常准确而且极少误报

APP漏洞扫描器之未使用地址空间随机化

APP漏洞扫描用地址空间随机化 前言 我们在前文<APP漏洞扫描器之本地拒绝服务检测详解>了解到阿里聚安全漏洞扫描器有一项静态分析加动态模糊测试的方法来检测的功能,并详细的介绍了它在针对本地拒绝服务的检测方法. 同时,阿里聚漏洞扫描器有一个检测项叫未使用地址空间随机化技术, 该检测项会分析APP中包含的ELF文件判断它们是否使用了该项技术.如果APP中存在该项漏洞则会降低缓冲区溢出攻击的门槛. 本文主要介绍该项技术的原理和扫描器的检测方法.由于PIE的实现细节较复杂,本文只是介绍了大致的原理.

(引用)国内APP漏洞扫描收费情况调查

概述 上一次分享了应用加固的评测后,很多人想看看漏洞扫描相关的对比数据.其实在选择市面上这些移动安全类的产品时,经常为各种复杂的数据而感到疑惑,不知道怎么来评判各自的性能以及价格,从而选择出一款性价比高的安全产品.那么这一篇文章我就先来比较一下市场中现有产品的服务和收费情况. 国内app漏洞扫描平台,以及它们的收费状况,大致可以将其分成3类: 第一类:漏洞扫描收费平台 代表:百度开放云平台(9.9元一次).阿里云移动安全(专业版可包年或按次收费) 第二类:漏洞扫描免费,通过漏洞扫描推其他服务 代

【转】Nessus漏洞扫描教程之安装Nessus工具

转载地址:http://my.oschina.net/u/1585857/blog/477035#OSC_h1_1 Nessus漏洞扫描教程之安装Nessus工具 Nessus漏洞 扫描教程 安装Nessus工具 目录[-] Nessus漏洞扫描教程之安装Nessus工具 Nessus基础知识 Nessus概述 安装Nessus工具 获取Nessus软件包 Nessus工具在Windows下安装 Nessus工具在Linux下安装 Nessus漏洞扫描教程之安装Nessus工具 Nessus基础

国内APP漏洞扫描收费情况调查

概述 上一次分享了应用加固的评测后,很多人想看看漏洞扫描相关的对比数据.其实在选择市面上这些移动安全类的产品时,经常为各种复杂的数据而感到疑惑,不知道怎么来评判各自的性能以及价格,从而选择出一款性价比高的安全产品.那么这一篇文章我就先来比较一下市场中现有产品的服务和收费情况. 国内app漏洞扫描平台,以及它们的收费状况,大致可以将其分成3类: 第一类:漏洞扫描收费平台 代表:百度开放云平台(9.9元一次).阿里云移动安全(专业版可包年或按次收费) 第二类:漏洞扫描免费,通过漏洞扫描推其他服务 代