赞
踩
关卡说了是前端禁用不合法图片咯,那肯定看看源码咯
我这里有两种方法:1.抓包改文件后缀名
在这里把jpg改成php再提交。
2.把源代码复制下来,自己另外创建个html文件,把js部分的限制代码删掉,然后去修改或增加action表单信息,来实现把文件上传,这里是没有action的,所以你得自己再from表单里加一个,在这之前你要知道文件上传的url,因此先提交一个图片,然后看数据包提交的位置。然后加到前面的html文件中,然后再提交文件。
然后你可以打开本地文件验证下是否上传成功,如图两个php文件均上传成功。
看源代码可知。
$_FILES[‘myFile’][‘type’] 表示的是文件的 MIME 类型。
MIME信息是指数据包“content-type”返回文件类型,而burp抓包可以修改文件后缀名,那么就容易啦。把要传的文件改成jpg后缀,然后用burp抓包再把后缀名改回来再发出去就好啦!
这里也是可以改content-type信息的,就是前面文件就用php文件,然后抓包后改content-type信息。
看了提示和源代码就知道咯,这关就是黑名单。那么这关就是通关上传php5,phtml,php3等等文件来绕过这个过滤条件。那么为什么可以这么做,是因为Apache可以通过php来解析这些文件。
但是此处要注意上传的文件名改变了,要抓包在数据包里看回显(实战可能没有)。
然后我们在访问时会发现一打开这个文件就直接下载了。根本无法执行,这里是一个bug,不要去纠结是不是自己错了。具体说明再我给的这个链接,这个博主说的很详细大家可以去看下。关于访问文件直接下载的原因
这一关一看提示和源码,好家伙禁止上传的文件可太多了,几乎所有脚本文件的格式都不允许上传。所以这里要用到的就是.htaccess文件,这是Apache服务器特有的配置文件,它可以改变相关目录下的网页配置,简单来说就是将一种文件以另一种文件的格式去解析。前提是你能访问到该文件。
.htaccess文件内容如下:
先把这个文件上传,然后再传一个2.png文件(这里面写的是你要执行的php代码),然后访问这个文件,它就会php格式解析。
这关看源代码可以知道,没有循环验证,也就是说这些收尾去空,删除末尾的点,去除字符串::$DATA,转换为小写这些东西只是验证了一次。因此绕过的思路就是用burp抓包,然后修改上传文件的后缀名。(1.php. .)
这里说一下,windows系统会自动强制删除文件末尾的点。所以这里php.到最后保存的是php文件。
从代码中可以发现这里少了一个过滤大小写的语句,而且提示中你也可以发现有些文件后缀是含有大写字母。所以这关的绕过思路就是大小写。
上传一个后缀名含大写字母的文件上去就行,只要不和限制的一样就行。
通过看源码可以知道这关没有过滤空格,所以绕过思路就是抓包后把上传文件后面加上一个空格。但是要注意这里文件上传后是重命名了的。
看源代码可知,这关没有过滤文件末尾的点,因此绕过思路就是抓包在文件末尾加上一个点即可。
在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,他的目的就是不检查后缀名。
所以绕过思路与前面相同,就是抓包改后加上$::DATA就行。注意这里文件也重命名了。
和第五关是一样的。
这关有一个函数 str_ireplace()它是替换字符串中的一些字符。所以如果我们将文件后缀写为.pphphp,这样过滤后剩下的上传就是php文件了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。