CTFHub | 双写后缀

news/2024/5/19 23:40:40 标签: web安全, CTF, 安全

 0x00 前言

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

        

        

0x01 题目描述

双写后缀:

        (无)

网页显示内容

        

        

0x02 解题过程

分析网页源代码,可以看到网页会将上传的文件后缀名进行判断,符合白名单条件的会返回为空

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>CTFHub 文件上传——双写绕过</title>
</head>

<body>
    <h1>CTFHub 文件上传——双写绕过</h1>
    <form action="" 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>
    <p></p>
</body>

</html>

<!--
$name = basename($_FILES['file']['name']);
$blacklist = array("php", "php5", "php4", "php3", "phtml", "pht", "jsp", "jspa", "jspx", "jsw", "jsv", "jspf", "jtml", "asp", "aspx", "asa", "asax", "ascx", "ashx", "asmx", "cer", "swf", "htaccess", "ini");
$name = str_ireplace($blacklist, "", $name);
-->

        

这里上传一个后缀名为.php的一句话木马文件,提示上传成功

        

使用蚁剑连接测试网站连通性,发现返回值为空

        

那么根据题目的提示,我们可以使用双写后缀名进行文件上传,来达到绕过白名单检测的目的

双写后缀绕过:

例如:正常上传一个 .php 文件后缀的因为在白名单中出现会被网页清空后缀名。这时我们可以写两个后缀名 .pcerhp 网页会检测到 cer 后缀并清空,然而清空之后 .php 并不会消失,因为网页代码并没有对这个条件做判断。只清空了 cer ,那么 .php 后缀名被保留在网页中变达到了双写后缀绕过的目的。

http://xxx.ctfhub.com:10800/upload/shell.    //上传文件名:shell.php

http://xxx.ctfhub.com:10800/upload/shell.php    //上传文件名:shell.pcerhp

        

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

        

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

        

        

0x03 参考文献

[1].多学点技术. 利用后缀名双写绕过[EB/OL]. [2023-04-09]. https://blog.csdn.net/weixin_44032232/article/details/109009842.

        

        

0x04 总结

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


http://www.niftyadmin.cn/n/218156.html

相关文章

windows编程(4) - GDI绘图基础

基础概念 GDI&#xff1a;Graphic Device Interface 图形设备接口。GUI&#xff1a;Graphic User Interface 图形用户接口。HDC&#xff1a;Handle of Device Context&#xff1a; 图形设备上下文句柄。 字符界面的基本单位是字符。 图形界面的基本单位是像素。 像素&#…

nssctf web入门(2)

目录 [SWPUCTF 2021 新生赛]easy_md5 [SWPUCTF 2021 新生赛]include [SWPUCTF 2021 新生赛]PseudoProtocols 这里通过nssctf的题单web安全入门来写&#xff0c;会按照题单详细解释每题。题单在NSSCTF中。 想入门ctfweb的可以看这个系列&#xff0c;之后会一直出这个题单的解…

Java实现图片验证码功能

文章目录一、背景二、实现步骤1、maven中加入依赖2、CaptchaController.java3、生成验证码配置4、CaptchaService.java接口5、CaptchaServiceImpl.java实现类6、增加验证码校验涉及文件一、背景 在实现登录功能时&#xff0c;为了防止特定的程序暴力破解&#xff0c;一般为了安…

dubbo2.7升级到dubbo3--dubbo2.7升级到dubbo3系列

最近在做老系统升级(springboot2dubbo2.7.1zookeepernacos-config)&#xff0c;去掉zookeeper的注册中心&#xff0c;替换成nacos2.1版本&#xff08;阿里云已经不支持1.X版本了&#xff09;-对应的需要升级springboot和dubbo3。最终升级完成了&#xff0c;其中遇到的诸多问题&…

Python爬虫基础之如何对爬取到的数据进行解析

目录1. 前言2. Xpath2.1 插件/库安装2.2 基础使用2.3 Xpath表达式2.4 案例演示2.4.1 某度网站案例3. JsonPath3.1 库安装3.2 基础使用3.2 JsonPath表达式3.3 案例演示4. BeautifulSoup4.1 库安装4.2 基础使用4.3 常见方法4.4 案例演示参考文献原文地址&#xff1a;https://www.…

开源流媒体服务器ZLMediaKit在Windows上运行、配置、按需拉流拉取摄像头rtsp视频流)并使用http-flv网页播放

场景 目前市面上有很多开源的流媒体服务器解决方案&#xff0c;常见的有SRS、EasyDarwin、ZLMediaKit和Monibuca等。 1、SRS GitHub - ossrs/srs: SRS is a simple, high efficiency and realtime video server, supports RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH and …

Callable和FutureTask可能会创建多次。但是FutureTask能 够在⾼并发环境下确保任务只执⾏⼀次,这是怎么实现的?

先说原理&#xff1a; FutureTask能够在高并发环境下确保任务只执行一次的原理是通过使用volatile和CAS&#xff08;Compare and Swap&#xff09;实现的。 具体来说&#xff0c;FutureTask在执行任务前&#xff0c;会先检查任务状态&#xff0c;如果状态为NEW&#xff0c;则…

springboot+minio实现文件上传

目录 前言代码实现引入jar包编写配置类编写工具类配置文件测试上传下载删除批量删除前言 📃上传 代码实现 引入jar包 <!--加入minio的依赖--><dependency