【实验吧】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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM