uplload 通关纪实 pass4
Posted 安全界 的彭于晏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uplload 通关纪实 pass4相关的知识,希望对你有一定的参考价值。
(1)配置文件httpd.conf需要:1.开启mod_rewrite模块(mod_rewrite模块可以操作URL的所有部分(包括路径信息部分), 在服务器级的(httpd.conf)和目录级的(.htaccess)配置都有效, 还可以生成最终请求串。)。
2.AllowOverride All(所有具有 .htaccess 作用域的指令都允许出现在 .htaccess 文件中)。
(2)上传.htaccess(.htaccess文件可以的事情,主要包括:文件夹密码保护、用户自定义重定向、自定义404页面、扩展名伪静态化、禁止特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,等等。)。
(3)然后再上传一句话木马4.jpg
源代码:
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
if (file_exists(UPLOAD_PATH)) {
$deny_ext = array(".php",".php5",".php4",".php3",".php2",".php1",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".pHp1",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".ini");
$file_name = trim($_FILES['upload_file']['name']);
$file_name = deldot($file_name);//删除文件名末尾的点
$file_ext = strrchr($file_name, '.');
$file_ext = strtolower($file_ext); //转换为小写
$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
$file_ext = trim($file_ext); //收尾去空
if (!in_array($file_ext, $deny_ext)) {
$temp_file = $_FILES['upload_file']['tmp_name'];
$img_path = UPLOAD_PATH.'/'.$file_name;
if (move_uploaded_file($temp_file, $img_path)) {
$is_upload = true;
} else {
$msg = '上传出错!';
}
} else {
$msg = '此文件不允许上传!';
}
} else {
$msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
}
}
(1)需要一些配置
1.要打开mod_rewrite模块
phpstudy软件界面——>其他选项菜单——PHP扩展及设置——Apache模块——rewrite_module模块
2.AllowOverride All。
其他选项菜单——打开配置文件——httpd.conf 文件
搜索查找AllowOverride None,然后把AllowOverride None修改为 AllowOverride All,完成后保存。
(2)首先先上传一个.htaccess文件,文件内容为AddType application/x-httpd-php .jpg,或者为<FilesMatch “4.jpg”>
SetHandler application/x-httpd-php
成功上传:
(3)之后再上传一个jpg文件(里面带有一句话木马):
使用菜刀连接这个url:
成功访问到目标网站目录:
以上是关于uplload 通关纪实 pass4的主要内容,如果未能解决你的问题,请参考以下文章