第二周2

题目 : [SWPUCTF 2022 新生赛]webdog1__start

  1. 打开环境 就有几个英文字母
    看一下源代码 发现有php代码

    1
    2
    3
    4
    5
    6
    7
      !--
    if (isset($_GET['web']))
    {
    $first=$_GET['web'];
    if ($first==md5($first))
    }
    -->
  2. 简单的进行绕过web=0e215962017 发现页面更新 但没有重要内容
    依旧看一下源代码 发现路径 /start.php

  3. 进去看一下 :

    也是没啥有用的信息
    依旧看一下源代码
    有个重要信息“Next”do you know the power of bot? go go go”
    “你知道机器人的力量吗” 由此联系到robots.txt

  4. 进入robots.txt看一下
    发现f14g.php 文件 进去看一下 好吧 还是啥也没有
    但是我们打开网络 看一下f14g.php的消息头
    发现了F1l1l1l1l1lag.php 文件 我们进去看看

  5. 终于看见源代码了

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    error_reporting(0);
    highlight_file(__FILE__);
    if (isset($_GET['get'])){
    $get=$_GET['get'];
    if(!strstr($get," ")){
    $get = str_ireplace("flag", " ", $get);

    if (strlen($get)>18){
    die("This is too long.");
    }

    else{
    eval($get);
    }
    }else {
    die("nonono");
    }
    }
    ?>

    简单的代码审计一下

  6. 就是过滤了空格和flag 并且长度要<=18
    payload: get=system(“cat%09/*”);
    得出flag

  7. 总结: 这题目的找文件过程曲折和复杂
    要看好源代码的内容 认真读源代码 内容
    对于文件的消息头要认真看