Pass-01JS检测绕过
1.根据提示
从上述代码中可以看出,上述代码使用了JavaScript脚本,在前端对用户上传文件的类型进行了检测。因此,我们只需要先上传符合JavaScript脚本要求的数据包,然后使用Burpsuit抓取该数据包,然后将该文件的后缀名改成php,这样我们就可以成功上传恶意文件了。
2.创建123.jpg文件,内容:<?php eval($_POST["code"]); ?>
3.设置使用Burpsuit抓包,抓到数据包如下所示
图中红框部分,我们将其修改为123.php
4.这样就可以成功上传了,上传成功后的文件如下所示
(其中遇到的问题:
新建upload文件解决upload-labs问题“提示:../upload/文件夹不存在,请手工创建”
问题解决:
../upload/可以看出来和靶场这些关在同一个文件下
打开phpstudy\phpstudy_pro\WWW\upload-labs(即WWW下的upload-labs下)
新建一个upload文件夹)
Pass-02文件类型绕过
1.根据提示
对客户端上传的文件,只是校验了其MIME信息。因此我们的思路与第一关相类似,也是先上传文件,然后抓包,之后修改数据包的MIME信息,这样就能够绕过对MIME的检验。
2.还是先上传恶意文件,并使用Burpsuit抓包,修改下图中红线部分,将原始数据包中的:
Content-Type:application/octet-stream
修改为:
Content-Type:image/jpeg
如图
之后,即可放行该数据包
3.上传成功
Pass-03黑名单绕过
1.根据提示
本关使用了黑名单的方式,对客户端上传的文件后缀名进行了检验,不允许上传asp、php、aspx、jsp等后缀名的文件。可以看出,这份黑名单非常不全面,可以使用phps、phtml、php5等后缀名绕过该过滤手段。
2.创造一个后缀名为123456.php5的文件,并写入我们的恶意代码,之后进行上传
发现上传成功并出现如下页面:
Pass-04
1.根据提示
分析源码,黑名单包括了几乎所有php后缀文件,但是并没有屏蔽后缀为.htaccess的文件上传
2.写一个内容为
<FilesMatch “4.jpg”>
SetHandler application/x-httpd-php
的666.htaccess文件并上传,此文件能将名为4.jpg的文件作为php文件进行解析
3.将含有一句话木马的4.jpg文件上传并复制文件路径
4.上传木马成功
Pass-05
1.根据提示
观察源码,具有强大的黑名单列表且屏蔽了后缀.htaccess文件上传,并且将后缀名自动转化为小写
2.在文件后缀命中输入一个空格,此空格在上传完成后会自动消失,上传成功
Pass-06大小写混合绕过
1.根据提示
分析代码,使用了黑名单,但并没有自动转换大小写,可将文件后缀改为大小写混合绕过
2.
修改文件名为666.pHP
上传成功,复制图片url地址
Pass-07
1.分析:
代码中未用trim()去除首尾空格,截包时文件名后加空格绕过即可
2.在文件后缀前加空格666. pHP进行上传,上传成功
Pass-08
分析:
查看源码,上传文件未进行文件后缀中.的屏蔽
2.在文件后缀中加.符号666.pHP.,进行上传成功
Pass-09
1.分析
没有对文件后缀的特殊字符进行处理
2.上传9.php文件并用burpsuite进行抓包,在文件名后缀后加上特殊字符::$DATA进行特殊字符绕过
3.放行后,成功上传文件