文件上传基础-01
文件上传漏洞
上传文件时,Web应用程序没有对上传文件的格式进行严格过滤 , 就容易造成可以上传任意文件的情况。还有一部分是攻击者通过 Web服务器的解析漏洞来突破Web应用程序的防护。
上传漏洞与SQL注入或 XSS相比 , 其风险更大 , 如果 Web应用程序存在上传漏洞,攻击者可以利用上传的恶意脚本文件控制整个网站,甚至控制服务器,这个恶意脚本文件,又被称为WebShell,也可以将WebShell脚本称为一种网页后门。WebShell具有非常强大的功能,比如查看服务器目录、服务器中的文件,执行系统命令等。
利用思路
1、常规类
- 扫描获取上传
- 会员中心上传
- 后台系统上传
- 各种途径上传
2、CMS类
- 利用CMS源码
3、编辑器类(编辑器组件漏洞)
- cheditor
- fckeditor
- kindeditor
- xxxeditor
4、其他类/cve
- 代码审计
- 平台/三方应用
文件上传黑/白名单绕过
1、验证/绕过
前端
1. js
后端
1. 黑名单
- 特殊解析后缀
- .htaccess解析
- 大小写绕过
- 点绕过
- 空格绕过
- ::$DATA绕过
- 配合解析漏洞
- 双后缀名绕过
2. 白名单
- MIME类型
- %00截断
- 0x00截断
- 0x0a截断
3. 内容以及其他
- 文件头检测
- 二次渲染
- 条件竞争
- 突破getmagesize
- 突破exif_imagetype
2、漏洞修复
解析漏洞
- IIS
- Apache
- Nginx
cms漏洞
- 某CMS上传漏洞未修复
其他漏洞
编辑器漏洞
- cheditor
- fckeditor
- kindeditor
- xxxeditor
CVE漏洞
- CVE-2015
- CVE-2016
- CVE-2017
安全修复
waf绕过
笔记-1
文件上传 -CTF 151~161
1、前端验证
2、黑白名单
3、user.ini妙用
4、PHP语言特性
目标:通过文件上传漏洞上传后门文件
菜刀冰倔等。。。。
后门代码需要用特定的的后缀解析,不能以图片后缀解析脚本后门代码(解析漏洞除外)
jpg图片,里面有后门代码
x=system(‘tac ../flag.php’)
1、前端验证,修改前端js代码,png类型修改为后门文件类型 eg: xxx.php
上传成功–》 URL直接获取数据
2、mim1前后端验证,修改前js 代码,抓包修改传入后端的文件类型为支持的类型,后端验证成功。
3、.user.ini php 全局配置文件:
auto_prepend_file =
auto_append_file=
- 上传一个.user.ini 包含需要上传的后门文件-?–》上传后门文件直接访问
有过滤:
使用其他格式:可以百度有好几种方式
= eval ( $_post [ x ] ) ?>
上传 test.png 包含恶意代码
=include "/var/lo"."g /nginx/access.lo"," g " ?>再上传
.user.ini
auto_prepend_ifle =<>
访问路径:
打印日志信息
在抓包修改
User-Agent :
直接post请求访问
x=system(‘tac../flag.php’)文件上传,验证上传文件的文件头