学徒-基本SSRF-针对服务器自身
# 实验室:针对本地服务器的基本SSRF
# 题目
此实验室具有库存检查功能,可从内部系统获取数据。
要解决实验室问题,请将库存检查的 URL 更改为http://localhost/admin
,以此访问管理界面并删除carlos
用户。
- name: 实验室-学徒
desc: 针对本地服务器的基本SSRF >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost
bgColor: '#001350'
textColor: '#39d50c'
1
2
3
4
5
6
2
3
4
5
6
# 实操
根据题意,可得实验目标:
- 找到 库存检查 功能并更改参数的 URL 值,以此访问管理界面并删除 carlos 用户。
点击 “ACCESS THE LAB” 进入实验室。

来到首页,点击任意商品下方的 “View details” 进入详情页。

在商品详情页的下方,可以看到一个库存检查功能。
启用浏览器代理,然后点击 “Check stock” 检查库存。

库存查询成功。

查看捕获的数据包,在 POST 中存在一个参数stockApi
,它直接请求了一个 URL 链接。

在站点的/admin
路径处存在一个管理界面,只允许 管理员身份或本地地址 访问。

将刚刚捕获的数据包转发到 Repeater 功能模块,修改其中的stockApi
参数为http://localhost/admin
。
响应返回了管理界面的内容,说明访问成功。

在数据包中 “右键 --> Show response in browser” (在浏览器中显示响应内容)。

然后点击 “Copy” 复制该链接。

回到浏览器,新建一个标签页。
启动 BurpSuite 代理,然后访问刚刚复制的连接。

访问之后,成功进入管理界面。点击 Delete 删除 carlos 用户。

删除失败,网页跳转到了另一个 URL 。

那我们直接修改stockApi
参数,用它来访问删除用户的接口/admin/delete?username=carlos
。
stockApi=http://localhost/admin/delete?username=carlos
1
发送数据包,请求成功。

回到浏览器页面,实验完成。

编辑 (opens new window)