Struts 2最新0day破坏性漏洞(远程任意代码执行)等的重现方法
Struts 2的远程任意代码执行和重定向漏洞,是这两天互联网上最重大的安全事件,据说国内互联网企业中,很多电商纷纷中招,应该已经有大规模的用户隐私泄露。这里我们简单总结下怎样在自己机子上重现这些漏洞,这篇日志也是面向对网络安全比较感兴趣的初学者,即使你没有什么经验,也能知道这漏洞到底怎么回事:
首先我们需要下载包含漏洞的Struts 2,在这里:http://archive.apache.org/dist/struts/ 有Struts 1和Struts 2的基本上全部的发行版本。我们点击这个链接:binaries/ ,就可以找到受漏洞影响的最新版本:Struts 2.3.15(struts-2.3.15-all.zip),我们就下载这个压缩包。下载完成之后,我们就可以生成Demo项目了:
这里我们首先介绍一种最简单的方法:将上面的压缩包解压后,可以看到“%解压目录%\struts-2.3.15\apps”下有一些war包,这些都是Struts 2的一些简单示例应用,我们选择其中的struts2-blank.war,拷贝到Tomcat的webapps文件夹下,再重启Tomcat,然后就可以访问:http://localhost:8080/struts2-blank/ ,看到一个很简单的页面。我们选择“English”,就会跳转到下面这个URL:
http://localhost:8080/struts2-blank/example/HelloWorld.action?request_locale=en
利用这个URL,就可以做很多坏事了,在Struts 2的官网上已经给出了完整的PoC(proof of concept),例如:http://struts.apache.org/release/2.3.x/docs/s2-016.html
我们如果将上面这个URL换成:
http://localhost:8080/struts2-blank/example/HelloWorld.action?redirect:http://www.yahoo.com/
就会被重定向到雅虎的网站。
更过分的是,如果我将URL换成:
就会自动弹出计算器!如果点击下面的URL,就会跳出Windows的资源管理器(假设我们在Windows系统中):
是不是很神奇?这个问题现在还在蔓延,可谓是今年互联网领域影响最大的一次安全事件了。
最后再给大家附赠两条可以远程执行的命令,这个可以调出来Windows系统加密程序,如下图所示:
最下面这个要谨慎使用,可以强制当前用户注销:
Struts 2最新0day破坏性漏洞(远程任意代码执行)等的重现方法的更多相关文章
- WordPress wp-includes/functions.php脚本远程任意代码执行漏洞
漏洞名称: WordPress wp-includes/functions.php脚本远程任意代码执行漏洞 CNNVD编号: CNNVD-201309-166 发布时间: 2013-09-13 更新时 ...
- Git漏洞允许任意代码执行(CVE-2018-17456)复现
Git漏洞允许任意代码执行(CVE-2018-17456) 国外安全研究员 joernchen 在 9 月 23 日向 git 官方报告了漏洞的相关细节.10月5日,Git项目披露了一个漏洞,编号为C ...
- PHP-CGI远程任意代码执行漏洞(CVE-2012-1823)修复方案
首先介绍一下这个漏洞,其实是在apache调用php解释器解释.php文件时,会将url参数传我给php解释器,如果在url后加传命令行开关(例如-s.-d .-c或 -dauto_prepend_ ...
- WordPress 'is_serialized()'远程任意代码执行漏洞(CVE-2013-4338)
漏洞版本: WordPress 3.6 漏洞描述: Bugtraq ID:62345 CVE ID:CVE-2013-4338 WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PH ...
- Tomcat远程任意代码执行漏洞及其POC(CVE-2017-12617)
一.原理分析: 只需参数readonly设置为false或者使用参数readonly设置启用WebDAV servlet false,则Tomcat可以不经任何身份验证的控制直接接收PUT方式上传的文 ...
- 干货|CVE-2019-11043: PHP-FPM在Nginx特定配置下任意代码执行漏洞分析
近期,国外安全研究员Andrew Danau,在参加夺旗赛(CTF: Capture the Flag)期间,偶然发现php-fpm组件处理特定请求时存在缺陷:在特定Nginx配置下,特定构造的请求会 ...
- seacms_6.4.5 前台任意代码执行漏洞分析
环境搭建 1.下载安装包 下载地址: 链接:https://pan.baidu.com/s/1uw_VnxnvG4GGEae4TRsGGw 密码:cd48 2.常规安装 漏洞复现 poc1: http ...
- 修复Apache Log4j任意代码执行漏洞安全风险通告
2021年12月10日 0x01漏洞背景 Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具.该工具重写了Log4j框架,并且引入了 ...
- php 168任意代码执行漏洞之php的Complex (curly) syntax
今天了解了php 168的任意代码执行漏洞,Poc: http://192.168.6.128/pentest/cms/php168/member/post.php?only=1&showHt ...
随机推荐
- 「JAVA」:Berkeley DB的JAVA连接
Berkeley DB是一个嵌入式的数据库,它适合于管理海量的.简单的数据.关键字/数据(key/value)是Berkeley DB用来进行数据管理的基础.每个key/value构成了一条记录,而整 ...
- Uva 167 The Sultan's Successors(dfs)
题目链接:Uva 167 思路分析:八皇后问题,采用回溯法解决问题. 代码如下: #include <iostream> #include <string.h> using n ...
- poj 2346 Lucky tickets(区间dp)
题目链接:http://poj.org/problem?id=2346 思路分析:使用动态规划解法:设函数 d( n, x )代表长度为n且满足左边n/2位的和减去右边n/2位的和为x的数的数目. 将 ...
- A. Case of the Zeros and Ones----解题报告
A. Case of the Zeros and Ones Description Andrewid the Android is a galaxy-famous detective. In his ...
- c++构造函数析构函数调用顺序
#include <iostream> using namespace std; class A { public: A () { cout<<"A 构造 " ...
- 初识Channel
java.nio.channels 中的接口和类. A channel represents an open connection to an entity such as a hardware de ...
- zk set 方法
[root@wx03 zook]# cat a4.pl use ZooKeeper; use AnyEvent; use AE; use Data::Dumper; my $zk = ZooKeepe ...
- LVS:DR模式(Direct Routing)部署实验
本文介绍怎样在kvm的虚拟环境下,部署实验LVS的DR模式.包含网络结构图,怎样配置.以及使用tcpdump分析ip包. 网络结构图 kvm ...
- Android蓝牙A2dp profile的使用
A2dp profile是android支持的一种蓝牙情景模式,一般用于蓝牙立体声耳机,即蓝牙音频的输出 在android的app层中,A2dp的使用并不是很开放,api只提供了非常少的操作接口,连基 ...
- C#动态增加边框
if (this.Width >= 600) { timer1.Enabled = false; } else { this.Width += 30; }