Struts2 S2-045漏洞分析
Apache Struts2存在远程代码执行漏洞,攻击者可以将恶意代码通过http报文头部的Content-Type字段传递给存在漏洞的服务器,从而导致了任意代码执行漏洞
漏洞分析S2-045漏洞的poc如下。该poc是漏洞发现者——安恒的 Nike Zheng编写的
在分析过poc之后发现,payload是从content-type字段中传入的
我们使用了对应版本struts2官方案例app struts2-showcase来搭建漏洞环境
首先看一下案例中struts2-showcase中的web.xml
可以看出struts2-showcase使用StrutsPrepareFilter作为过滤器
因此我们在StrutsPrepareFilter中doFilter方法中下断,执行poc并发送本次漏洞的利用请求
上图可见,程序执行到StrutsPrepareFilter中doFilter方法,doFilter方法中,程序将执行prepare.wrapRequest以进行request处理分支
跟入prepare.wrapRequest
在prepare.wrapReques ...
Struts2 S2-052漏洞分析
Struts2 REST插件在使用xstreamhandler处理反序列化XML时没有进行任何过滤,从而导致远程执行代码,攻击者可以利用该漏洞构造恶意的XML内容获取服务器权限。
漏洞分析首先看一下struts-plugin.xml配置文件,当Content-Type为xml时会调用XStreamHandler类进行处理
在struts-plugin.xml配置文件中可见,当Content-Type为xml时会调用XStreamHandler类进行处理
此外,从上图还可以看出xml是struts2请求中后缀的默认支持格式
当请求报文中Content-Type为”application/xml”时,程序会调用XStreamHandler.toObject
toObject方法中将会调用XStream.fromXML对传入的xml的内容进行反序列化。在这个过程中,XStream没有对Reader做任何过滤处理
我们通过调试代码来跟踪一下实际的流程
首先我们构造如下数据包以触发漏洞
构造如上图请求数据,将请求中的Content-Type设置为application/xml
当请求 ...
结合CVE-2019-1040漏洞的两种域提权利用深度分析
2019年6月,Microsoft发布了一条安全更新。该更新针对CVE-2019-1040漏洞进行修复。此次漏洞,攻击者可以通过中间人攻击,绕过NTLM MIC(消息完整性检查)保护,将身份验证流量中继到目标服务器。
通过这种攻击使得攻击者在仅有一个普通域账号的情况下可以远程控制 Windows 域内的任何机器,包括域控服务器。
0x01 漏洞利用
攻击方式一:Exchange验证环境:
角色
系统版本
计算机名
IP**地址**
域
Attacker
Ubuntu Server 18.04
ubuntu
192.168.123.69
DC
Windows Server 2012 R2
topsec-dc
192.168.123.150
test.local
Exchange
Windows Server 2012 R2
topsec
192.168.123.143
test.local
验证过程:
① 环境搭建
安装配置域控制器
安装配置Exchange Server,参考[1]
在域中新建一个用于测试的账户test
②执行ntlmrelayx.py ...
Struts2 S2-001漏洞深入研究
Struts2 S2-001漏洞深入研究
Struts2工作原理Suruts2的工作原理如下图
在该图中,一共给出了四种颜色的标识,其对应的意义如下。
Servlet Filters(橙色):过滤器,所有的请求都要经过过滤器的处理。
Struts Core(浅蓝色):Struts2的核心部分。
Interceptors(浅绿色):Struts2的拦截器。
User created(浅黄色):需要开发人员创建的部分。
图中的一些组件的作用如下:
FilterDispatcher:是整个Struts2的调度中心,也就是整个MVC架构中的C,它根据ActionMapper的结果来决定是否处理请求。
ActionMapper:用来判断传入的请求是否被Struts2处理,如果需要处理的话,ActionMapper就会返回一个对象来描述请求对应的ActionInvocation的信息。
ActionProxy:用来创建一个ActionInvocation代理实例,它位于Action和xwork之间。
ConfigurationManager:是xwork配置的管理中心,可 ...
Discuz-ML!-V3.X 远程代码执行漏洞分析
Discuz!ML是一个由CodersClub.org创建的多语言,集成,功能齐全的开源网络平台,用于构建像“社交网络”这样的互联网社区。该引擎基于Comsenz Inc.创建的着名的Discuz!X引擎开发。
2019年7月11日, Discuz!ML被发现存在一处远程代码执行漏洞,攻击者通过在请求流量的cookie字段中的language参数处插入构造的payload,进行远程代码执行利用,该漏洞利用方式简单,危害性较大。
0x01 漏洞描述
2019年7月11日, Discuz!ML被发现存在一处远程代码执行漏洞,攻击者通过在请求流量的cookie字段中的language参数处插入构造的payload,进行远程代码执行利用,该漏洞利用方式简单,危害性较大。
本次漏洞是由于Discuz! ML对于cookie字段的不恰当处理造成的
cookie字段中的language参数未经过滤,直接被拼接写入缓存文件之中,而缓存文件随后又被加载,从而造成代码执行
简而言之,如下图流程可以简单的理解该漏洞
首先,通过cookie传入payload,构造好的payload被写入tem ...
WordPress-Social-Warfare远程代码执行漏洞分析
social-warfare是一款 WordPress社交分享按钮插件。 该插件被wordpress用户广泛的应用: 从官网看,该插件官方的统计是超过90万的下载量
social-warfare <= 3.5.2版本中,程序没有对传入参数进行严格控制以及过滤,导致攻击者可构造恶意payload,无需后台权限,直接造成远程命令执行漏洞
背景介绍social-warfare是一款 WordPress社交分享按钮插件。 不同于大多数WordPress社交分享插件,social-warfar最大的优势在于其轻便性与高效性。它不会像其他共享插件一样减慢网站速度,这也是很多用户使用其作为自己网站社交分享插件的原因。
该插件被wordpress用户广泛的应用: 从官网看,该插件官方的统计是超过90万的下载量
漏洞描述social-warfare <= 3.5.2版本中,程序没有对传入参数进行严格控制以及过滤,导致攻击者可构造恶意payload,无需后台权限,直接造成远程命令执行漏洞。
攻击成功的条件只需要如下两条:
只要符合以上两个条件,无需复杂的payload构造,即可通过 ...
空安全意识,撸码一时手抖 elFinder-2.1.47代码执行漏洞-CVE-2019-9194详解
CVE-2019-9194,这是一个很神奇的漏洞。开发者在漏洞的上一行,用了过滤方法对传入的参数进行过滤,然而到了下一行,却手一抖,直接用传入的未过滤的参数拼接cmd,进行执行,造成了远程代码执行漏洞
漏洞分析elFinder是一个用于Web的开源文件管理器,使用jQuery UI以JavaScript编写。创作的灵感来自于Mac OS X操作系统中使用的Finder程序的简单性和便利性。
相关的漏洞说明可以见如下packet storm的链接:https://packetstormsecurity.com/files/151960/elFinder-2.1.47-Command-Injection.html
elFinder这个项目可以在github上找到,该项目的star数为3195,可见此次漏洞影响范围还是不小的。
本次漏洞是在2.1.48版本修复的,官方在readme中强调需要升级最新的版本以修复该漏洞。
现在来看一下2.1.48中是如何修复的,以便于我们找到这个漏洞的触发点。
不得不吐槽,这个项目的版本控制很奇怪。。。按照以往经验,既然在下一个版本修复的,那我们就应该在下 ...
WordPress 5.1 CSRF to RCE 漏洞详解
WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。前些日子,RIPS放了一个WordPress5.1的CSRF漏洞通过本文将对此次CSRF漏洞进行详细分析,RCE相关的分析见后续分析文章
预备知识
在wordpress中,超级管理员是可以在评论中写入任何代码而不被过滤的
比如,在评论中输入
直接弹框
但是超级管理员在提交评论表单时,wordpress需要校验其Nonce值
想理解这个漏洞,首先要了解下wordpress的Nonce ( number used once )防御机制
Wordpress的Nonce ( number used once ) 机制,是用来防止CSRF而引进的。WordPress会为一些请求提供一个随机数进行校验,以防止未授权的请求的发生。
来看下wordpress的Nonce机制是如何使用的:
1、使用wp_create_nonce生成 nonce值:
可见,其实nonce值与$i、 ...
Web漏洞分析之——顺瓜摸藤
在分析一些漏洞时,能从相关的漏洞预警和描述中获取的情报往往很少。很多时候,只能通过漏洞描述或者补丁中找到漏洞触发点,然而如何利用,如何找到从入口贯通到漏洞触发点的利用链,这时候就需要我们顺瓜摸藤了。在分析一些漏洞时,能从相关的漏洞预警和描述中获取的情报往往很少。
很多时候,只能通过漏洞描述或者补丁中找到漏洞触发点,然而如何利用,如何找到从入口贯通到漏洞触发点的利用链,这时候就需要我们顺瓜摸藤了。
有时候,顺着一个瓜(漏洞触发点),还能摸到很多条藤(利用链)。
前言近日在PacketStorm看到一个关于国产cms的cve
https://packetstormsecurity.com/files/151824/ZZZPHP-CMS-1.6.1-Remote-Code-Execution.html
cve编号:
CVE-2019-9041
cve描述
再看看packetstormsecurity上关于exploit的介绍
根据描述,猜测该漏洞应为SSTI类
如果有升级补丁参照看一下,这个漏洞就很明朗了。
然而官网上最新版本只是2019-1 ...
WordPress 5.0.0 远程代码执行漏洞分析(CVE-2019-8942、CVE-2019-8943)
近日,wordpress发布一个安全升级补丁,修复了一个WordPress核心中的远程代码执行漏洞。代码修改细节可以参考wordpress团队于Dec 13, 2018提交的代码。据漏洞披露者文中所介绍,这个漏洞在WordPress核心中被发现已经超过6年。
漏洞简介1、此漏洞是由目录遍历以及本地文件包含两部分组成。
2、想要利用此漏洞,需要在目标WordPress站点上拥有至少作者权限访问帐户。
漏洞分析这里主要分析CVE-2019-8943这处漏洞
首先看下目录遍历漏洞
首先上传一张图片
图片会被wordpress保存至wp-content/uploads目录,但与此同时,在wp_postmeta表中仍然会有该图片信息的记录,如下图
在图片被编辑时
会向wordpress后台发送如下post请求,如下图
在处理post参数的过程中,有如下一处代码
可以看到if条件中有一个方法:update_post_meta
这个方法的作用是基于POST ID更新POST元字段,也就是说通过。$post_ID, $field, $value来更新数据库中的信息 以下图为例
...