理应孤独

测试环境
UpLoad-labs
安装
在github上下载
https://github.com/c0ny1/upload-labs
将其解压在phpstudy的WWW目录下,并创建一个upload文件夹(否则会一直报错)
1.png

然后这里的shell的内容大都是<?php phpinfo() ?>
因为如果我们能够执行这句话的话说明我们可以执行其他的php木马,而且phpinfo()函数返回PHP的所有信息,包括了PHP的编译选项及扩充配置、PHP版本、服务器信息及环境变量、PHP环境变量、操作系统版本信息、路径及环境变量配置、HTTP标头等信息。

做题

Pass-01

这题在js代码中有文件类型过滤。
我们上传一个shell.jpg,用bp抓包修改这个文件的后缀名为.php即可。

上传shell成功后我们直接访问upload目录下的shell,测试成功。


Pass-02

查看源码会发现判断文件语句:
if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif'))
这里只校验Content-Type

方法一:

上传shell.php,抓包,会发现Content-Type为application/octet-stream(未知文件类型的二进制流)将其就改为imge/jpg,上传成功。

方法二:

上传shell.jpg,抓包,修改后缀名为shell.php,上传成功。

Pass-03

这道题采用了黑名单过滤,但是只过滤的部分后缀名,上传php3或者phtml即可。

Pass-04

这题依旧是黑名单过滤,但是与上一题不同的是它几乎过滤完了。但是依旧有漏网之鱼.htaccess
我们可以先上传一个.htaccess
SetHandler application/x-httpd-php

这样所有文件都会解析为php
接着再上传图片

Pass-05

依旧是黑名单,这题加上了.htaccess的过滤。但是大小写没有过滤。修改后缀为phP即可上传成功。

Pass-06

这题还是黑名单,但是没有对后缀名进行去空处理,可在后缀名中加空绕过过即可上传成功。

Pass-07

还是黑名单,对比前面会发现没有对后缀名进行去”.”处理,利用windows特性,会自动去掉后缀名中最后的”.”,可在后缀名中加”.”进行绕过即可上传成功。

Pass-08

还是黑名单,但是没有对后缀名进行去”::$DATA”处理,利用windows特性,可在后缀名中加” ::$DATA”绕过即可上传成功。

Pass-09

这题算是七八题的综合题,也是利用Windows的特性,会自动去除末尾的点和空格。
当我们抓包修改末尾有一个点时,会被识别删除。
当我们抓包修改末尾有一个空格时,会被识别删除。测试环境


扫描二维码,在手机上阅读!

标签: none

添加新评论