目录

文件上传漏洞原理

常用防御方式和常用防御方式的绕过

一、前端JS检测

二、MIME检测

三、白名单检测

%00截断

0x00截断

四、黑名单绕过

文件拓展名绕过

.htaccess文件绕过

.user.ini.绕过

apache解析漏洞

IIS解析漏洞

Nginx解析漏洞

widows系统文件命名规则的特殊利用

五、文件内容检测

①文件头检测

②shell检测

六、条件竞争

靶场实战


文件上传漏洞原理

由于网站在对文件的上传功能中没有严格校验上传文件后缀和文件类型,导致上传的文件可以被解析成可执行的脚本文件(php、jsp、xml、cer等文件),以来达到攻击者的攻击目的

常用防御方式和常用防御方式的绕过

一、前端JS检测

客户端前端在JavaScript代码中加入了对扩展名的黑白名单检查,我们可以直接禁用javasrcipt

二、MIME检测

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

常见图片MIME类型: image/gif, image/png, image/jpeg, image/bmp, image/webp, image/x-icon, image/vnd.microsoft.icon

服务端代码是通过Content-Type的值来判断文件的类型,这样我们可以直接对文件的Content-Type进行修改来绕过此防御方式。

以PIKACHU平台漏洞为例:

利用BP直接修改Content-Type值来绕过

三、白名单检测

要求只能是特定扩展名的文件才能上传

%00截断

在url中%00表示ascll码的0 ,而ascii码的0,表示字符串结束,所以当url中出现%00时就会认为读取已结束

注:需满足 php 版本<5.3.4 才有可能存在此漏洞

simple.php%00.jpg-->simple.php

文件存储时的后缀名为.php是可以被解析成php文件的,从而实现绕过

0x00截断

原理同%00截断原理相同

我们在BP中修改时,需要使用Hex模块,添加00

我这里添加个+号是方便识别的

将这个"2b"改为00并发送就可以成功绕过了

四、黑名单绕过

使用扩展名黑名单来限制上传文件类型

文件拓展名绕过

Php除了可以解析php后缀 还可以解析php2,php3,php4 ,phtml
Asp可解析 asa,cer,cdx
Aspx可解析 ashx,asmx,ascx
Jsp可解析jspx、jspf

.htaccess文件绕过

概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

AddType application/x-httpd-php .png(这里是你指定的文件后缀名)

.user.ini.绕过

.user.ini文件里的意思是:所有的php文件都自动包含指定的文件

auto_prepend_file=test.jpg

这个绕过方式前提是上传目录下要有可执行的php文件

apache解析漏洞

Apache按从右到左的顺序识别文件后缀,直至找到后缀能匹配配置文件中的设置。遇到不能识别的后缀名便跳过。

shell.php.xxx将会被解析成php文件,可用来绕过黑名单过滤

IIS解析漏洞

*.asa*.asp格式的文件夹时其目录下的文件都会当做asp文件解析。

当文件名为*.asp;1.jpg时,IIS会以asp文件来解析,也就是说;起到了截断作用。

Nginx解析漏洞

在Nginx的服务器环境下,假如成功上传一张名为test.jpg的文件到网站,如果我们访问/test.jpg/test.php这个虚构的目录时服务器会直接将test.jpg作为php文件进行解析。

widows系统文件命名规则的特殊利用

shell.php. ———-文件名后加点‘.’

shell.php ———-文件名后加括号空格

shell.php::$DATA ———-文件名后加::$DATA

五、文件内容检测

①文件头检测

我们可以制作图片马来绕过

或者在文件头部添加文件幻数

JPEG (jpg),文件头:FFD8FF
PNG (png),文件头:89504E47
GIF (gif),文件头:47494638
TIFF (tif),文件头:49492A00
Windows Bitmap (bmp),文件头:424D
CAD (dwg),文件头:41433130
Adobe Photoshop (psd),文件头:38425053
Rich Text Format (rtf),文件头:7B5C727466
XML (xml),文件头:3C3F786D6C
HTML (html),文件头:68746D6C3E
Email [thorough only] (eml),文件头:44656C69766572792D646174653A
Outlook Express (dbx),文件头:CFAD12FEC5FD746F
Outlook (pst),文件头:2142444E
MS Word/Excel (xls.or.doc),文件头:D0CF11E0
MS Access (mdb),文件头:5374616E64617264204A
WordPerfect (wpd),文件头:FF575043
Adobe Acrobat (pdf),文件头:255044462D312E
Quicken (qdf),文件头:AC9EBD8F
Windows Password (pwl),文件头:E3828596
ZIP Archive (zip),文件头:504B0304
RAR Archive (rar),文件头:52617221
Wave (wav),文件头:57415645
AVI (avi),文件头:41564920
Real Audio (ram),文件头:2E7261FD
Real Media (rm),文件头:2E524D46
MPEG (mpg),文件头:000001BA
MPEG (mpg),文件头:000001B3
Quicktime (mov),文件头:6D6F6F76
Windows Media (asf),文件头:3026B2758E66CF11
MIDI (mid),文件头:4D546864

②shell检测

之前做过一道CTF题禁止了文件内容中出现<?

<script language="php">eval($_POST['pass']);</script>

可以用此来绕过

六、条件竞争

条件竞争漏洞(Race condition)官方概念是——竞争条件发生在多个线程同时访问同一个共享代码、变量、文件等没有进行锁操作或者同步操作的场景中。服务器对上传文件的操作大多数都是单线程处理,当我们执行多个线程时可以绕过一些服务器端的防御。

如:利用条件竞争绕过文件删除等等

靶场实战

PIKACHU

DVWA

upload-labs上(1-12)

upload-labs下(13-21)

文件上传漏洞常用绕过方式相关推荐

  1. 文件上传漏洞及绕过检测的方式

    文章目录 一.什么是文件上传漏洞? 二.目标会对文件上传做哪些防护? (一)客户端检测 (二)服务端检测 (三)白名单和黑名单的区别 三.绕过后端黑名单检测 (一)换一个后缀名绕过黑名单检测 (二)用 ...

  2. .hpp文件_文件上传漏洞另类绕过技巧及挖掘案例全汇总

    文件上传漏洞作为获取服务器权限最快的方式,虽然相关资料很多,但很多人对上传校验方式.如何针对性绕过检测.哪种上传和解析的场景会产生危害等还是比较模糊.本文作一些阐述,然后补充一些除了上传webshel ...

  3. 上传绕过php文件改为图片,文件上传漏洞另类绕过技巧及挖掘案例全汇总

    文件上传漏洞作为获取服务器权限最快的方式,虽然相关资料很多,但很多人对上传校验方式.如何针对性绕过检测.哪种上传和解析的场景会产生危害等还是比较模糊.本文作一些阐述,然后补充一些除了上传webshel ...

  4. java 文件上传漏洞_文件上传漏洞(绕过姿势)

    文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接.但是想真正把这个漏洞利用好却不那么容易,其中有很多技巧,也有很多需要掌握的知识.俗话说,知己知彼方能百战不殆,因此 ...

  5. 文件上传漏洞 — ::$DATA绕过、点和空格绕过

    web渗透测试最全实战课程--渗透测试视频教程-信息安全-CSDN程序员研修院 文件上传漏洞的相关讲解基于upload-labs靶场,搭建教程见文件上传漏洞靶机搭建教程 ::$DATA绕过 补充知识 ...

  6. html文件上传漏洞,文件上传漏洞(绕过姿势)

    文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接.但是想真正把这个漏洞利用好却不那么容易,其中有很多技巧,也有很多需要掌握的知识.俗话说,知己知彼方能百战不殆,因此 ...

  7. html 上传文件_【实战篇】记一次文件上传漏洞绕过

    点击上方"公众号" 可以订阅哦! Hello,各位小伙伴大家好~ 最近有点高产似母猪~ 那今天就少写点,简单记录一个文件上传漏洞的绕过吧~(机智如我..) 之前也介绍过一期文件上传 ...

  8. 【文件上传漏洞-03】前端JS检测与绕过实例—以upload-labs-1为例

    目录 1 前端JS检测与绕过 2 前端JS检测与绕过实例 2.1 实验目的 2.2 操作环境 2.3 前期准备 2.4 具体过程 2.4.1 文件上传前期盲测 2.4.2 方法一:删除JS直接上传 2 ...

  9. 【文件上传漏洞绕过方式】

    目录 前言 正文 总结 前言 目前,文件上传往往在业务中不可避免,也是极其容易出现上传漏洞.根据owasptop10中的排名,文件上传漏洞(属于攻击检测和防范不足)高居其中.今天和大家分享常见的文件上 ...

  10. 文件上传漏洞、WebShell、防御及绕过利用、Web容器解析漏洞、编辑器上传漏洞

    文章目录 文件上传漏洞 漏洞概述 漏洞成因 漏洞危害 WebShell 大马 小马 GetShell 漏洞利用的条件 PUT方法上传文件 漏洞的防御.绕过和利用 黑白名单策略 安装upload-lab ...

最新文章

  1. ASP.NET页面借助IFrame提交表单数据所遇到的问题
  2. Django发HTML邮件
  3. 设计模式(九)——适配器模式
  4. java趣味_Java趣味分享:try finally
  5. el-input只能输入数值和小数点,并且不显示上下箭头
  6. 王道训练营 Java 部分测试
  7. 配置阿里云maven仓库地址
  8. Microsoft Visual Studio 2012 产品密匙
  9. 我在Slager上的LaTeX排版之路|空格命令(连载)
  10. filter 无效不起作用
  11. 大学计算机课程教学建议,计算机应用基础课程教学的建议
  12. mc无可用java_新人求助,MC无法打开,内存java均无问题
  13. opp原则_完美事业OPP与NDO纲要
  14. 企业生产中,APS系统有哪些具体应用场景?
  15. 如何对文本框进行功能测试
  16. NRF24L01的使用
  17. 2019年第十届山东省acm省赛总结
  18. 数学计算机关系论文2000字,数学与计算机科学论文2000字_数学与计算机科学毕业论文模板...
  19. Fitbit协助执法部门破获一起犯罪案件
  20. 不想再错过下一个风口?机器视觉技术的亿万级市场

热门文章

  1. ROS - 科大讯飞语音包使用
  2. 男人 30 岁前要做的 22 件事
  3. 物流软件之Microcity介绍
  4. 学习matlab体会,学习matlab心得体会.doc
  5. python可视化经纬度信息
  6. android系统源代码单独编译应用程序
  7. xencenter如何安装Centos7虚拟机系统
  8. 数学建模:层次分析法
  9. mamp安装php扩展,mac版mamp下php安装pcntl扩展
  10. 电脑闪光代码_清华姚班毕业生开发新特效编程语言,99行代码实现冰雪奇缘,网友:大神厉害了!创世的快乐...