Advertisement

攻防世界二十二:Favorite Number: PHP Code Audit

阅读量:

题目 — favorite_number

一、writeup

审计主页的代码

复制代码
    <?php
    // php5.5.9
    // 传参方式是post
    $stuff = $_POST["stuff"];
    // 白名单
    $array = ['admin', 'user'];
    
    // 既要数组强等于,又要首元素元素不等于
    // 即要$stuff === ['admin', 'user'] 又要 $stuff[0]!='admin' 
    // 根据上面的提示,只能是php5.5.9的版本漏洞了
    if($stuff === $array && $stuff[0] != 'admin') {
    // 取得另一个post参数
    $num= $_POST["num"];
    
    // 正则匹配,要求全是数字 /i --- 忽略大小写 ,/m --- 多行匹配
    if (preg_match("/^\d+$/im",$num)){
    
        // 黑名单过滤
        if (!preg_match("/sh|wget|nc|python|php|perl|\?|flag|}|cat|echo|\*|\^|\]|\ \ |'|\"|\|/i",$n

全部评论 (0)

还没有任何评论哟~