zoukankan      html  css  js  c++  java
  • MRCTF2020 套娃

    MRCTF2020套娃

    打开网页查看源代码

    关于$_SERVER['QUERY_STRING']取值,例如:
    http://localhost/aaa/?p=222
    $_SERVER['QUERY_STRING'] = "p=222";
    
    substr_count()函数计算子串在字符串中出现的次数
    PS:子串区分大小写
    

    上述代码不能出现'_'和'%5f',可以用‘ ’或‘.’或‘ %5F’绕过

    通过get取得的参数b_u_p_t不等于23333但是正则,匹配需要匹配到23333所以这里用%0a(因为正则匹配中'^'和'$'代表的是行的开头和结尾,所以能利用换行绕过)绕过

    payload:?b%5Fu%5Fp%5Ft=23333%0a
    

    MRCTF2020二

    打开secrettw.php查看源码

    MRCTF2020三

    复制注释代码放进控制台

    MRCTF2020四

    随便POST一个Merak值,回显如下

    MRCTF2020五

    分析一下代码

    1.需要IP地址为127.0.0.1 在header中加client-ip:127.0.0.1

    2.file_get_contents用php伪协议绕过

    2333=php://input
    post:todat is a happy day
    

    3.change函数的作用,传入的参数先进行base64解码,然后将字符转化成ASCII并且+$i*2

    反写change函数,exp:

    <?php
    function unchange($v){ 
        $re = '';
        for($i=0;$i<strlen($v);$i++){ 
            $re .= chr ( ord ($v[$i]) - $i*2 ); 
        } 
        return $re; 
    }
    $real_flag = unchange('flag.php');
    echo base64_encode($real_flag);
    ?>
    

    得到ZmpdYSZmXGI=

    用burp传入参数得到flag

    MRCTF2020六

  • 相关阅读:
    AS中Loading 的加载
    视频类的相关加载
    2012、10、05 听课笔记
    2012、09、27 听课笔记
    小程序的编写—2
    小程序的编写—1
    2012、9、28 听课笔记
    GCD
    CFHTTP
    获取当前时间字符串
  • 原文地址:https://www.cnblogs.com/rabbittt/p/13291746.html
Copyright © 2011-2022 走看看