第七关 基于白名单的输入过滤的SSRF
这一关就是只允许特定URL或者ip地址进行访问,经过重新构造带有特定域名的URL绕过限制,进行ssrf攻击
提示:1、靶场具有从内部系统获取数据的库存检查功能。
2、要更改库存检查 URL 以访问 http://localhost/admin 的管理界面并删除用户 carlos
3、开发人员部署了需要绕过的反 SSRF 防御。
具体操作:
1、在burp运行时,访问产品,单击“检查库存”
把这个检查库存的数据包,发往repeater

将 stockApi 参数中的 URL 更改为 http://127.0.0.1/,并观察应用程序正在解析 URL、提取主机名并根据白名单验证它。
响应返回,必须是这个 ”stock.weliketoshop.net“ 域名才能访问

将 URL 更改为
stockApi=http://username@stock.weliketoshop.net/
发现是接受的,这表明 URL 解析器支持嵌入式凭据
没有被拒绝访问,而是响应返回500错误,页面显示无法连接,那说明新的域名可以访问网站了

接下来再尝试将 # 附加到用户名,发现被拒绝访问
stockApi=http://#usernamcgstock.welikctoshop.net/

尝试下双重 URL 将 # 编码为 %2523,并观察到极其可疑的“内部服务器错误”响应,表明服务器可能已尝试连接到“用户名”。
stockApi=http://localhost:80%2523@stock.weliketoshop.net/admin
对#进行双重ur编码后,访问没有被拒绝,只是说无效的ur

构造一下URL,访问管理界面:
stockApi=http://localhost:80%2523@stock.weliketoshop.net/admin

跟之前打过的靶场一样,现在是删除不了的,先去这个访问管理面的响应正文中复制删除路径
/admin/delete?username=carlos
改造一下:stockApi=http://localhost:80%2523@stock.weliketoshop.net/admin/delete?username=carlos
改成这个,返回302,说明已经删除用户成功

刷新浏览器,靶场过关
