前言:PHP中有很多危险函数,如phpinfo() ,这次就来详细总结一下PHP中的危险函数,并借助大师傅们的例子来进行代码审计的练习。
一、PHP代码执行函数
eval()函数
定义和用法:
eval() 函数把字符串按照 PHP 代码来计算.
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
这个用法就会产生漏洞,通过一个例子来看一下:
<?php
$var = "var";
if (isset($_GET["arg"]))
{
$arg = $_GET["arg"];
eval("\$var = $arg;");
echo "\$var =".$var;
}
?>
输入:http://127.0.0.1/1.php?arg=phpinfo()
就会发现已经执行了eval函数
再输入一串字符串,让eval()函数作为命令执行
http://127.0.0.1/1.php?arg=var_dump(scandir('./'))
#scandir()函数列出./(当前)目录中的文件和目录:
除此之外,还可以结合system()
函数来获取当前运行的服务的信息
http://127.0.0.1/1.php?a=system("net