摘要: 【友情链接:http://www.tjcuxiao.com 和http://www.mujiz.cn】
滥用include
1.漏洞原因:
Include是编写PHP网站中最常用的函数,并且支持相对路径。有很多PHP脚本直接把某输入变量作为Include的参数,造成任意引用脚本、绝对路径泄露等漏洞。看以下代码:
...
$includepage=$_GET["includepage"];
include($includepage);
...
阅读全文
摘要: 友情链接:http://www.tjcuxiao.com 和http://www.mujiz.cn】
如果$filename是UTF-8编码的,有些浏览器就无法正常处理了。比如把上面那个程序稍稍改一下:
$filename = "中文 文件名.txt";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . $filename);
print "Hello!";
?>
把程序保存成UTF-8编码再访问,IE6下载的文件名就会乱码。 FF3下下载的文件名就只有“中文”两个字。Opera 9下一切正常。
输出的header实际上是这样子:
阅读全文
摘要: function test() {
$c = 2;
}
$a = 1;
$b = 2;
?>
上边的代码的$a和$b都在$GLOBALS里,与$GLOBALS['a']和$GLOBALS['B']是等价的,如下可知:
// 例子2
function test() {
$c = 2;
$GLOBALS['a'] = 'DDD';
}
$a = 1;
$b = 2;
test();
print $a;//此时输出的是DDD而不是1.
?>
有趣的是:$GLOBALS变量又是$GLOBALS变量的值,你会发现$GLOBALS 下有$GLOBALS,这个$GLOGALS下又有$GLOBALS,这样一直层层不断的套下去,很是有趣。
阅读全文