ctfhub-web-SSRF通关攻略

ops/2024/9/23 12:28:38/

一、内网访问

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


http://www.ppmy.cn/ops/101192.html

相关文章

爬取央视热榜并存储到MongoDB

1. 环境准备 在开始之前&#xff0c;确保你已经安装了以下Python库&#xff1a; pip install requests pymongo2. 爬取网页内容 首先&#xff0c;我们需要爬取央视热榜的网页内容。通过requests.get()方法&#xff0c;我们可以获取网页的HTML内容&#xff0c;并通过re.finda…

了解一点电池的工作原理,让它们更好地为我们工作。【手机充电小技巧】(影响电池寿命的主要因素:过充、过放以及高温)

文章目录 引言I 充电小技巧,充分发挥电池性能随充随用都行充电时移除某些保护壳不正常的持续发烫,建议停止充电及时拔掉充电器或者关闭插座电源长期存放时,请保持一半电量。电池健康自动管理II 电池的工作原理快充为便捷,慢充保寿命。锂离子电池以充电周期方式工作,让充电更…

ubuntu下cron无法安装

https://blog.csdn.net/love_521_/article/details/125497466 #不进行更新可能会出现一些问题 apt-get update && apt-get install cronwhich service /usr/sbin/service cron start #root用户可以直接使用这个命令 sudo /usr/sbin/service cron start # 普通用户查看…

USB设备驱动代码分析(鼠标)

定义鼠标ID表 static struct usb_device_id usbmouse_as_key_id_table [] {{USB_INTERFACE_INFO(USB_INTERFACE_CLASS_HID, USB_INTERFACE_SUBCLASS_BOOT,USB_INTERFACE_PROTOCOL_MOUSE)}, {} };这段代码是用于定义一个 USB 鼠标设备的 ID 表。它使用了 Linux 内核中的 usb_d…

2024国赛数学建模A题B题C题D题E题思路资料模型

开始在本帖实时更新2024国赛数学建模赛题思路代码&#xff0c;文章末尾获取&#xff01; 持续为更新参考思路 赛题思路 会持续进行思路模型分析&#xff0c;下自行获取。 A题思路&#xff1a; &#xff08;比赛开始后第一时间更新&#xff09; B题思路&#xff1a; &#xf…

centos8 配置清华大学yum源

在CentOS 8上更换为清华源&#xff0c;你需要编辑/etc/yum.repos.d/CentOS-Linux-BaseOS.repo和/etc/yum.repos.d/CentOS-Linux-AppStream.repo文件&#xff0c;将其中的baseurl和metalink地址替换为清华源地址。 1.备份原始的repo文件&#xff1a; sudo cp /etc/yum.repos.d…

趣味算法------回文数

目录 ​编辑 前言 什么是回文数 题目描述 解题思路 具体代码 C语言代码 python代码 总结 ps 前言 什么是回文数 回文数&#xff08;Palindrome Number&#xff09;是一种特殊的数字&#xff0c;它正读和反读都是一样的。例如&#xff0c;121&#xff0c;12321&#xf…

【开发工具】Git教程

1. Git简介 Git是一个分布式版本控制系统&#xff0c;它可以帮助您跟踪文件的更改历史&#xff0c;并与他人协作开发。 2. 安装Git 访问Git官网 git-scm.com&#xff0c;下载并安装适合您操作系统的Git版本。 3. Git配置 安装完成后&#xff0c;您需要配置您的用户信息&am…