upload-labs

Pass-01
1 | function checkFile() { |
思路:
可以先上传符合格式的文件,再通过burp抓包更改后缀为php即可。

访问上传的php文件:

Pass-02
1 | $is_upload = false; |
思路:
先上传符合MINE类型的文件,再通过burp抓包更改后缀为php即可。

访问上传的php文件:

Pass-03
1 | $is_upload = false; |
思路:
黑名单不全,可以利用php3、php5、phtml等拓展名进行绕过(设置了可以当成php解析)

访问上传的php文件:

Pass-04
1 | $is_upload = false; |
思路:
发现没有过滤 .htaccess
文件,可以上传 .htaccess
+图片码来进行绕过利用。
1 | //.htaccess文件内容 |


访问上传的文件:

Pass-05
1 | $is_upload = false; |
思路:
自php 5.3.0起,除了主php.ini之外,PHP还会在每个目录下扫描INI文件,即.user.ini文件。
可以利用.user.ini文件来绕过利用。


访问目录中已存在的可执行的php文件:
Pass-06
1 | $is_upload = false; |

访问上传后的php文件:

Pass-07
1 | $is_upload = false; |
思路:
在拓展名后加一个空格绕过

Pass-08
1 | $is_upload = false; |
Pass-09
1 | $is_upload = false; |
思路:
在拓展名后添加::$DATA

访问上传的php文件:记得将 ::$DATA
删掉,不然会出错。

Pass-10
1 | $is_upload = false; |
思路:
在拓展名后添加. .
绕过利用

访问上传的php文件:
Pass-11
1 | $is_upload = false; |
思路:
利用双写绕过

访问上传的php文件:

Pass-12
1 | $is_upload = false; |
Pass-13
1 | $is_upload = false; |
Pass-14
1 | function getReailFileType($filename){ |