虚拟机中cve-2021-44228 漏洞复现不使用docker并设计使用centos 7作为靶机Linux作为攻击机,其复现的详细步骤及所需要使用的版本环境如何搭建(仅供学习使用)
时间: 2024-09-10 13:20:57 浏览: 53
centos7-sudo-1.9.9.rpm包。修复CVE-2021-3156,Sudo堆缓冲区溢出漏洞
5星 · 资源好评率100%
CVE-2021-44228是一个与Apache Struts框架相关的远程代码执行漏洞。要在不使用Docker的情况下,在CentOS 7上复现这个漏洞,并利用Linux作为攻击机,我们需要遵循一些步骤:
**前提条件:**
1. 靶机(CentOS 7)需要安装Apache服务器和Struts框架(版本可能涉及该漏洞,如Struts 2.5.x之前)
2. 攻击者机器(Linux)需要SSH权限访问靶机
**复现步骤:**
1. **更新系统和软件包:**
```
sudo yum update -y
sudo yum install httpd struts2-core -y
```
2. **配置Apache Struts:**
a. 创建一个新的web应用目录(例如 `/var/www/html/struts-app`)。
b. 复制Struts默认的war文件到此目录,通常是 `httpd/conf.d/struts-default.conf` 中指定的路径。
c. 确保在 `web.xml` 或者 `struts.xml` 文件中启用了ActionServlet。
3. **创建一个测试payload:**
编写一个简单的Java Action,比如 `HelloWorldAction.java`,包含恶意代码。可以参考官方文档或其他示例中的漏洞利用方式。
4. **部署payload:**
将 `HelloWorldAction.java` 编译成 `.class` 文件,然后将其复制到应用的 `WEB-INF/classes` 目录下。
5. **发起请求:**
使用Linux命令行工具(如curl),从攻击者机器向靶机发送POST请求,携带包含恶意参数的URL,类似于:
```
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'action=your-malicious-action' http://[target-ip]:80/your-app-context/
```
替换 `[target-ip]` 和 `your-app-context` 为实际的IP地址和应用上下文路径。
6. **验证漏洞是否成功:**
如果复现了漏洞,通常会在目标主机上看到异常或执行了预期的恶意操作。检查日志文件,如 `apache_error.log`,可能有相关迹象。
注意:这只是理论上的复现步骤,实际操作请务必遵守法律并确保安全,不要在未经授权的环境中尝试此类操作。
阅读全文