文件上传之后端黑白名单绕过

后缀名:黑名单、白名单

l  黑名单:明确不让上传的格式后缀,比如asp、php、jsp、aspx、cgi、war等,但是黑名单易被绕过,比如上传ph5、phtml等。

l  白名单:明确可以上传的格式后缀,比如jpg、png、zip、rar、gif等,推荐白名单。

文件类型:MIME信息(MIME 类型 | 菜鸟教程 (runoob.com))

Content-type字段校验,可以通过抓包改包方式绕过。

文件头:内容头信息

每种类型的文件都有自己固定的文件头信息,比如GIF89a是gif图片的文件头信息,可以通过手动在脚本文件前面增减文件头的方式绕过。

Windows特性

l  Windows下文件名不区分大小写,linux下文件名区分大小写;

l  Windows下NTFS特征,导致上传文件xxx.php::$DATA=xxx.php;

l  Windows下文件名结尾加入“.”、“空格”、“<”、“>”、“>>>”、“0x81-0xff”等字符,最终生成的文件均被Windows忽略。

案例展示:uploadlabs关卡分析

下载:https://github.com/c0ny1/upload-labs

l  案例1:$_FILES[‘upfile’]访问文件的有关信息

l  案例2:Pass-02 MIME-Type验证

l  案例3:Pass-3 黑名单绕过 特殊解析后缀

l  案例4:Pass-4 .htaccess绕过

l  案例5:Pass-6 大小写绕过

l  案例6:Pass-7 后缀名空格绕过

l  案例7:Pass-8 点绕过

l  案例8:Pass-9 ::$DATA绕过

l  案例9:Pass-10 点+空格+点绕过(循环递归过滤)

l  案例10:Pass-11 双写绕过

l  案例11:Pass-12 %00截断 GET请求

l  案例12:Pass-13 %00截断 POST请求

Tips:GET优先于POST;搭建upload靶场时php环境尽量选低,要不然会出现访问木马文件出现下载的现象。

案列详解:https://blog.csdn.net/qq_50854790/article/details/122324209

posted @ 2023-01-07 19:00  Cx330ki  阅读(742)  评论(0)    收藏  举报