实验吧Once More&&笔记 PHP 函数漏洞总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验吧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


以上是关于实验吧Once More&&笔记 PHP 函数漏洞总结的主要内容,如果未能解决你的问题,请参考以下文章

Quartz.NET笔记 More About Jobs & JobDetails

FlinkFlink 实现 AT_LEAST_ONCE & EXACTLY_ONCE 案例

实验笔记之——四旋翼无人机的制作&试飞

iOS学习笔记之UITableViewController&UITableView

学完一起做个走马灯吧 - CSS 3D 转换学习笔记&学习案例

11-26学习笔记