• 北邮 -3.29


     菜鸡只打了100分

    ez_bypass

    对于我一点都不ez

     用数组可以让md5加密都都为NULL,然后是原本数据不相等,so,id[]=1&gg[]=2

    然后下面那个is_numeric()是用来判断是否为数字,so,用post传值1234567%00,或者1234567a或1234567!都可以,然后就出现了让我激动的flag

    套娃

    看不懂这两个字,做起来才发现,一重又一重,唉,搞了我n小时

     看源码,发现这个

     然后上网找找,发现substr_count(a,b),是找在a中有多少个b,

    然后又找到可以用 .  代替  _  

    又发现正则表达式不能等于23333,网上又找到了可以用%0a过滤

    正当以为出flag时

     好吧,是我想得太简单了

     看源码发现一堆这个东西,然后拿去解

    叫我post me Merak

    但我发现它又叫我要本地登录,所以我即用本地有传值,发现原来根本就不是一起的

    我单传值得到

     然后又找看不懂的代码

    <?php 
    error_reporting(0); 
    include 'takeip.php';
    ini_set('open_basedir','.'); 
    include 'flag.php';

    if(isset($_POST['Merak'])){ 
        highlight_file(__FILE__); 
        die(); 



    function change($v){ 
        $v = base64_decode($v); 
        $re = ''; 
        for($i=0;$i<strlen($v);$i++){ 
            $re .= chr ( ord ($v[$i]) + $i*2 );  //chr是把ASCII转成字符 ord时把字符转成ASCII数字,大概是这个意思吧
        } 
        return $re; 
    }
    echo 'Local access only!'."<br/>";
    $ip = getIp();
    if($ip!='127.0.0.1')
    echo "Sorry,you don't have permission!  Your ip is :".$ip;
    if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' ){ //file_get_contents() 函数把整个文件读入一个字符串中。
    echo "Your REQUEST is:".change($_GET['file']);
    echo file_get_contents(change($_GET['file'])); }

    ?>  

    然后就不懂了

    后来经高人指点,用了一下php://input发现不行

    再经高高人指点高人再指点我,用了data://

     终于成功了

     虽然做的题目很少,但也学到了一些东西,继续努力吧,希望下次能更好。

    50+50=100,按小学成绩来算就是满分啦,哈哈哈

  • 相关阅读:
    设计模式(一)工厂模式Factory(创建型)
    c++ 依据输入动态声明数组(一维,二维)
    【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)
    正确的 zip 压缩与解压代码
    站点设计高性能高并发
    hdu 1712 ACboy needs your help 分组背包
    17周 oj 比較大小 类模板
    并行编程之多线程共享非volatile变量,会不会可能导致线程while死循环
    数据库升级ora-04063 DBMS_REGISTRY has error
    对软件体系结构的认识
  • 原文地址:https://www.cnblogs.com/ojkojk/p/12593561.html
Copyright © 2020-2023  润新知