CTFHub题解-技能树-Web-文件上传(.htaccess、MIME绕过、文件头检查)【二】
CTFHub题解-技能树-Web-Web工具配置-文件上传
本文记录 .htaccess、MIME绕过、文件头检查 的题解~
(一).htaccess
1.知识点
(1)先简单介绍一下.htaccess文件:
.htaccess文件 (或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。
它提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。
作为用户,所能使用的命令受到限制。
管理员可以通过Apache的AllowOverride指令来设置。
.htaccess文件是用于apache服务器下的控制文件访问的配置文件,因此Nginx下是不会生效的
.htaccess可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档、文件的跳转等功能。
(2).htaccess 文件上传漏洞原理:
一般.htaccess可以用来留后门和针对黑名单绕过
创建一个txt写入
AddType application/x-httpd-php .png
打开另存为
保存类型为所有文件
让 png 解析为 php
还可以把png改成其他图片格式~例如jpeg、gif等等...
另外,还有一个知识~(此题没用到这部分知识)
可以在.htaccess 加入php解析规则
类似于把文件名包含1的解析成php
<FilesMatch "1">
SetHandler application/x-httpd-php
</FilesMatch>
1.png 就会以php执行
2.题解
命名为: .htaccess
后面是 .png ,也就说明将.png的文件当php解析
(当然你也可以写成.jpg等格式)
因为 .htaccess 是配置文件,所以文件名不要随意更改哦~
将hatccess.png编辑为下面的一句话木马。pass是密码,可以自定义~
然后上传!
这里就是我们之前传的两个文件:
.hatccess和hatccess.png
现在用蚁剑连接:
http://challenge-b5d47236d3c29c2d.sandbox.ctfhub.com:10080/upload/hatccess.png
pass
(二)MIME绕过
1.知识点
MIME((Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。
它是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。
多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式每个MIME类型由两部分组成,前面是数据的大类别,例如声音 audio、图象 Image等,后面定义具体的种类。
常见的MME类型,例如:
超文本标记语言文本 .html,html text/htm
普通文本 .txt text/plain
RTF文本. rtf application/rtf
GIF图形 .gif image/gif
JPEG图形 . jpg image/jpeg
2.题解
笔者最开始上传的时候,走进了一个小误区,我直接从Headers里面去找Content-Type字段了
(以下是错误操作)
然后修改成 image/gif
然后上传上去说文件类型不对,然后笔者就上传了 ctfmime.gif
但是想了想,好像不对哦......
当然这样的结果就是蚁剑连不上.....
笔者反复试了好几次....
发现改错位置了........
大家修改的时候一定要注意呀!!!
在burpsuite正确改法:
为了保险起见......还是都改一遍吧......
http://challenge-554629b718fb3fe6.sandbox.ctfhub.com:10080/upload/ctfmime.php
pass
下面那个 ctfmime.gif 就是笔者之前上传的错误操作...
MIME类型 (Content-Type) 和文件后缀这是两码事哦,千万不要像笔者这样搞混啦~
(三)文件头检查
1.知识点
需要用到的:
(1)一个图片一句话木马
(2)burpsuite改包
(3)mime修改后缀操作传马
(4)中国蚁剑连接
2.题解
先看一下源码,发现没什么线索~
那就开始传一个php一句话吧~ emmm...文件格式错误.....
按照MIME绕过的方式呢~ emmmmm....传不上去.....
绕过了后缀,但是还是绕不开检测,那应该就是对文件内容检测了~
那我们自己做一个小一点的图片马吧~
(尽量选择小一点的图片哦,比如qq表情或者截小一点的图就可以啦~)
一句话图片马命令:
copy xx.png/b+xx.php/a xx.php
dalaoddw.php:
最后面看到有一句话木马的插入哦~
现在就开始用 burpsuite 抓包,修改数据包啦~
MIME改文件头 ~
(具体操作参照上面那道题)
抓到的原始包是这样的:
(图片越大,里面的数据(红色的数据)就越多哦~)
经过笔者反复实验, content-type 这个字段必须在这两个地方都要修改!
一定记得这两个地方都必须要改哦~
不然只修改任意一处,用蚁剑都会连接不成功 ( 笔者实验过程后得到的这个结果,如果有大佬知道为什么需要修改两处,请指点一下哈~
蚁剑连接就可以啦~
PS:
这里是笔者做了一个更小的马~
和之前方法一样的
tql.php:
这个数据就少很多了~
图片越小,数据量就越少。(emmmm...怎么感觉这是一句废话,哈哈哈
两个马都可以连的~
这样就完成啦~
参考资料:
https://baike.baidu.com/item/htaccess/1645473?fr=aladdin
https://www.fujieace.com/penetration-test/file-upload-htaccess.html
https://www.jianshu.com/p/01c1d5f05852
https://www.fujieace.com/penetration-test/file-upload-mime.html
--------------------- ┑( ̄Д  ̄)┍ --------------------------
作者:0yst3r[一只在安全领域努力奋斗的小菜鸡]
来源:博客园[ https://www.cnblogs.com/0yst3r-2046/ ] 引用时请注明来源哦~
(๑•̀ㅂ•́)و✧ヽ(✿゚▽゚)ノ(*^▽^*) φ(≧ω≦*)♪
如果本文对你有用,本人不胜欢喜。
The world is your oyster.