zoukankan      html  css  js  c++  java
  • XCTF-PHP2

    PHP2

    进来就一句话

    Can you anthenticate to this website?

    直接上御剑扫了一下目录,什么都没得

    而且GET/POST没有参数,看了cookie也没有参数,fuzz了一会儿,没有结果 = =

    于是猜测是源码泄露,emmm,尝试了一遍常用的备份文件后缀无果

    去看了wp,用的是phps

    phps类型通常用来给用户查看源代码

    拿到源码

    <?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?
    

    要满足两个要求

    • $_GET[id] !=== "admin",===要求对比的字符串必须是相同类型,那么需要类型不是字符串,或者内容不是admin,传入类型一般都是字符串
    • urldecode之后 $_GET[id] == admin,(==会把变量转换为相同类型,再比较)

    想到了warm_up的里考的知识点,服务器接收到参数后会自动进行一次urldecode,而后才是应用的数据处理

    这里还有个知识点,所有的ascii字符都可以用%xx来代替传入

    所以对admin进行两次url编码即可(全部/部分都可),URL编码表

    payload:%2561dmin(urldecode(%25) == %)

  • 相关阅读:
    ros 录制
    shell 截取字符串
    Linux 关机
    shell获取字符串长度
    ubuntu14.04 设置开机自启动脚本
    获取本机ip的shell脚本
    shell 杀掉指定进程的服务
    html 绘制矩形轨迹,选中区域
    shell模拟ctrl c停止
    shell 字符串提取数字
  • 原文地址:https://www.cnblogs.com/R3col/p/12613950.html
Copyright © 2011-2022 走看看