首页 > 其他分享 >文件上传之WAF绕过及安全修复

文件上传之WAF绕过及安全修复

时间:2023-01-07 19:11:06浏览次数:46  
标签:匹配 数据 WAF 检测 绕过 上传 溢出

上传参数名解析:明确哪些东西是能够修改的

Contont-Disposition:一般可更改;

Name:表单参数值,不可更改;

Filename:文件名,可修改;

Content-Type:文件MIME,视情况更改

常见绕过方式

数据溢出-防匹配(xxx……)

大量数据的重复溢出(在计算机中,当要表示的数据超出计算机所用数据的表示范围时,就会发生数据溢出。 如果数据类型超过计算机字长的限制,将发生数据溢出。)

符号变异-防匹配(“” ;)

有些会认为是结尾,那么则可以利用这一特点让代码匹配错误从而实现绕过。

数据截断-防匹配(%00;换行)

可以把php以单个字母为单位换行;或者php%00.jpg

重复数据-防匹配(参数多次)

类似于垃圾数据

Fuzzing

各种上面技巧的组合使用(有点像爆破,比如有一百个代码,一个一个测试,直到有一个实现了绕过即可)

Payload

 

安全修护

后端验证:采用服务端验证模式;

后缀检测:基于黑白名单过滤;

MIME检测:基于上传自带类型检测;

内容检测:文件头,完整性检测;

自带函数过滤:参考uploads函数;

自定义函数过滤:function check_file(){}

Waf防护产品:宝塔,云顿,安全公司产品等。

标签:匹配,数据,WAF,检测,绕过,上传,溢出
From: https://www.cnblogs.com/cx330ki/p/17033303.html

相关文章

  • 【Python】Paramiko模块_连接sftp上传下载执行命令
    Paramiko模块是基于Python实现的SSH远程安全连接,用于SSH远程执行命令、文件传输等功能。paramiko2.4.2依赖cryptography,是使用SSHv2协议(底层使用的是cryptography)......
  • arxiv上传文件报错: did not end with \n, TRUNCATED? --解决办法
    更新Arxiv内容的时候,提示如下错误:/data/new/4678/4678708/src/update/main.texdidnotendwith\n,TRUNCATED? 解决办法:在报错的提示文件main.tex中,最后一句话,后......
  • CDN绕过
    CDN绕过CDN的全称是ContentDeliveryNetwork,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分......
  • 文件上传相关内容
    解析漏洞:apache和nginx会存在解析漏洞,在一张正常图片里面加入php代码,上传该图片后,访问这个地址,会看到上传的图片,在后面加上/x.php,会出现乱码,但是可以执行php代码-------文......
  • 文件上传——WAF绕过
    上传参数名解析:明确哪些东西能更改content-disposition:一般可更改name:表单参数值,不能更改filename:文件名,可以更改content-type:文件MIME,视情况更改-------文件上传WA......
  • SiteFactory编辑器支持Word自动上传
    ​ 项目需求可发布文章需求涉及到富文本编辑器经过查阅我选择了较为简便不需要后端支持可独立完成的tinymce框架官方文档也是相当完整虽然都是全英文但是有强大的......
  • SiteFactory编辑器支持Word图片上传
    ​ 这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下)<%@ page language="java"......
  • Bugly符号表上传
    腾讯Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。当前免费提供给客户使用。1、官网地址:https://......
  • SiteFactory编辑器支持Word图文一键上传
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑......
  • 基于vue+Element UI的文件上传(可拖拽上传)
    (文章目录)实现效果一、先创建一个Dialog对话框进行存放<template><!--导入遮罩层--><el-dialog:title="$t('to_lead')":visible.sync="Ba......