文件上传心得汇总

文件上传三大检测方式:1.黑名单 2.白名单 3.文件内容

前端:js类防护||修改Content-type:
GIF图形/PNG图片:.gif(image/gif) 或.png(image/png)
JPEG图形:.jpeg或.jpg(image/jpeg)
黑名单:
1.双写php
2.大小写
3.后缀名检测:(1) jsp jspx jspf(2)asp.asa.cer.aspx.ascx .ashx.cdx(3)php php php3 php4 php5 pht phtml
4.系统命名:(1)文件+.(2)+空格(3)+::$DATA
5.上传.htaccess:(文件名包含”1”这个这个字符串就会被当成php文件来处理。)
<FilesMatch “1”>
SetHandler application/x-httpd-php

白名单:
检测文件内容:
1.文件头检测:(1) .JPEG;.JPE;.JPG,”JPGGraphicFile”(2) .gif,”GIF89A”
7.文件内容编码
2.图片马+文件包含
3.图片马+文件解析
4.图片马+编辑器漏洞fckeditor ewebeditor ckeditor kindeditor
5.00截断 %00截断||0x00截断||0x0a截断(php版本要小于5.3.4,magic_quotes_gpc需要为OFF状态)
6.条件竞争:不断用burp进行上传shell.php,浏览器不断访问shell.php最后能看到生成的muma.php连接

waf:
1.垃圾数据:文件内容前端写垃圾数据
2.参数污染:在上个参数后多加;&filename=2.php 或者 filename=1.jpg,2.php
3.构造畸形包(Content-Type: multipart/form-data):细分笔记:修改包-Bypass WAF
4.二次渲染;比较结果修改未改变部分。
5.并发发包

文件名后缀名
换行 filename=“1.p\nh\np”
多个等于号 filename====“1.php”
单引号替换 filename=‘1.php’
去掉引号 filename=1.php
溢出Content-Disposition:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
多个Content-Disposition:form-data;name=“file”;filename=“1.jpg”
Content-Disposition:form-data;name=“file”;filename=“1.php”
畸形包
删除Content-Type:image/jpeg
溢出文件名filename=“111111111111111111.php”
Accept-Encoding:gzip/compress/deflate/br/identity/*
分块传输
:绕过后缀名限制+<<<<输入数据

突破getimagesize
突破exif_imagetype
cms文件上传

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值