zoukankan      html  css  js  c++  java
  • 【实验吧】Once More&&【笔记】 PHP 函数漏洞总结

    <?php
    if (isset ($_GET['password'])) {
        if (ereg ("^[a-zA-Z0-9]+$", $_GET['password']) === FALSE)
        {
            echo '<p>You password must be alphanumeric</p>';
        }
        else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999)
        {
            if (strpos ($_GET['password'], '*-*') !== FALSE)
            {
                die('Flag: ' . $flag);
            }
            else
            {
                echo('<p>*-* have not been found</p>');
            }
        }
        else
        {
            echo '<p>Invalid password</p>';
        }
    }
    ?>

    1.ereg漏洞:首先第一层检查需要绕过ereg漏洞,百度可以知道存在截断的问题,ereg读到%00的时候,就截止了

    2.strlen()限制了长度小于8并且大小必须大于9999999,1e8=100000000 > 9999999

    3.strpos()对password进行匹配,必须含有-,最终才输出flag

    于是构造password:1e8%00*-*

    将password=1e8%00*-*写入地址栏

    补充:所谓ereg漏洞,其实就是00截断。

    PHP 函数漏洞总结:

     http://www.tk4479.net/qq_31481187/article/details/60968595

  • 相关阅读:
    Java WebSocket生命周期
    软件网络总结
    js模态弹窗
    spring boot
    spring aop
    lvs分布式
    如何在大牛面前装逼
    Java学习的思考
    javase知识点
    <nginx+PHP>nginx环境下配置支持php7
  • 原文地址:https://www.cnblogs.com/liuyimin/p/7668005.html
Copyright © 2011-2022 走看看