蓝凌EKP SSRF+XMLDecoder简单分析

  • A+
所属分类:安全文章

目录:

        漏洞成因

        漏洞复现

        场景提出及EXP编写


作者:水木逸轩@深蓝攻防实验室

01

漏洞成因

该漏洞为SSRF+XmlDecoder组合形成的攻击链,首先看出现漏洞的SSRF漏洞的jsp,文件路径:/sys/ui/extend/varkind/custom.jsp。

蓝凌EKP SSRF+XMLDecoder简单分析

c:import为文件资源导入标签,根据标签解释从HTTP请求中获取var参数的值,然后解析json获取body的值,将body违URL进行资源导入c:param为参数传递标签,若c:import中url的属性为http://www.baidu.com然后通过c:param进行参数传递,若参数为name=admin,则最后发送的请求为http://www.baidu.com?name=admin以上为SSRF漏洞的分析。

接着对xmlDecoder漏洞的路由进行分析:

在struts.xml文件中找到操作映射,寻找com.landray.kmss.sys.search.actions.SysSearchMainAction类

蓝凌EKP SSRF+XMLDecoder简单分析

首先看ActionForm参数,ActionForm为从HTTP请求中获取的参数,首先判断是否能获得参数中fdParemNames的值

蓝凌EKP SSRF+XMLDecoder简单分析

如果获取不到,调用setParametersToSearchConditionInfo方法

蓝凌EKP SSRF+XMLDecoder简单分析

这里触发xmlDecoder反序列化漏洞

蓝凌EKP SSRF+XMLDecoder简单分析

02

 漏洞复现

访问蓝凌目标:

蓝凌EKP SSRF+XMLDecoder简单分析

POC如下,使用bsh.Interpreter调用java函数,执行Java代码:

蓝凌EKP SSRF+XMLDecoder简单分析

登录目标远程机器,弹个计算器:

蓝凌EKP SSRF+XMLDecoder简单分析


03

场景提出及EXP编写

因为可能存在写入jsp文件被文件落地设备检测的危险,所以直接写入一个war包,而且jsp和java文件不落地,只落地.war,.xml,.class文件,所以尝试直接注册filter写入cmd马。

蓝凌EKP SSRF+XMLDecoder简单分析

配置好web.xml文件,使用IDEA导出war包

此处注意,login类需要在jdk7下面编译。

蓝凌EKP SSRF+XMLDecoder简单分析

使用Java代码读取war包的byte格式,使用文件写入函数,写入到目标环境的tomcat webapps目录。

最后改变POC,写入war文件

蓝凌EKP SSRF+XMLDecoder简单分析
蓝凌EKP SSRF+XMLDecoder简单分析

尝试命令执行:

蓝凌EKP SSRF+XMLDecoder简单分析

执行成功,编写漏洞利用脚本

蓝凌EKP SSRF+XMLDecoder简单分析

测试脚本是否成功

蓝凌EKP SSRF+XMLDecoder简单分析
蓝凌EKP SSRF+XMLDecoder简单分析


本文始发于微信公众号(网络安全编程与黑客程序员):蓝凌EKP SSRF+XMLDecoder简单分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: