文件上传漏洞(一)之黑名单检测绕过

前言: 非法用户可以利用上传的恶意脚本文件控制整个网站,甚至控制服务器,这个恶意的脚本文件,又被称为webshell,也就是网页的后门,webshell具有很强大的功能,比如查看服务器目录,服务器文件,执行系统命令等等。对于上传文件格式的限制,即黑名单,这里为绕过黑名单的几种方法


文章目录


一.黑名单过滤不全

准备上传一句话PHP文件,用burp抓包之后,去修改上传文件的后缀名,依次去尝试,对于黑名单策略(限制某一些文件格式),我们可以上传类似可以解析的文件,绕过黑名单,而其他可作为php脚本执行的其他后缀格式有php4,php5,phtml

二.htaccess文件绕过

(1).概况来说,.htaccess文件时Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以实现网页301重定向,自定义404错误页面,改变文件扩展名,允许/阻止特定的用户或目录的访问,禁止目录列表,配置默认文档等
(2).在windows建立一个名为htaccess后缀名的文件,内容为SetHandler application/x-http-php,上传之后用burp抓包,在文件命前面加个’.’,点击发送数据包,此时上传一个jpg文件,可以发现jpg可以被解析

三.黑名单大小写过滤不全

准备上传一句话 PHP 文件,用 Burp 抓包之后,去修改上传文件的后缀名,改成 PHP大写,能够绕过黑名单检测,突破上传,成功解析。或者用 Burp 的 Intruder 模块去字典 Fuzz文件后缀名,发现可以上传被解析的后缀名

四.空格后缀名绕过

准备上传一句话 PHP 文件,用 Burp 抓包之后,去修改上传文件的后缀名,后缀名中加个空格,发现能够绕过黑名单检测,成功上传

五."."号后缀名绕过

准备上传一句话 PHP 文件,用 Burp 抓包之后,去修改上传文件的后缀名,后缀名后加个"."号,发现能够绕过黑名单检测

六.漏洞之::$DATA 后缀名绕过

DATA 特性(利用的是 NTFS 文件系统的一个特性, NTFS存储数据流的一个属性,当我们这样去访问的时候,其实我们请求的,它就会被认为是 phpinfo.php 本身的数据),准备上传一句话 PHP文件,用 Burp 抓包之后,去修改上传文件的后缀名,后缀名加个"::$DATA",发现能够绕过黑名单检测,成功上传

七.(点空点)"."+空格+"."后缀名绕过

准备上传一句话 PHP 文件,用 Burp 抓包之后,去修改上传文件的后缀名,后缀名后面加上". ."(点加空格加点),发现能够绕过黑名单检测,成功上传

八.文件后缀名双写绕过

准备上传一句话 PHP 文件,用 Burp 抓包之后,去修改上传文件的后缀名,后缀名改成 pphphp ,发现能够绕过黑名单检测

上一篇:[PHP] 如何让 php-fpm 的循环 echo 实时输出到浏览器


下一篇:C语言:用 * 打印X形图案