ctfhub-web-SSRF通关攻略

embedded/2024/9/23 9:33:04/

1、内网访问

1、开启本题,查看题目要求

得出尝试访问127.0.0.1的flag.php

2、点击链接,可以看到最后的url参数

3、结合本题要求,在url后输入http://127.0.0.1/flag.php

即可得出flag

2、伪协议读取文件

1、开启本题,查看题目要求

得出要读取Web目录下的flag.php

2、linux的web根目录为/var/www/html

所以在url后输入file:///var/www/html/flag.php,发现页面没有显示flag

3、查看网页源代码,即可得出flag

3、端口扫描

1、开启本题,查看题目要求

2、访问http://127.0.0.1:8000,发现页面没有显示

3、使用burp suite进行抓包,并将数据包发送至intruder

4、通过爆破得出flag

4、POST请求

1、开启本题,查看题目要求

2、在url后输入http://127.0.0.1/flag.php 页面出现搜索框

3、查看页面源代码,将key后边的值输入到搜索框中

4、使用burp suite进行抓包

5、将修改后的数据包使用url在线编码

6、将编码后的数据中的%0a替换为%0d%0a

将修改后的数据再次进行编码

7、将二次编码后的数据写入url后,即可得出flag

5、上传文件

1、开启本题,查看题目要求

2、在url后输入http://127.0.0.1/flah.php 页面出现文件提交

3、页面没有提交按钮,在查看器中写入代码

4、使用burp suite抓包

5、将修改后的数据包进行编码

6、将编码后的数据中的%0A替换为%0D%0A

将修改后的数据再次进行编码

7、将二次编码后的数据写入url后,即可出现flag

6、FastCGI协议

1、开启本题,查看题目要求

2、本题使用Gopherus工具

将一句话木马使用base64编码

3、使用gopherus工具生成payload

4、将生成的payload进行url编码

5、将编码后的数据写入到url后,访问shell.php,没有报错,说明访问成功

使用中国菜刀进行连接,即可找到flag

7、Redis协议

1、本关和第六关一样使用gopherus工具

写入一句话木马,生成payload

2、将生成的payload进行编码

3、在url后输入编码后的数据,并访问shell.php,页面虽有乱码,但没报错

4、使用中国蚁剑进行连接,即可找到flag

8、URL bypass

1、开启本题,查看题目要求

2、由于本题要求url中必须包含http://notfound.ctfhub.com

可以尝试绕过限制

在http://notfound.ctfhub.com后+@进行绕过

3、在url后输入http://notfound.ctfhub.com@127.0.0.1/flag.php

9、数字IP Bypass

1、开启本题,查看题目要求

 

2、输入http://127.0.0.1/flag.php,页面显示127/172/@被限制

需要尝试其他方法绕过

3、将127.0.0.1转换成十进制为2130706433

在url后输入http://2130706433/flag.php

 即可得出flag

10、302跳转 Bypass

1、开启本题,查看题目要求

2、先输入http://127.0.0.1/flag.php,发现页面显示该IP被禁止

将127.0.0.1替换成localhost,即可得出flag

11、DNS重绑定 Bypass

1、开启本题,查看题目要求

2、先输入http://127.0.0.1/flag.php 发现页面显示IP被禁止

3、将两个回环地址绑定 地址:rbndr.us dns rebinding service (cmpxchg8b.com)

4、在url后输入绑定后的payload,即可得到flag


http://www.ppmy.cn/embedded/103270.html

相关文章

JNPF低代码开发平台如何助力传统制造业破茧成蝶

在数字化转型的浪潮中,传统制造业面临着前所未有的挑战与机遇。如何在激烈的市场竞争中脱颖而出,实现生产效率的提升、成本的降低以及产品和服务的创新,是每个制造企业亟待解决的问题。JNPF低代码开发平台以其独特的技术优势,为传…

C#指针(内存地址)IntPtr

IntPtr结构体全称为Integer Pointer,指针变量,主要用来保存寄存器起始地址的指针,如分配大内存的代码,并且可以进行指针偏移处理 int[] data new int[] { 1, 2, 3, 4, 5 }; IntPtr ptr Marshal.AllocHGlobal(data.Length * siz…

NoSql数据库 Redis集群详解

目录 一、NoSql数据库简介 1.1 数据库主要分为两大类:关系型数据库与 NoSQL 数据库 1.2 为什么还要用 NoSQL 数据库呢? 1.3 RDBMS和NOSQL的特点及优缺点: 二 Remote Dictionary Server 简介(redis) 2.1 什么是redis …

虚幻5|(1)技能栏快捷格子的制作|(2)如何在游戏进行的时候显示鼠标,使用鼠标操作UI||(3)改进技能释放

一.创建技能栏格子UI 1.创建一个UI控件蓝图,命名为技能栏格子(如何创建我就不多说了,学到这了基础知识应该有所掌握了) 2.添加一个边界和垂直框 3.选中边界,右侧细节栏更改如下 4.再拖入一个文本块,做垂直…

Jmeter执行多机联合负载

1、注意事项,负载机必须要安装jre,控制机则必须安装jdk。要配置同网段ip,双向关闭防火墙。 每个负载机要平均承担线程数。 具体执行事项查看上面截图所示,控制机和负载机配置。 2、先给负载机设置ip地址,保持与控制…

maya python调试(pycharm)

maya里面调试代码一直用的print。遇到复杂点的类就感觉有点束手束脚的,因此整理了一下maya调试的一些方法 1.万能的pdb调试 pdb 有2种用法 1.非侵入式方法 (不用额外修改源代码,在命令行下直接运行就能调试) 常规用法&#xf…

自动化任务工具 | zTasker v1.97.1 绿色版

在自动化任务管理领域,一款名为zTasker的软件以其卓越的性能和易用性脱颖而出。今天,电脑天空将为大家详细介绍这款软件的亮点和使用场景。 功能特点 1. 轻量级设计,快速启动 zTasker以其小巧的体积和快速的启动速度,为用户提供…

QT: 为什么不把 showEvent 这一类事件设计成信号?

在 Qt 框架中,showEvent 和其他事件处理函数(如 keyPressEvent, mousePressEvent 等)并不是被设计成信号(signal)的原因,主要涉及到它们的设计初衷和用途的不同。下面是一些解释为什么它们不是信号的原因&a…