【favorite_number】攻防世界
阿新 • • 發佈:2022-03-17
做題前先了解一下用到的小知識點
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__);
}