SSRF-lab

SSRF(服务端请求伪造)是一种利用服务端的权限,通过构造恶意请求来攻击内网或者本地服务器的安全漏洞。本文介绍了SSRF的基本原理,列举了可能导致SSRF的PHP函数,并通过两个实验展示了如何利用SSRF进行文件读取、端口扫描等操作。在实验1中,通过curl执行未经验证的URL导致安全风险;实验2中,虽然增加了协议类型的判断,但可能通过302跳转等方式绕过。
摘要由CSDN通过智能技术生成

SSRF(服务端请求伪造)

原理:
很多web应用都提供了从其他的服务器上获取数据的功能。使用用户指定的URL,web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地的服务器。

如图:
正常情况下,一个客户端发送指定的url给服务器去请求一个东西,当服务器收到这个请求后首先查看这个url是否合法,然后再去向内网资源去请求这个url需要的资源,然后服务器再将资源返回给客户端。

而如果恶意用户传入的url没有被过滤的话那么他就能够通过ssrf访问到内网的一些本来不允许访问的资源(也就是client直接去访问内网资源是不被允许的,而服务器可以,这就是ssrf
在这里插入图片描述
在php中会导致ssrf的函数:
file_get_contents()
fsockopen()
curl_exec()

实验1:(basic)

在这里插入图片描述
可以看到这里使用了curl库:
curl_init — 初始化一个cURL会话
curl_setopt ( resource $ch , int $o

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSRF (Server Side Request Forgery) 测试是一个用于检测服务器端请求伪造漏洞的工具,它是一种常见的安全测试技术。为了安装 SSFRT 这一工具,你可以按照以下步骤操作: ### 安装依赖 首先,确保你的系统已安装 Python 和 pip(Python 的包管理器)。在命令行界面输入: ```bash pip install -r requirements.txt ``` 如果你是使用基于 Debian 或者 Ubuntu 的 Linux 发行版,则需要先安装 `libffi-dev`、`libssl-dev`、`python-dev` 等库,可以通过运行以下命令完成: ```bash sudo apt-get update sudo apt-get install libffi-dev libssl-dev python-dev ``` 接着,在你的项目目录中创建一个名为 `requirements.txt` 的文件,并添加所需的依赖(通常包括 `requests` 库),然后再次使用 `pip` 来安装: ```txt # requirements.txt 文件内容示例 requests==2.26.0 pip install -r requirements.txt ``` ### 安装 SSFRT 工具 使用 Git 克隆 SSFRT 的仓库到本地: ```bash git clone https://github.com/ssertool/ssftrt.git cd ssftrt pip install . ``` 或者从 PyPI 直接安装(如果已发布): ```bash pip install ssftrt ``` ### 使用 SSFRT 一旦 SSFRT 成功安装,你可以在 Python 脚本中导入并使用它来进行 SSRF 测试。典型的用法如下: ```python from ssertool.ssftrt import SSFRT ssf = SSFRT() results = ssf.scan('http://example.com', {'param': 'http://target.example.com'}) print(results) ``` 在这个例子中,我们尝试通过 `http://example.com` 的 URL 发起请求,其中 `param` 参数指向了目标 URL `http://target.example.com`。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值