CTFHub-ssrf

技能树--Web--SSRF

image.png

内网访问

开启题目

1.尝试访问位于127.0.0.1的flag.php

image.png

进入环境

image.png

 根据提示输入即可

image.png

 

伪协议读取文件

开启题目

1.尝试去读取一下Web目录下的flag.php

image.png

 进入环境,根据提示输入

file:///var/www/html/flag.php

image.png

鼠标右键查看页面源代码

image.png

 

端口扫描

开启题目

image.png

进入环境

image.png

 根据提示输入端口号,使用burp抓包

image.png

发现攻击模块

image.png

 设置payload

image.png

开始攻击

image.png

 使用爆破后的端口

image.png

POST请求

开启题目

image.png

 进入环境

image.png

尝试访问

image.png

查看页面源代码

image.png

 输入框输入key的值抓包

image.png

 使用gopher协议提交post请求

image.png

 

gopher://127.0.0.1:80/_POST /flag.php HTTP/1.1
Host:127.0.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 36

key=fcc06e47e6334a4620426a117b4796fd

一次URL编码

推荐使用CTF在线工具箱:CTF在线工具-CTF工具|CTF编码|CTF密码学|CTF加解密|程序员工具|在线编解码

image.png

 将其中的%0a全部替换为%0d%0a

image.png

在最后也加上一个%0d%0a,表示请求结束 

image.png

 二次URL编码

image.png

将其中的双斜杠和冒号复原,然后在url后输入即可 

image.png

 

上传文件

开启题目

image.png

 进入环境,尝试访问

image.png

 桌面新建一个1.php文件

image.png

没有提交按钮,点击F12打开查看器,构造一个提交按钮 

image.png

 


选择文件上传,使用bp抓包,点击提交

image.png

image.png

 修改为以下内容

image.png

 

复制,一次URL编码

image.png

 记事本中全部替换,结尾加一个%0d%0a

image.png

 二次URL编码

image.png

再次访问即可 

image.png

 

FastCGI协议

开启题目

image.png

 进入环境

image.png

 运行程序

image.png

 

image.png

 

image.png

 进行一次URL编码

image.png

 

image.png

 

image.png

 使用中国菜刀运行一句话木马

image.png

点击根目录,发现一个flag文件 

image.png

双击打开即可 

image.png

 

Redis协议

开启题目

image.png

 进入环境,尝试访问

image.png

 运行程序

image.png

 

image.png

 进行一次URL编码

image.png

 修改以下内容,再次访问

image.png

使用中国菜刀运行一句话木马 

image.png

 打开根目录

image.png

 双击打开即可

image.png

URL Bypass

开启题目

image.png

进入环境

image.png

 根据提示尝试访问

image.png

 

数字IP Bypass

开启题目

image.png

进入环境 

image.png

 

image.png

302跳转 Bypass

开启题目

image.png

进入环境,尝试访问 

image.png

 根据提示对IP进行绕过

localhost/flag.php

0.0.0.0/flag.php

image.png

 

DNS重绑定 Bypass

开启题目

image.png

查看附件,访问附件网站:rbndr.us dns rebinding service 

image.png

 进入环境,尝试访问

image.png

 在解析⽹站上获取解析到内⽹IP的域名并作访问即可获取其Flag

image.png

返回,再次访问即可 

image.png

### CTFHub Web平台中的SSRF漏洞利用Post求 #### SSRF漏洞概述 服务器端求伪造(Server-Side Request Forgery, SSRF)是一种攻击方式,其中攻击者能够诱使服务器向任意URL发出HTTP求。这种攻击可能让攻击者绕过防火墙和其他安全控制措施,访问内部网络资源或敏感数据。 当应用程序允许用户输入并将其作为部分构建对外部服务的求时,如果没有适当验证这些输入,则可能存在SSRF风险[^1]。 #### Post求下的SSRF漏洞利用实例 在某些情况下,Web应用会接受来自用户的POST参数,并基于此创建新的HTTP POST求到指定的目标位置。假设有一个接口`/api/fetchData`接收两个字段:一个是目标网址(`url`);另一个是要发送的数据体(`data`)。如果这个API不对传入的`url`做任何校验就直接发起求的话,那么它就是一个潜在的SSRF入口点[^3]。 例如,在CTF场景下,可以通过构造如下表单提交来测试是否存在此类漏洞: ```html <form action="http://example.com/api/fetchData" method="POST"> <input type="hidden" name="url" value="http://internal-service/admin"/> <textarea name="data">{"action":"listUsers"}</textarea> <button>Submit</button> </form> ``` 一旦成功触发该行为,服务器就会尝试连接至所提供的内部路径并向其传递JSON负载,这可能导致未授权的信息泄露或其他更严重的后果。 #### 防御策略建议 为了防止上述情况的发生,应该采取以下几种方法加强防护: - **严格验证所有外部可控变量**:确保每一个由客户端提供的值都被仔细审查,特别是那些用来组成最终调用链路的部分。 - **采用白名单模式限定可到达的目的地集合**:仅限于已知可信站点列表内的链接才被准许处理,拒绝一切超出范围之外的选择。 - **实施细粒度的身份认证与权限管理**:即使是在受控环境之内也要遵循最小特权原则,即只有真正必要的时候才能给予特定实体执行高危动作的权利。 另外值得注意的是,除了基本防范手段外还可以考虑引入诸如代理层之类的技术方案进一步隔离内外网之间的交互过程,减少暴露面的同时也增加了中间件层面的安全保障能力[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值