• 二十四:文件上传之WAF绕过及安全修复


    上传参数名解析:明确哪些参数名可以修改

    content-Disposition:一般可更改(from-data)接受表单的数据
    name:表单参数值,不能更改
    filename:文件名,可以更改
    connect-Type:文件MIME,试情况而定
    

    常见绕过方法

    数据溢出-防止匹配(xxx...)------也就是垃圾数据使得WAF无法匹配
    符号变异-防匹配(' " ;)-----匹配''以及""里面的内容,没匹配到,所以绕过
    数据截断-防匹配(%00 ; 换行)
    重复数据-防匹配(参数多次)
    主要是绕过狗子,然后进行绕过
    

    大量垃圾数据

    name="upload_file";垃圾数据 file_name="x.php"
    
    file_name="dudu.php----由于没有"结尾,所以没找见结尾,可以上传,但是"放在前面就失效,X"x".php
    
    "x.php;.php"   ""里面的都是上传的文件名,;表示已经截断了
    
    
    filename=x.php
    filename="x.php
    filename='x.php
    filename="a.jpg;.php";
    filename="a.php%00.jpg"
    filename="connect-disposition:from-data;
    name="upload_file";x.php"
    filename="x.jpg";filename="x.jpg";.....filename="x.php";
    
    
    以及fuzz web字典,进行爆破
    

    安全修复

    后端进行验证,
    后端验证:基于黑名单,白名单过滤
    MIME基于上传自带类型检测
    内容检测:文件头,完整性检测
    
    后缀验证,参考upload-labs关卡黑名单的各种方式
    getimage函数只能接受图片,只处理图片信息
  • 相关阅读:
    23 数字时钟&长图滚动
    22 日期特效&长图滚动
    彻底澄清c/c++指针概念
    已管理员模式运行批处理路径丢失问题的解决方法
    使用mathjax在博客中完美显示数学公式,支持PC,手机浏览器
    GOOGLE高级搜索技巧
    我要搬家
    简单的3proxy配置
    AutoMapper小结
    专业IT培训机构-传智播客
  • 原文地址:https://www.cnblogs.com/SnowSec/p/14314690.html
Copyright © 2020-2023  润新知