web-ssrfme复现

一,环境配置

1,下载压缩包文件,上传到虚拟机解压,并进入文件目录,使用docker-compose up -d构建并运行镜像,

(这里面可能涉及docker 的镜像源或者代理的问题,导致镜像拉取不下来,可以配置代理,或者更改国内镜像源)

2.运行了镜像过后,他是用本地的8091端口映射为容器内的80端口,直接访问虚拟机的8091端口就行了

二,分析

1,直接访问虚拟机的8091端口,页面显示源码内容,可以看到定义了curl函数,执行url的请求,但是对url的值做了过滤,不允许file://,dict://,127.0.0.1,../,localhost等字样,但是为对http://做过滤,同时下面只要有info参数就会显示phpinfo的信息,我们可以在里面获取docker”内网“中的IP地址

根据传入的info参数,进入了phpinfo页面,可以获取到网站的服务器实际内网地址是172.18.0.3:80,下一步的思路是通过给url传入http://172.18.0.3:port可以查看该服务器主机有没有其他开发的端口,如mysql的3306之类的。

直接用burp抓包,再自动攻击的模块中,选中端口直接从1到65535爆破,当然如果从1到65535爆破的话时间也是非常长的,可以选取一些指定的端口,就比如mysql3306,redis6379等等

结果就是除了网站服务器本机除了80端口开放,并没有其他端口开放了,这情况下可以换个思路,有可能他的数据库等等放在内网其他主机上

接下来尝试爆破出其他内网存活主机:如下图可以看到主机最后一位为1,2,3的长度不一样,当然172.18.0.3是网站的服务器内网地址,现在我们可以尝试爆破172.18.0.1的开放端口,和172.18.0.2的开放端口

接下来流程还是更上面一样,爆破端口,或者用常用端口先试一下,我这边用一些常用端口测试,测试出了redis的报错信息,那就说明在内网地址为172.18.0.2的主机上存在redis数据库

这时候就可以结合ssrf+gopher+redis进行渗透了,这里补充一下知识点:
Gopher 是一种早期的网络协议,支持发送多行文本请求,它可以构造任意TCP请求(包括redis)格式如下:

gopher://<host>:<port>/<TCP数据流>

而redis默认是没有设置密码的,如果管理员没有给他设置密码,同时又存在ssrf漏洞未严格过滤,这就导致了我们可以利用gopher协议伪造出恶意访问链接,让redis写入文件(如ssh公钥,webshell)

这里至于gopher内容如何构造,我们可以使用一款工具Gophers,这个需要python2安装https://github.com/tarunkant/Gopherus

下载好过后直接进入文件,给执行权限,安装运行即可。

可以使用gopherus --help来看帮助文档

gopherus --exploit redis命令可以构建访问并执行ridis命令的gopherus协议的链接

因为前面访问172.18.0.2的时候存在80端口,我们可以在默认路径下通过redis写webshell,我这里生成的是在默认/var/www/html路径下写的<?php phpinfo();代码,直接复制他生成的gopher协议的信息

这里还需要将他生成的gopher协议的信息的地址更改一下,再对这个信息做一次url编码,因为生成的gopher协议信息包含%字符,在传输给服务器的时候,会先对其进行url解码,导致gopher协议内容被破坏,gopher协议的解析器识别不了这个内容。

但是发现并没有文件,所以可能这个路径下不能写文件,现在我们可以尝试爆破出其他有没有可写文件的路径

可以用在网上找一份目录字典,在burp中进行爆破,可以看到存在/var/www/html/upload目录,接下来就尝试能不能在这个目录下写文件

重新构造gopher:

直接再次访问,这时候页面再转圈圈,说明几乎成功了,正在写入

然后我们进入docker看一下

确实是写进去了,但是内容有点问题,这里我们可以写脚本生成gopher协议的内容,也可以在网上寻找脚本,重新试一次。总之大体思路就是这样。

<think>嗯,用户让我介绍一下CVE-2023-34362的复现方法。首先,我需要确认这个CVE的具体信息。CVE-2023-34362是一个MOVEit Transfer的漏洞,涉及SQL注入和远程代码执行。MOVEit Transfer是Progress Software开发的用于安全文件传输的软件。根据公开资料,这个漏洞存在于2023年5月被披露,影响多个版本,攻击者可以通过构造恶意请求进行利用。 接下来,用户可能想知道如何复现这个漏洞,但必须注意,未经授权的测试是违法的。我需要强调法律和道德问题,提醒用户只能在合法授权的情况下进行测试。然后,我需要分步骤解释复现过程,确保结构清晰。 首先,复现环境需要搭建,比如安装受影响版本的MOVEit Transfer,比如2022.0.5之前的版本。然后,构造恶意HTTP请求,利用SQL注入上传恶意文件。攻击者可能利用的端点可能是/guestaccess.aspx,发送特制的POST请求,注入SQL语句,通过xp_cmdshell执行系统命令。 需要提到具体的请求示例,比如使用Burp Suite或curl发送请求,注入SQL代码写入webshell到服务器。然后通过访问上传的webshell执行任意命令。同时,要说明缓解措施,比如升级到修复版本,禁用xp_cmdshell,部署WAF等。 需要确保技术细节准确,比如SQL注入的步骤,如何触发RCE,以及正确的版本信息。同时,必须反复提醒用户不要进行未经授权的测试,遵守法律。可能还需要解释漏洞的根本原因,比如输入验证不足导致SQL注入,进而通过存储过程执行系统命令。 在回答过程中,要使用中文,结构清晰,分步骤说明。同时注意LaTeX格式的正确使用,但用户的问题中可能不涉及数学公式,所以可能不需要太多LaTeX内容。最后,总结复现的关键点,强调合法性和防护措施。</think>以下为关于CVE-2023-34362漏洞复现的技术分析框架。请注意:**未经授权复现漏洞属于违法行为,本文仅作技术研究参考。** --- ### **1. 漏洞基本信息** - **CVE编号**:CVE-2023-34362 - **影响产品**:Progress Software MOVEit Transfer(企业文件传输工具) - **漏洞类型**:SQL注入 → 远程代码执行(RCE) - **CVSS评分**:9.8(Critical) - **影响版本**:2022.0.5及之前版本 --- ### **2. 漏洞原理** #### **根本原因** - MOVEit Transfer的`guestaccess.aspx`端点未对用户输入进行充分过滤,导致攻击者可通过构造恶意HTTP请求注入SQL语句。 - 通过滥用MSSQL的`xp_cmdshell`存储过程,注入的SQL语句可触发操作系统命令执行。 #### **攻击链** ``` 构造恶意HTTP请求 → SQL注入 → 写入WebShell → 执行系统命令 ``` --- ### **3. 复现环境准备** 1. **受影响版本安装**(需合法授权) - 部署MOVEit Transfer 2022.0.5或更早版本。 - 配置MSSQL数据库,启用`xp_cmdshell`(默认禁用,需手动开启)。 2. **工具准备** - Burp Suite/Postman(构造HTTP请求) - 漏洞利用PoC脚本(需自行开发或参考公开研究) --- ### **4. 复现步骤(技术模拟)** #### **步骤1:SQL注入验证** ```http POST /guestaccess.aspx?__VIEWSTATE=... HTTP/1.1 Host: target.com ... Content-Type: multipart/form-data ------WebKitFormBoundary Content-Disposition: form-data; name="file"; filename="test' WAITFOR DELAY '0:0:5'--" ... ``` - 观察服务器响应延迟5秒,确认存在时间型SQL注入。 #### **步骤2:利用xp_cmdshell执行命令** ```sql '; EXEC xp_cmdshell 'echo "恶意代码" > C:\inetpub\wwwroot\shell.aspx' -- ``` - 通过注入将WebShell写入服务器Web目录。 #### **步骤3:触发远程代码执行** ```http GET /shell.aspx?cmd=whoami HTTP/1.1 Host: target.com ``` - 访问WebShell执行系统命令(如`whoami`)。 --- ### **5. 缓解措施** 1. **官方修复** 升级至MOVEit Transfer 2022.1.6或更高版本。 2. **临时缓解** - 禁用`xp_cmdshell`存储过程 ```sql EXEC sp_configure 'show advanced options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 0; RECONFIGURE; ``` - 部署WAF规则拦截`/guestaccess.aspx`异常请求。 --- ### **6. 法律与道德声明** - 漏洞复现需在授权环境下进行。 - 未经授权的渗透测试违反《计算机欺诈与滥用法》等法律。 如需进一步技术细节(如具体Payload构造),建议参考MITRE CVE官方文档及厂商安全公告。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值