CTFHub-Web-文件上传

目录

知识点

一、无验证

二、前端验证

三、.htaccess

1、题目简介

2、解题思路

3、解题:上传htaccess文件==》上传符合我们重新后规则的文件==》蚁剑连接

四、MIME绕过

1、知识点

2、解题思路

 五、文件头检查

六、00截断

1、知识点:PHP 5.2 00截断上传的原理

2、题目简介

3、解题步骤

七、双写后缀

1、题目简介

2、解题步骤


知识点

1、文件上传漏洞的前提条件:

(1)、可以成功上传木马;

(2)、上传成功的木马能够解析;

(3)、我们知道上传之后文件的路径;

2、当php文件被过滤,可以尝试图片马;

3、文件上传的防御:

(1)、上传后的文件重新命名;

(2)、不进行解析;

(2)、重新生成文件。

一、无验证

1、这里对文件没有限制,所以我们直接上传一句话木马

2、上传成功后给出相对路径,所以直接拿出蚁剑或者菜刀进行连接

CTFHub-Web-文件上传_第1张图片

3、连接成功后,查看目录,获取flag

CTFHub-Web-文件上传_第2张图片 

拿下flag: ctfhub{5a9ca5dff20570539153fad1}

二、前端验证

1、绕过方法:改后缀找漏网,burp抓包改后缀。

2、题目简介

查看源代码

CTFHub-Web-文件上传_第3张图片

白名单验证,只验证文件后缀,且只能上传.jpg、.png、.gif

3、 burp抓包,由于是前端认证,所以我们将木马后缀改为.jpg,burp抓包放过时改为.php

(1)、将一句话木马后缀改为png

CTFHub-Web-文件上传_第4张图片

(2)、点击上传,burp改后缀

CTFHub-Web-文件上传_第5张图片

后缀改为php且上传成功获取到路径。

 3、蚁剑测试连接

CTFHub-Web-文件上传_第6张图片

4、获取flag

CTFHub-Web-文件上传_第7张图片 

flag:ctfhub{c8233e314667d80cf9c1f230} 

三、.htaccess

1、题目简介

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

2、解题思路

根据题目以及题目源码过滤了php,因此这道题解题思路如下:

上传一个.htaccess文件,替换掉本地服务器上的源文件,重写规则,是我们能够上传脚本。

(1)、上传一个.htaccess文件,让文件名中含有数字‘6’的文件当作php文件解析;

#.htaccess文件内容

  
SetHandler application/x-httpd-php

(2)、上传一个.htaccess文件,让文件名后缀为.png的文件当作php文件解析;

.htaccess文件内容


AddType application/x-httpd-php png

3、解题:上传htaccess文件==》上传符合我们重新后规则的文件==》蚁剑连接

(1)、上传htaccess文件

CTFHub-Web-文件上传_第8张图片

(2)、上传文件名中含有‘6’的木马

 CTFHub-Web-文件上传_第9张图片

(3)、蚁剑连接 

CTFHub-Web-文件上传_第10张图片

 (4)、获取flag

CTFHub-Web-文件上传_第11张图片

flag:ctfhub{a061b1c7d9adc5af113c630d}

四、MIME绕过

1、知识点

MIME:

它全名叫多用途互联网邮件扩展(Multipurpose Internet Mail Extensions),用来标注网络数据的格式。MIME的常见形式是一个主类型加一个子类型,用斜线分隔。比如text/html、application/javascript、image/png等。在访问网页时,MIME type帮助浏览器识别一个HTTP请求返回的是什么内容的数据,应该如何打开、如何显示。

2、解题思路

上传一句话木马==》burp抓包==》更改Content-Type类型为:image/png==>放包

(1)、上传木马,该MIME类型为:image/png

CTFHub-Web-文件上传_第12张图片

(2)、一句话木马上传成功 

CTFHub-Web-文件上传_第13张图片 

(3)、蚁剑连接

CTFHub-Web-文件上传_第14张图片 

(4)、获取flag

CTFHub-Web-文件上传_第15张图片 

flag:ctfhub{01fb19ac79a30497d8b8d53f} 

 五、文件头检查

1、题目简介

CTFHub-Web-文件上传_第16张图片

设置了白名单,只允许图片中列举出来的文件上传。

2、上传php,burp抓包改成白名单允许的文件,进行绕过

CTFHub-Web-文件上传_第17张图片 

 改后显示文件错误,结合题目,说明他检验文件头部。

3、上传一个正常图片,burp抓包,文件名改为:1.php;在图片内容后面写上一句话木马。

CTFHub-Web-文件上传_第18张图片

 一句话木马:

CTFHub-Web-文件上传_第19张图片

 4、蚁剑连接时,文件路径最后的文件名是我们更改后的后缀为php的文件

CTFHub-Web-文件上传_第20张图片

CTFHub-Web-文件上传_第21张图片

5、获取flag

CTFHub-Web-文件上传_第22张图片 

flag:ctfhub{3bc1bfb2b65cd9d0e19a5c68}

六、00截断

1、知识点:PHP 5.2 00截断上传的原理

1、php 00截断前提:

php版本要小于5.3.4,5.3.4及以上已经修复该问题

magic_quotes_gpc需要为OFF状态

2、原理

%00表示截断,

例如:

?filename=123.txt                输出的是123.txt文件

加上%00后

?filename=123.php%00.txt        后缀为.txt,但是输出的是.php,因为00截断了后面

2、题目简介

CTFHub-Web-文件上传_第23张图片 

前端会验证,只能上传图片中列出的类型

3、解题步骤

上传一句话木马php==》 burp抓包加上%00进行截断==》蚁剑连接获取flag

(1)、上传抓包改包:yjh.php%00;.png

CTFHub-Web-文件上传_第24张图片

 

CTFHub-Web-文件上传_第25张图片  

(2)、蚁剑连接

文件路径为:/upload/yjh.php

CTFHub-Web-文件上传_第26张图片 

 (3)、获取flag

CTFHub-Web-文件上传_第27张图片

 flag:ctfhub{38a79af8fb63f33caf4e4390}

七、双写后缀

1、题目简介

将文件名后缀含有的这些全部替换为空。

CTFHub-Web-文件上传_第28张图片

 

2、解题步骤

进行后缀的复写,如:123.phphpp,代码将后缀里的php替换后,前面的ph和后面的p又重新组成php后缀;

(1)、提交改包

 CTFHub-Web-文件上传_第29张图片

(2)、木马php文件上传成功

CTFHub-Web-文件上传_第30张图片

 

(3)、蚁剑连接

CTFHub-Web-文件上传_第31张图片

(4)、获取flag

CTFHub-Web-文件上传_第32张图片

flag :ctfhub{21d38ee8c77b731a74eeb554}


有问题的地方大家指正!!!

你可能感兴趣的:(渗透学习笔记,#,靶场的WP,php,安全,开发语言,前端,web安全)