欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 文件上传漏洞-通过.htaccess文件绕过

文件上传漏洞-通过.htaccess文件绕过

2025/4/19 9:18:05 来源:https://blog.csdn.net/m0_73902453/article/details/143365295  浏览:    关键词:文件上传漏洞-通过.htaccess文件绕过

1.原理:

.htaccess 文件是 Apache Web服务器中用于配置目录级别指令的配置文件。通过这个文件,网站管理员可以进行各种配置,例如重定向、访问控制、URL重写等。然而,在某些情况下,恶意用户可能会尝试利用 .htaccess 文件中的配置来绕过安全限制。优先级较高,一般是修改后立刻生效。

2.这里以upload-labs(less-4)为例,我们先来看看靶场的源代码

$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 . '文件夹不存在,请手工创建!';}
}

可以知道这里把我们上一篇文章的等价文件名基本都加入到了黑名单里,这时候我们就可以先上传一个 .htaccess,因为他没有在黑马单里可以随便上传,代码如下,解析:

  • AddType 是一个指令,用于告诉 Apache 如何处理特定扩展名的文件。
  • application/x-httped-php 是要指定的 MIME 类型,表示这些文件将使用 PHP解析。
  • .txt 和 .jpg 是要应用此 MIME 类型的文件扩展名。

这条指令的作用是告诉 Apache服务器,将所有以 .txt 和 .jpg结尾的文件都当作 PHP 脚本来处理,而不是作为普通文本文件或图像文件。这意味着,即使它们有文本或影像文件的扩展名,服务器将尝试执行其中的 PHP代码。

AddType application/x-httped-php .txt .jpg

3.先将.htaccess上传上去,然后再打开抓包上传木马文件(1.php),然后将名字修改成1.jpg,因为刚刚的.htaccess已经上传到服务器,告诉服务器.jpg文件可以当作.php文件执行

上传成功接下来用蚁剑链接即可

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词