background image

来改变网页的动态生成的内容,而这样就可能会导致恶意命令掌控用户的电脑和他们的网
络。PHP 执行系统命令可以使用以下几个函数:

system、exec、passthru、``、shell_exec、popen、proc_open、pcntl_exec

,我们通过在全部程序文件

中搜索这些函数,确定函数的参数是否会因为外部提交而改变,检查这些参数是否有经过安
全处理。
代码示例
例 1:

代码如下:
 

//ex1.php

<?php

$dir

 = 

$_GET

["dir"];

if

 (isset(

$dir

))

{

echo

 "<pre>";

system("ls -al".

$dir

);

echo

 "</pre>";

}
?>
 
我们提交

 

复制代码 代码如下:
 
http:

// localhost/ex1.php?dir=| cat /etc/passwd

 
提交以后,命令变成了
代码如下:
 
system("ls -al | cat /etc/passwd");