一、 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访问的根目录下,访问成功如下图
4. 攻击payload是在网站上查到的
5. 在burpsuite中配置浏览器的代理地址和端口进行拦截浏览器的服务请求
6. 如果网站中存在这样的漏洞,攻击者可以将实现相应功能的payload放在xml的信息体中直接上传,而且网站对该信息不进行检查,所以攻击者有很大自由去攻击目标主机
四、 nvt是openvas的漏洞数据库,
每一个扫描的插件扫描的端口是固定的,当扫描任务中要扫描哪些端口就用这些端口匹配的插件去扫描,所以是扫描漏洞的执行者
仅实验 谨实验