1. 程式人生 > 其它 >【favorite_number】攻防世界

【favorite_number】攻防世界

做題前先了解一下用到的小知識點

PHP陣列key溢位,簡單的說就是stuff[4294967296]表示的值,與stuff[0]是一個。接下來開啟這個容器

 1  <?php
 2 //php5.5.9
 3 $stuff = $_POST["stuff"];
 4 $array = ['admin', 'user'];
 5 if($stuff === $array && $stuff[0] != 'admin') {
 6     $num= $_POST["num"];
 7     if (preg_match("/^\d+$/im",$num)){
 8         if
(!preg_match("/sh|wget|nc|python|php|perl|\?|flag|}|cat|echo|\*|\^|\]|\\\\|'|\"|\|/i",$num)){ 9 echo "my favorite num is:"; 10 system("echo ".$num); 11 }else{ 12 echo 'Bonjour!'; 13 } 14 } 15 } else { 16 highlight_file(__FILE__); 17 }

 

<?php

//php5.5.9
$stuff $_POST["stuff"];
$array = ['admin''user'];
if(
$stuff === $array && $stuff[0] != 'admin') {
    
$num$_POST["num"];
    if (
preg_match("/^\d+$/im",$num)){
        if (!
preg_match("/sh|wget|nc|python|php|perl|\?|flag|}|cat|echo|\*|\^|\]|\\\\|'|\"|\|/i",$num)){
            echo 
"my favorite num is:";
            
system("echo ".$num);
        }else{
            echo 
'Bonjour!';
        }
    }
} else {
    
highlight_file(__FILE__);
}