文件上传漏洞的练习(upload-labs)

实验环境:upload-labs靶场

靶场环境使用phpstudy和xampp搭建,因为两边都各有一部分上传机制无法正常运作。

这种机制的绕过需要大量的经验与时间,在不知道后台代码的情况下只能根据情况进行合理尝试。

Pass-01

一般的题目最开始的都是最简单的,考虑前端限制文件类型。

查看页面源码,果然在前端进行了限制。

前端代码

那么我们把准备好的php文件后缀改为.jpg,这样就能绕过前端的检测。

修改后的文件

然后上传的时候使用burp suite拦截,并把文件后缀改回.php,成功上传php文件。

修改前
修改后
成功上传

上传成功的结果基本都一样,后面不再赘述。

Pass-02

猜测服务器校验content-type,因为要求上传的文件是图片,所以校验会要求这个参数的值是image/jpeg,image/png,image/gif等

尝试修改content-type,将其修改为gif,这样如果服务器校验了content-type,就会认为它是合法的。

修改Content-type

成功上传php文件!

Pass-03

服务器采用黑名单判断(当然如果是黑盒测试我们是不知道的)

我们尝试使用如.php3,.php5,.phtml这样的文件后缀来绕过。

因为这样的后缀名依然可以被php解析,而且可以绕过一些简单的黑名单过滤。

php3

上传成功!但是可能因为服务器配置原因,没有成功解析php文件。

所以为了说明问题,这里引入另一个实验环境:墨者学院平台题目

链接:https://www.mozhe.cn/bug/detail/UjV1cnhrbUxVdmw5VitBdmRyemNDZz09bW96aGUmozhe

在此题中上传一句话木马,并将后缀修改为.php3。成功上传!

文件保存路径

然后我们打开中国菜刀,去连接我们上传的木马文件。

连接成功!说明后缀为.php3的文件确实被正确解析了。

image.png

Pass-04

此题需要使用xampp环境。

此题几乎过滤了所有有问题的后缀名,修改后缀变得不可用了。

但是还有一个后缀名可以用,就是.htaccess。

这属于Apache的一种配置文件,我们创建一个名为.htaccess的文件,在里面写入如下内容。

配置文件

意思是令所有的文件后缀都以php进行解析。

比如我们上传一个图片文件,服务器也会把图片文件当成php文件进行解析。

所以我们先把写好的.htaccess上传。

没有问题,成功上传。

然后我们把php文件后缀修改成.jpg,然后上传。

上传成功,此时两个文件在同一目录下。

目录

我们尝试解析jpg文件。

解析结果

可以看到成功被解析为php文件!

Pass-05

此题使用xampp环境。

后台过滤了几乎所有有问题的后缀,包括.htaccess。

我们尝试用大小写绕过。

在上传文件的时候修改文件后缀名的大小写。

修改为大写

成功上传,我们尝试解析这个文件。

成功

解析成功,没有问题!

Pass-06

依旧是黑名单机制,但是过滤更全面。

这里利用windows的机制:文件名中不能出现点,冒号,空格等符号的特性,否则会直接消除。

这样我们在上传文件过程中,在文件后缀名后面加上一个空格。

加空格

成功上传!而且可以看到上传后的文件名,后缀中自然是没有空格的,可以正常解析。

成功

Pass-07

还是黑名单,但是这次变成了点。

与第六题相似,在文件后缀名后面加上一个.即可成功绕过限制上传。

Pass-08

依然是利用windows特性,在文件名后缀后面加上::$DATA。

感觉挺生僻的,先作为一种知识储备吧。

添加后缀

Pass-09

在这题里面删除了文件名末尾的点,而且去掉了空格。

那么我们可以构造一下,在文件名后缀末尾加上. .(点空格点)

这样去掉点,再去掉空格,剩下的部分就是filename.

又因为windows特性,最后剩下的就是filename了。

添加后缀

OK,成功上传!

Pass-10

本题会去除所有脚本后缀。

所以很容易想到双写绕过。

我们把文件名写成test.pphphp。

双写

这样去除了中间的php之后,剩下的部分组合起来依然是php。

成功上传!

Pass-11

有php版本要求,所以使用phpstudy的环境(php5.2.17),高版本的php已经修复此问题。

还要注意有一个参数需要修改,否则无法上传成功。打开php目录下的php.ini文件。

将其中的magic_quotes_gpc修改为OFF状态即可。

我们在上传时发现文件的保存路径是可控的。

路径

考虑使用%00截断文件后缀。

%00在处理时会被当成一种结束符,也就是说处理到这里碰到%00,后面的就不继续处理了。

我们可以利用这个原理来截断多余的后缀。

如图,我们修改一下保存路径,把上传文件名后缀修改为.jpg,这样可以绕过扩展名检测。

修改扩展名

这样在保存文件的时候,%00后面的多余内容全部被截断,只剩下test.php。

这样就成功上传了php文件。

Pass-12

依然是00截断,但是我们观察数据包发现路径变成了post方式提交。

数据包

Get方式提交的路径会自动解码%00,但是post方式不会自动解码,所以不能直接修改路径。

因此我们要通过二进制的方式来修改路径。

修改扩展名

如图,我们先将文件后缀修改为.jpg来绕过后缀检测。

然后在路径后面加上test.php+。

为什么加上一个+呢,因为我们要把+的二进制编码修改成00的编码,而+的编码(2b)比较方便查找。

我们点开Hex,在里面查找+的编码并将其修改为00。

Hex

然后将数据包放出,php文件成功上传!

Pass-13

要求上传一个图片马,并执行文件包含漏洞。

首先我们制作图片马:copy 2.jpg+2.php 3.jpg

制作完成之后将图片马上传。

注意站点本身必须要有文件包含漏洞,才能利用图片马。

我们找到站点下的include.php文件。使用这个文件包含漏洞打开图片马。

图片马

看文件底部,这里我们拼接了php语句,但是没有显示出来,说明已经被执行了。

但是用中国菜刀连接图片马的时候出了问题。

基本能确定木马是被执行了的,可能是服务器的一些配置或者权限原因,让菜刀连接失败。

我用了另一种方法证明php脚本确实被执行了。

重新制作一个图片马,这次将php脚本里的内容替换成一个js脚本。

js脚本

如果这个脚本被执行,浏览器会弹窗显示一串1。

重新上传这个图片马,并且用文件包含漏洞打开。

网页弹窗

可以看到脚本确实被执行了,图片马上传+文件包含漏洞利用成功。

之后的题目基本都是图片马或者00截断,不再赘述。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容