freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Apache Tapestry远程代码执行|CVE-2021-27850 exp
2021-07-02 10:29:15

CVE-2021-27850漏洞详情:

Apache Tapestry是一种用Java编写的面向组件的Web应用程序框架。Tapestry可以在任何应用程序服务器下工作,并且可以轻松集成所有后端,如Spring,Hibernate等。

2021年04月14日,Apache Tapestry被披露存在一个严重的远程代码执行漏洞(CVE-2021-27850),攻击者无需经过身份验证即可利用。该漏洞绕过了CVE-2019-0195的修复程序(CVSS评分为9.8)。

在CVE-2019-0195中,通过操纵classpath资产文件URL,攻击者可以在classpath中猜测文件的路径,然后下载该文件。攻击者可以通过请求包含HMAC秘钥的URL http://localhost:8080/assets/something/services/AppModule.class来下载文件AppModule.class。

CVE-2019-0195的修复使用了黑名单过滤,其检查URL是否以“.class”、“.properties”或“.xml”结尾,但这种黑名单过滤可以通过在URL结尾添加“/”来绕过。当http://localhost:8080/assets/something/services/AppModule.class/在黑名单检查后,斜线被剥离,AppModule.class文件被加载到响应中。这个类通常包含用于对序列化的Java对象进行签名的HMAC秘钥,在知道该密钥的情况下,攻击者就可以签署Java小工具链(例如ysoserial的CommonsBeanUtils1),最终导致远程代码执行。

CVE-2021-27850 利用

概述

CVE-2021-27850 是一个严重的未经身份验证的远程执行代码漏洞,它存在于所有最新版本的 Apache Tapestry 中,通过下载 AppModule.class 文件,我们可以泄漏用于对 apache Tapestry 中的所有序列化对象进行签名的 HMAC 密钥。

我们在现实生活中遇到了这个 CVE,据我所知没有关于 Tapestry 如何对序列化对象进行签名的公开漏洞利用,所以我们决定发布以下 POC,我们在挖掘 apache Tapestry 源代码很长时间后使用时间 x)。

用法

1- 克隆这个 repo

2-运行以下命令

javac -classpath commons-codec-1.15/commons-codec-1.15.jar:. Exploit.java

3- 最后运行以下命令:

java -cp commons-codec-1.15/commons-codec-1.15.jar:. Exploit [Tapestry Key] [Ysoserial Payload] [要执行的命令]

其中 [Tapestry Key] 是从 AppModule.class 泄漏的 Hmac 密钥,[Ysoserial Payload] 是您要从 ysoserial 使用的有效负载,而 [Command To Execute] 是您要执行的命令

CVE-2021-27850 Exploit|Apache Tapestry远程代码执行exp

注意:不像通常的 Java 反序列化漏洞,你运行的命令是有限的(没有管道或特殊字符 ),你可以在这里使用任何你想要的复杂命令,因为我们在执行命令之前附加以下内容 sh -c $@|sh . echo

影响范围

Apache Tapestry 5.4.5

Apache Tapestry 5.5.0

Apache Tapestry 5.6.2

Apache Tapestry 5.7.0

修复方案

针对该漏洞的解决方案: 对于 Apache Tapestry 5.4.0 到 5.6.2,升级到 5.6.2 或更高版本。 对于 Apache Tapestry 5.7.0,升级到 5.7.1 或更高版本。

参考文章:

http://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-27850

https://github.com/apache/tapestry-5

https://lists.apache.org/thread.html/r237ff7f286bda31682c254550c1ebf92b0ec61329b32fbeb2d1c8751%40%3Cusers.tapestry.apache.org%3E


# web安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录