蓝凌EKP SSRF+XMLDecoder简单分析

2022-01-20 15:59:30 浏览数 (1)

目录:

漏洞成因

漏洞复现

场景提出及EXP编写

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

01

漏洞成因

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

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类

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

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

这里触发xmlDecoder反序列化漏洞

02

漏洞复现

访问蓝凌目标:

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

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

03

场景提出及EXP编写

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

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

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

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

最后改变POC,写入war文件

尝试命令执行:

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

测试脚本是否成功

0 人点赞