+ -
当前位置:首页 → 问答吧 → 关于php上传漏洞的探讨

关于php上传漏洞的探讨

时间:2010-01-14

来源:互联网

我今天刚写了一个php上传文件,以前用的是asp语言编程,也学过黑客技术,知道黑客会用上传漏洞来上传木马,

因为我刚学php,对PHP的上传功能是否有漏洞不是很清楚,我把代码贴出来,让大家看一下,是不是有漏洞!?

<?php
if (is_uploaded_file($_FILES['upfile']['tmp_name'])){
$file=$_FILES["upfile"];
$type=$file["type"];
$size=$file["size"];
$tmp_name=$file["tmp_name"];
$error=$file["error"];
$time=date("Y-m");
$filename=date("YmdHis");
switch($type){
case 'image/jpg':$ok=1;
break;
case 'image/jpeg':$ok=1;
break;
case 'image/pjpeg':$ok=1;
break;
case 'image/gif':$ok=1;
break;
}
if (!is_dir('../bpic/'.$time))
{
mkdir('../bpic/'.$time,0700);
}
if ($ok && $error == '0'){
move_uploaded_file($tmp_name,'../bpic/'.$time.'/'.$filename.'.gif');
echo "上传成功!";
}
else{
echo "上传类型不对!";
}
}
?>

<form enctype="multipart/form-data" action="load.php" method=post>
选择文件:
<input name="upfile" type="file"><!--文件-->
<input type="submit" value="上传">
</form>

作者: wxfeng   发布时间: 2010-01-14

懂得的人不多啊
我刚发现一个问题就是
特殊字符忘了过滤
生存文件,有三个变量$time,$tmp_name,$filename
做好这三个变量的特殊字符过滤

还有一个问题是这三个变量的拼写,换个拼写$time改成$pd,$tmp_name改成$pc,$filename改成$pf

作者: wxfeng   发布时间: 2010-01-14

你asp的上传漏洞都知道怎麽回事了,PHP,还不知道了?道理不都一样的嘛

作者: kissmejj126   发布时间: 2010-01-14