zoukankan      html  css  js  c++  java
  • 攻防世界-web PHP2

    首先我们先将环境下载下来。

    进入之后 ,发现一句话

    Can you anthenticate to this website?大概就是在说,你能告诉我这个网站吗?
    嘶,先F12一手吧。啥也没有。然后扫描了一下目录。有一个index.php,然后在地址栏里输了一下,发现什么也没有。
    这就很郁闷了。然后我在index.php后加了个s,index.phps。然后就出效果了。
    这或许是源码泄露了。然后查看一手源码。
    这是php代码。那我来吧代码扔下来吧
    <?php
    if("admin"===$_GET[id]) {
      echo("<p>not allowed!</p>");
      exit();
    }
    $_GET[id] = urldecode($_GET[id]);
    if($_GET[id] == "admin")
    {
      echo "<p>Access granted!</p>";
      echo "<p>Key: xxxxxxx </p>";
    }
    ?>
    
    Can you anthenticate to this website?

    又要代码审计了。

    在这里我们先说一下===与==的区别

    ===是比较值和数据类型

    ==它是比较值,不比较数据类型

    例如:$a='123'   $b=123

    $a===$b    //False

    $a==$b    //True

    里面有一个urldecode,意思就是用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符

    要求admin不能等于get传过来的值,又要求在get传过来的值经过urldecode后等于admin

    而且浏览器会对非ASCII字符自动进行一次urldecode,所以我们还得编码两次。

    所以pyload就为:

    http://220.249.52.133:51297/index.php?id=%2561dmin

    %2561解码就是%61   //第一次解码

    %61解码就为a     //第二次解码

    这样即可拿到flag

    Key: cyberpeace{292e9413104ba4842802367e5e9da7aa}

    最后再说一下index.phps吧

    phps其实就是php Source,根据意思也可以知道是php源代码。

    所以phps就是php的源代码文件。通常用来给用户查看php代码的。因为用户无法直接在Web浏览器查看php文件里的内容。然后需要用到phps文件来代替了。

  • 相关阅读:
    59. Spiral Matrix II
    58. Length of Last Word
    57. Insert Interval
    56. Merge Intervals
    55. Jump Game
    54. Spiral Matrix
    53. Maximum Subarray
    52. N-Queens II
    51. N-Queens
    java封装学习
  • 原文地址:https://www.cnblogs.com/awsole/p/13859085.html
Copyright © 2011-2022 走看看