zoukankan      html  css  js  c++  java
  • Once More

    http://ctf5.shiyanbar.com/web/more.php 

    如题目所说,是PHP相关的题目,涉及到ereg函数的漏洞,由于没有学习过PHP,所以去百度下这个函数的相关问题。得到一下信息:

    语法: int ereg(string pattern, string string, array [regs]);
    
     返回值: 整数/数组
    
    函数种类: 资料处理
    
    PHP函数ereg()内容说明: 本函数以 pattern 的规则来解析比对字符串 string(就是看string里的每个单元是否属于规则pattern中的一个单元)。
           比对结果 返回的值放在数组参数 regs 之中,regs[0] 内容就是原字符串 string、 regs[1] 为第一个合乎规则的字符串、regs[2] 就是第二
           个合乎规则的字符串,余类推。若省略参数 regs,则只是单纯地比对,找到则返回值为 true

      %00截断即遇到%00则默认为字符串的结束

    然后就打开了题目,得到代码:

      

    <?php
    if (isset ($_GET['password'])) {
        if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE)   //根据百度的信息可以知道,ereg函数利用正则限制了password只能含有字母和数字
        {
            echo '<p>You password must be alphanumeric</p>';
        }
        else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999)  //password的长度不能大于8,切要大于9999999[题目入口提示了,用科学计数法]
        { if (strpos ($_GET['password'], '*-*') !== FALSE) //
            {
    die('Flag: ' . $flag); }

    else { echo('<p>*-* have not been found</p>'); } }

       else { echo '<p>Invalid password</p>'; }
      }

    ?>

    整理完信息,开始做题,因为长度要小于8,并且要大于9999999,并且入口提示要用到科学计数法,所以,试试1e8

    想到我们刚才的信息中有说passworld里要有*-*,那我们试试把这个符号加进去1e8*-*,不用试,我也知道这样不对,因为password里只能有数字和字母,然后想到了函数的截断漏洞,我就在符号前面加个%00,构造一个1e8%00*-*,看看什么效果。

    说是passworld里有其他字符?难道截断漏洞是已经修复了,还是不会用呢?不过我感觉自己的思路是没有问题的。审查了一会儿后,发现了一个特别的地方:http://ctf5.shiyanbar.com/web/more.php?password=1e8%2500*-*,我的URL中%被转义了,所以我就尝试把转义的修改回来,变成http://ctf5.shiyanbar.com/web/more.php?password=1e8%00*-*,回车

    然后我又多看了点关于这个函数漏洞的问题,修改了URL:http://ctf5.shiyanbar.com/web/more.php?password[]=-

    也可以爆出来答案,这一点等我完全弄明白了再更新

  • 相关阅读:
    python DB.fetchall()--获取数据库所有记录列表
    pybot/robot命令参数说明【dos下执行命令pybot.bat --help查看】
    win7 dos命令窗口内容显示不全解决办法--将命令执行结果输出到一个文件中
    【python cookbook】【数据结构与算法】2 从任意长度的可迭代对象中分解元素
    【python cookbook】【数据结构与算法】1将序列分解为单独的变量
    wxPython_Phoenix在线安装
    Python 进阶(五)定制类
    Python 进阶(四)类的继承
    墓型价格分析表
    用碑情况统计
  • 原文地址:https://www.cnblogs.com/zhangzimu/p/10725256.html
Copyright © 2011-2022 走看看