网络安全:SSRF+XXE 漏洞挖掘笔记

声明

本文仅供学习参考,其中涉及的一切资源均来源于网络,请勿用于任何非法行为,否则您将自行承担相应后果

一、Server-side request forgery (SSRF)

01、Basic SSRF against the local server

描述

该实验室具有库存检查功能,可从内部系统获取数据。

为了解决实验室,更改股票检查 URL 以访问管理界面http://localhost/admin并删除用户carlos

解决方案

1.浏览/admin 并观察您无法直接访问管理页面。

2.访问一个产品,点击“Check stock”,拦截 Burp Suite 中的请求,发送给 Burp Repeater。

3.将 stockApi 参数中的 URL 更改为http://localhost/admin. 这应该显示管理界面。

4.阅读 HTML 确定删除目标用户的 URL,即: http://localhost/admin/delete?username=carlos

5.在 stockApi 参数中提交这个 URL ,来传递 SSRF 攻击。

为了感谢广大读者伙伴的支持,准备了以下福利给到大家:【一>所有资源获取<一】1、200 多本网络安全系列电子书(该有的都有了)2、全套工具包(最全中文版,想用哪个用哪个)3、100 份 src 源码技术文档(项目学习不停,实践得真知)4、网络安全基础入门、Linux、web 安全、攻防方面的视频(2021 最新版)5、网络安全学习路线(告别不入流的学习)6、ctf 夺旗赛解析(题目解析实战操作)

02、Basic SSRF against another back-end system

描述

该实验室具有库存检查功能,可从内部系统获取数据。

为了解决实验室问题,请使用库存检查功能处的漏洞扫描192.168.0.XC 段哪个 IP 的 8080 端口 上开启了 WEB 服务管理界面,然后使用它删除用户carlos

解决方案

1.访问一个产品,点击“Check stock”,拦截 Burp Suite 中的请求,发送给 Burp Intruder。 2.单击“clear §”,将 stockApi 参数更改为http://192.168.0.1:8080/admin,对 IP 地址的最后一个八位字节(数字 1),单击“添加有效载荷 §”。

3.切换到 Payloads 选项卡,将 payload 类型改为 Numbers,在“From”、“To”和“Step”框中分别输入 1、255 和 1。意思是从 1 到 255 遍历,点击“开始攻击”。

4.单击“状态”列可按状态代码升序对其进行排序。您应该会看到一个状态为 200 的条目,显示了一个管理界面。

5.点击这个请求,发送到 Burp Repeater,将里面的路径改成 stockApi:/admin/delete?username=carlos

03、SSRF with blacklist-based input filter

描述

该实验室具有库存检查功能,可从内部系统获取数据。

为了解决实验室,更改股票检查 URL 以访问管理界面http://localhost/admin并删除用户carlos

开发人员部署了两个您需要绕过的弱反 SSRF 防御。

解决方案

1.访问一个产品,点击“Check stock”,拦截 Burp Suite 中的请求,发送给 Burp Repeater。 2.将 stockApi 参数中的 URL 更改为http://127.0.0.1/,请求被阻止。

3.通过将 URL 更改为以下内容来绕过块: http://127.1/

使用的替代 IP 表示 127.0.0.1,例如 2130706433,017700000001,或 127.1。

4.将 URL 更改为http://127.1/admin并观察该 URL 再次被阻止。

5.通过双 URL 编码将“a”混淆为 %2561 以访问管理界面并删除目标用户。a的 url 编码结果是%61%的 url 编码是%25

6.删除 carlos

stockApi=http://127.1/%2561dmin/delete?username=carlos

04、SSRF with whitelist-based input filter

基于白名单绕过滤的 ssrf

某些应用程序仅允许与允许值的白名单匹配、以该白名单开头或包含该白名单的输入。在这种情况下,您有时可以通过利用 URL 解析中的不一致来绕过过滤器。

URL 规范包含许多在实现 URL 的临时解析和验证时容易被忽视的功能:

您可以使用@字符在 URL 中的主机名之前嵌入凭据。例如:https://expected-host@evil-host

您可以使用#字符来表示 URL 片段。例如:https://evil-host#expected-host

您可以利用 DNS 命名层次结构将所需的输入放入您控制的完全限定的 DNS 名称中。例如:https://expected-host.evil-host

您可以对字符进行 URL 编码以混淆 URL 解析代码。如果实现过滤器的代码处理 URL 编码字符的方式不同于执行后端 HTTP 请求的代码,这将特别有用。

您可以结合使用这些技术。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值