upload-labs 学习

upload-labs 学习

Pass-1

直接上传webshell,发现报错,提示只能上传.jpg|.png|.gif类型的文件。

img

先把webshell的后缀改成jpg,然后上传,使用Burp抓包

img

圈住的地方是上传的文件名字,改成1.php,然后发送

img

可以看到成功上传了

img

使用菜刀可以成功连接

img

Pass-2

同样的方法,先把webshell的后缀改成jpg,然后抓包上传

img

这次把名字改成2.php,方便区分

img

菜刀连接成功

img

Pass-3

这里发现使用上面方法已经不行了,上传之后会被提示不允许上传asp,aspx,php,jsp后缀文件,应该是黑名单过滤

img

关于Apache服务器的一些绕过知识:

可以上传例如php3, phtml后缀的文件绕过,前提是Apache的httpd.conf中配置有如下代码:

AddType application/x-httpd-php .php .php3 .phtml

服务器会将.php3, .phtml后缀的文件当成.php解析

所以尝试上传.php3的文件

img

可以看到成功上传了

img

不过这里会被重命名

img

用菜刀能连接上

img

Pass-4

注:这里需要5.6版本以下且未开启nts的php

查看源码,还是黑名单过滤,发现过滤了大多数文件名

$deny_ext = array(".php",".php5",".php4",".php3",".php2",".php1",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".pHp1",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".ini");

但是没有过滤.htaccess文件

.htaccess****文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过.htaccess文件,可以实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能IIS平台上不存在该文件,该文件默认开启,启用和关闭在httpd.conf文件中配置

就是说,我们只要能上传这个文件,就可以改变相应目录下的文件配置

首先上传一个.htaccess文件内容为

SetHandler application/x-httpd-php

作用是使所有文件都被解析成PHP

img

抓包把文件名改为.htaccess

img

这时应该成功上传了

img

然后尝试上传一个jpg的马

img

菜刀连接不上,但是这个jpg是确实可以解析成php的,把jpg内容修改为如下,重新上传

img

这个时候访问就可以看到jpg已经被解析为php了

img

Pass-5

查看源码过滤了.htaccess文件,而提示是上传目录存在readme.php文件

imgimg

这里我们用到一个.user.ini的文件,.user.ini实际上就是一个可以由用户“自定义”的php.ini,而有些配置项可以用来利用,比如auto_append_file,可以指定一个文件,自动包含在要执行的文件前,所以我们先上传一个名为.user.ini的文件,内容是auto_prepend_file=1.gif

img

然后我们上传一个1.gif的文件,内容为

img

当我们访问readme.php时,就可以调用1.gif的内容了

如下,可以看到这里1.gif中的phpinfo函数被调用了

img

Pass-6

这里查看源码,里面相对pass-4少了fileext=strtolower(file_ext = strtolower(file_ext); //转换为小写

这段代码,尝试采用.phP格式上传绕过

img

这里上传成功了

img

img


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!,本博客仅用于交流学习,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 文章作者拥有对此站文章的修改和解释权。如欲转载此站文章,需取得作者同意,且必须保证此文章的完整性,包括版权声明等全部内容。未经文章作者允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。若造成严重后果,本人将依法追究法律责任。 阅读本站文章则默认遵守此规则。