ctfhub-web-SSRF通关攻略

一、内网访问

1.打开ctfhub给的环境地址

2.观察题目 发现让我们访问127.0.0.1下的flag.php

在地址栏后面有一个url参数 

?url=http://127.0.0.1/flag.php  提交即可

二、伪协议读取文件

1.打开ctfhub给的环境

2.观察题目 发现让我们读取flag.php文件

读取文件用到的协议是file://

web默认目录一般是/var/www/html

尝试访问/var/www/html/flag.php  发现页面并没有flag

3.查看网页源代码

可以发现有flag

三、端口扫描

1.打开ctfhub给的环境

2.观察题目 发现端口范围在8000-9000端口之间

尝试访问http://127.0.0.1:8000 使用burp抓包进行访问

3.发送到攻击模块

先清除默认的payload  在8000处添加payload进行攻击

然后选择数值类型 8000开始 9000结束

4.开始攻击 查看存在flag的端口

发现有一个长度不一样 查看响应包 发现有flag

提交即可

四、POST请求

1.打开环境

2.打开地址 

使url=http://127.0.0.1/flag.php  会发现有一个输入框

3.查看网页源代码

发现提交的是key值  注释里有说明了key的值 

4.提交请求时抓包

5.使用gopher协议进行post请求

构造gopher协议请求

修改host=127.0.0.1:80

6.进行url编码

7.保存到txt文件 将%0A全部改为%0D%0A

8.再次返回在线编码 进行二次编码

9.将编码结果提交到url

注意:有的编码平台可能会把冒号和双斜杠进行编码 构造payload时要修改回来

页面出现flag

五、上传文件

1.打开ctfhub给的环境

2.在地址栏输入127.0.0.1/flag.php

3.构造提交按钮

4.上传文件的时候进行抓包

5.构造gopher协议

6.进行url编码

将数据包内容进行url编码

7.修改%0A为%0D%0A

在末尾加上%0D%0A 表示结束

8.修改之后进行二次编码

9.返回环境给的地址进行构造

在url后加上二次编码后的gopher协议 发现页面有flag

六、FastCGl协议

 1.打开ctfhub给的环境

2.使用Gopherus工具

打开kali使用这个工具

python2 gopherus.py打开工具

3.对fastcgi漏洞进行利用

python2 gopherus.py --exploit fastcgi

4.获取网站绝对路径

因为它是linux系统 默认目录为/var/www/html/index.php

5.准备好一句话木马

将一句话木马进行base64编码后 输入到网站根目录

6.将获取的payload进行url编码

7.将编码后的结果进行url提交

发现页面没有报错

8.查看一句话木马是否写进去

发现页面没有报错 说明cmd.php写进去了

9.使用菜刀工具进行连接

打开菜刀工具输入木马地址 

成功连接

10.打开根目录就可以看见flag文件

七、Redis协议

 1.打开ctfhub给的环境

2.使用Gopherus工具

打开kali使用这个工具

python2 gopherus.py打开工具

3.对redis漏洞进行利用

python2 gopherus.py --exploit redis

4.选择php文件 

因为它是linux系统 默认目录为/var/www/html/index.php  所以我们选默认即可

5.准备好一句话木马

输入一句话木马

6.将获取的payload进行url编码

7.将编码后的结果进行url提交

发现页面504报错

8.查看一句话木马是否写进去

发现页面没有报错 只是有一些乱码

说明shell.php写进去了

9.使用菜刀工具进行连接

打开菜刀工具输入木马地址 

成功连接

10.打开根目录就可以看见flag文件

八、URL Bypass

1.打开ctfhub给的环境

2.进入题目

页面显示我们输入的url必须包含http://notfound.ctfhub.com

3.尝试绕过限制

使用@来绕过即可

如http://aaa@127.0.0.1/flag.php  意思就是以用户名为aaa来进行访问127.0.0.1的站点下的flag文件

4.构造payload

url=http://notfound.ctfhub.com@127.0.0.1/flag.php

成功获得flag.php文件

九、数字IP Bypass

1.打开ctfhub给的环境

2.查看题目

发现127以及172被过滤了 尝试别的绕过

将127.0.0.1进行八进制、十进制、十六进制 然后进行绕过

通关尝试 发现只有十进制可以进行绕过

127.0.0.1的十进制 2130706433

3.构造payload

url=http://2130706433/flag.php

成功获得flag文件

十、302跳转 Bypass

1.打开ctfhub给的环境

2.查看题目

发现请求会跳转到302文件

我们可以在公网IP下写一个302.php文件

3.编辑302.php文件

将文件保存在网站根目录下

<?php header("location:http://127.0.0.1/flag.php");?>

4.直接访问302文件

url=http://[公网IP]/302.php

可以实现页面跳转  可以看到flag文件

十一、DNS重绑定 Pypass

1.打开ctfhub给的环境

2.查看题目

DNS重绑定 绑定两个回环地址

3.设置回环地址

地址rbndr.us DNS 重新绑定服务 (cmpxchg8b.com)

4.提交生成的payload

url=http://7f000001.7f000002.rbndr.us/flag.php

### 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、付费专栏及课程。

余额充值