当前位置: 首页 > news >正文

WEB安全--文件上传漏洞--黑名单绕过

一、大小写绕过(只适用windows)

filter:禁止.php .jsp .asp

原理:由于匹配时区分大小写,而解析时不区分大小写都可以解析,从而导致绕过黑名单。

示例:抓包,改文件名,任意选择被匹配的位置的字符串中的部分字符转换大小写即可。

.Php ==> .php
.jSP ==> .jsp
.AsP ==> .asp

二、空格绕过(只适用windows)

filter:禁止.php .jsp .asp

原理:在文件名的前面或者后面(主要是后面,因为一般过滤后缀名)添加空格,此时函数匹配不到,但是带有空格不影响解析。

示例:抓包,改文件名,在文件末尾添加空格。

"shell.php " ==> "shell.php"


filter并不认为".php "是".php"
"shell.php "是被当做"shell.php"解析的。

三、" . "绕过(不安全的Apache、NGINX配置文件)

原理:与空格绕过类似。

示例:.php

shell.php. ==> shell.php

补充:没太大用,真实环境没有傻子修改解析器配置文件。

四、::$data绕过(只适用windows)

原理:在windows中,访问 <file>::$data 就是访问文件本身,访问 <dir>:<file>::$data 就是访问dir文件夹中的 <file> 。

示例:抓包,改文件名,在文件末尾添加 ::$data 。

shell.php::$data ==> shell.php 

五、双写绕过(filter将匹配值替换为空)

原理:删除指定字符串后的字符串刚好是黑名单中的内容。

示例:

shell.php ==> shell.pphphp

          ==> shell.PphpHP

补充:没太大用,很多都是正则替换,且忽略大小写。

相关文章:

  • 《Linux运维总结:基于银河麒麟V10操作系统+ARM64架构CPU二进制部署单机ACL版consul v1.18.1》
  • 【linux】管理磁盘——RAID10(含备份)与逻辑卷管理
  • Java线程池详解
  • 用deepseek创建可运行的简单的php框架
  • 如何在k8s中对接s3存储
  • 多线程 - wait notify
  • Apache Commons Lang3 常用方法详解
  • 大数据(4.3)Hive基础查询完全指南:从SELECT到复杂查询的10大核心技巧
  • 【超分辨率】基于DDIM+SwinUnet实现超分辨率
  • 深入理解pthread多线程编程:从基础到生产者-消费者模型
  • Android: Handler 的用法详解
  • 【工具】在 Visual Studio 中使用 Dotfuscator 对“C# 类库(DLL)或应用程序(EXE)”进行混淆
  • 关于 Nginx 配置中 proxy_set_header Host $host 的作用及其对 HTTP 请求头影响的详细说明,结合示例展示设置前后的差异
  • 【VSCode SSH 连接远程服务器】:身份验证时,出现 key: invalid format 的问题
  • 服务端向客户端推送数据的实现方案
  • Linux | I.MX6ULL 终结者底板原理图讲解完(第六天)
  • 关于亚马逊TTS的笔记
  • 银行回单识别技术应用与API服务解析
  • 1 分钟掌握 PlantUML,快速绘制 UML 类图!
  • Docker学习--本地镜像管理相关命令--docker history 命令
  • 广药集团原董事长李楚源被“双开”:去年8月被查,曾多次发表争议言论
  • 上百家单位展示AI+教育的实践与成果,上海教育博览会开幕
  • 上海老字号卖黄金,与动漫IP联名两周销售额近亿元
  • 《大风杀》导演张琪:为了不算计观众,拍了部不讨好的警匪片
  • 男子恶意遗弃幼子获刑,最高法发布涉未成年人家庭保护典型案例
  • 基金经理调仓引发大金融板块拉升?公募新规落地究竟利好哪些板块