远程代码执行漏洞

thinkphp5远程代码执行漏洞分析(二)

℡╲_俬逩灬. 提交于 2019-11-28 19:01:23
payload url => http://127.0.0.1/thinkphp_5.0.10_full/public/index.php?s=index/index/index post => s=whoami&method=&filter[]=system&_method=__construct 版本:5.0.8~5.0.12 漏洞解析 开始前为了方便大家理解,先大致描述一下被触发的过程。原因在于Request.php文件中reqeust类的属性可控导致自定义filter过滤器可控,而filter又用于过滤用户传入的危害变量,可控的变量被传入了可控的filter中导致漏洞的形成。 从漏洞形成的地方反向跟踪payload的传入过程研究漏洞形成的原因: 首先在request.php的1060行下断点 分析堆栈 可以发现有危害的filter在request.php的1000行的getFilter方法中形成 跟踪进getFilter()方法,过滤器直接由request类的属性filter赋值了 那么$this->filter的属性是什么时候被我们改变的呢,继续在堆栈间查看变量的改变,可以发现属性在App::run()方法调用后和$request->param()方法调用前就已经被改变了。 继续在这两个方法之间一步步的调试,查看filter属性在何处被修改,最后定位到了Route

Struts2-057远程代码执行漏洞(s2-057/CVE-2018-11776)复现

橙三吉。 提交于 2019-11-28 01:45:56
参考了大佬的链接: https://github.com/jas502n/St2-057 00x01前言 Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web 应用的开源MVC框架,主要提供两个版本框架产品: Struts 1和Struts 2。 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。 00x02漏洞描述 定义XML配置时如果没有设置namespace的值,并且上层动作配置中并没有设置或使用通配符namespace时,可能会导致远程代码执行漏洞的发生。同样也可能因为url标签没有设置value和action的值,并且上层动作并没有设置或使用通配符namespace,从而导致远程代码执行漏洞的发生。 00x03影响版本 Struts 2.3 - Struts 2.3.34 Struts 2.5 - Struts 2.5.16 00x04漏洞验证 在线验证: http://0day.websaas.com.cn/ 本地验证: https:

Apache Solr JMX服务远程代码执行漏洞复现

假装没事ソ 提交于 2019-11-25 21:42:42
##0x00 漏洞介绍 该漏洞源于默认配置文件solr.in.sh中的ENABLE_REMOTE_JMX_OPTS配置选项存在安全风险。 Apache Solr的8.1.1和8.2.0版本的自带配置文件solr.in.sh中存在ENABLE_REMOTE_JMX_OPTS="true"选项。 如果使用受影响版本中的默认solr.in.sh文件,那么将启用JMX监视并将其暴露在RMI_PORT上(默认值= 18983), 并且无需进行任何身份验证。 如果防火墙中的入站流量打开了此端口,则具有Solr节点网络访问权限的任何人都将能够访问JMX, 并且可以上传恶意代码在Solr服务器上执行。该漏洞不影响Windows系统的用户,仅影响部分版本的Linux用户。 ##0x01 影响版本 Apache Solr8.1.1和8.2.0版本 ##0x02 漏洞危害 如果受害者使用了该默认配置,则会在默认端口18983开放JMX服务,且默认未开启认证。任何可访问此端口的攻击者可利用此漏洞向受影响服务发起攻击,执行任意代码。 ##0x03 准备工作 1) 搭建环境 安装Apache Solr 8.20 wget https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.2.0/solr-8.2.0.zip 2) 启动环境 ##0x04