.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传

用的Webshell是在真实的网站中获取的,我把这些Webshell保存了下来,都是免杀的

无验证

1.因为没有验证,直接上传了一个webshell,还告诉我传到了哪儿。

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第1张图片

2.访问webshell,在上一级目录中找到flag文件

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第2张图片

前端验证

1.上传web提示不允许上传

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第3张图片

2.用Burpsuite抓包,再改后缀就好了

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第4张图片

3.访问webshell,在上一级目录中找到flag文件

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第5张图片

.htaccess

.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过.htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

1.上传.htaccess文件

方法一:将jpg当作php执行

AddType application/x-httpd-php .jpg

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第6张图片

方法二:匹配文件名当作php执行


	SetHandler application/x-httpd-php

2.上传webshell

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第7张图片

3.访问webshell,在上一级目录中找到flag文件

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第8张图片

MIME绕过

MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准。

MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。

浏览器通常使用MIME类型(而不是文件扩展名)来确定如何处理URL,因此Web服务器在响应头中添加正确的MIME类型非常重要。如果配置不正确,浏览器可能会曲解文件内容,网站将无法正常工作,并且下载的文件也会被错误处理。

Content-Type: image/jpeg
Content-Type: text/plain

1.直接上传webshell被告知文件类型不正确

2.根据题目的意思,修改Content-Type进行MIME绕过

将Content-Type: application/octet-stream修改为Content-Type: image/jpeg

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第9张图片

3.访问webshell,在上一级目录中找到flag文件

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第10张图片

文件头检查

1.修改Content-Type

Content-Type: image/jpeg

2.在Webshell头部加入GIF89a绕过文件头检测(我的这个webshell本来就加了)

如果不加入GIF89a将会提示文件错误,导致上传失败。

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第11张图片

3.访问webshell,在上一级目录中找到flag文件

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第12张图片

00截断

%00截断的两个条件

  • php < 5.3.4
  • magic_quotes_gpc = off

1.直接上传被告知文件类型不匹配,根据题意利用%00截断漏洞进行绕过,但是并没有返回上传的地址。访问upload/phpwebshell.php发现并不存在该文件。

phpwebshell.php%00.jpg

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第13张图片

2.考虑到上传的文件可能被重新命名,因此在GET参数road进行截断,可以避免上述情况。

POST /?road=/var/www/html/upload/1.php%00

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第14张图片

3.访问upload/1.php,发现之前上传的webshell确实被重新命名了

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第15张图片

4.访问上级目录,发现flag文件

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第16张图片

双写后缀

1.上传webshell之后发现后缀php没了,看看题目双写后缀,应该就说后缀php被正则替换为空了。

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第17张图片

2.上传双写后缀的php文件webshell.pphphp,成功绕过

3.访问webshell,在上一级目录中找到flag文件

.htaccess 文件不工作_手撕CTFHub-Web(六):文件上传_第18张图片

你可能感兴趣的:(.htaccess,文件不工作)