struts2-052漏洞学习

一、      1.strust2

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互

2.strust2-052漏洞

Struts2 REST插件的XStream组件存在反序列化漏洞,使用XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证,存在安全隐患,可被远程攻击

二、      1.struts2-052漏洞产生的原因

XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证

2.存在这个漏洞的会导致的后果

REST插件在解析请求中的xml文件时,调用了XStreamHandler,传入的数据会被默认进行反序列化,如果当传入的xml是个经过XStream序列化的恶意对象时,便造成反序列化漏洞

三、      漏洞的重现和利用

1.   在Windows中进行实验

Java以前就配置好了,步骤是安装javajdk,再配置JAVA_HOME CLASS_PATH   PATH的路径

2.   下载tomcat并配置

下载tomcat服务器,解压放在G盘下,添加三个环境变量CATALINA_HOME  CATALINA_BASE  PATH路径,在cmd中启动startup,我在配置PATH路径的时候把之前的path路径冲掉了,又重新添加了会来

3.   下载存在漏洞版本的struts2其中Version2.5.0 to 2.5.12 和 Version 2.3.0 to 2.3.33都存在漏洞,我下载的是2.5.12版本的,将struts2放置在tomcat访问的根目录下,访问成功如下图

struts2-052漏洞学习_第1张图片

4.   攻击payload是在网站上查到的

0

false

0

calc

false

java.lang.ProcessBuilder

start

foo

foo

false

0

0

false

false

0

5.   在burpsuite中配置浏览器的代理地址和端口进行拦截浏览器的服务请求

struts2-052漏洞学习_第2张图片

6.   如果网站中存在这样的漏洞,攻击者可以将实现相应功能的payload放在xml的信息体中直接上传,而且网站对该信息不进行检查,所以攻击者有很大自由去攻击目标主机

四、      nvt是openvas的漏洞数据库,

每一个扫描的插件扫描的端口是固定的,当扫描任务中要扫描哪些端口就用这些端口匹配的插件去扫描,所以是扫描漏洞的执行者

 

仅实验 谨实验

你可能感兴趣的:(loophole)