【實驗吧】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