某教程学习笔记(一):14、上传漏洞讲解

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 某教程学习笔记(一):14、上传漏洞讲解


一、文件解析漏洞

1、IIS6.0目录解析

只要存在一个xx.asp(xx.asa)的文件夹,里面所有的文件都会被解析为asp文件


0a2653c851af460fa595bd959398a8f1.png0eacb84100b54626af849e6b562bf92a.png


2、IIS6.0分号后面不解析

a.asp;jpg,这样的文件会被解析成asp文件,另外*.cer,*.asa也都会被解析成为asp文件


2d65d23f6d4748949b924e4057485923.png2e9b90b2ca334476abebe75bafe6eeaa.png


3、apache解析漏洞,apache是从右往左解析后缀,直到解析到可以识别的后缀

假如有个文件是a.php.abc.aab.acd,apache最终解析为a.php


4、IIS7.0、IIS7.5、Nginx<8.03畸形解析漏洞

在默认Fast-CGI开启状况下,黑客上传一个名字为cracer.jpg,内容为’);?>的文件,然后访问cracer.jpg/.php,在这个目录下就会生成一句话木马shell.php

漏洞影响范围:nginx 0.7.65以下(0.5., 0.6., 0.7.* )全版本系列和0.8.37(0.8.*)以下8系列受影响。

http://ap.test.com/1.jpg/1.php

http://ap.test.com/1.php%00.jpg


5、.htaccess文件解析

如果在Apache中.htaccess可被执行,且可被上传,在.htaccess中写入: SetHandler application/x-httpd-php,然后再上传mst.jpg的木马, 这样mst.jpg就可解析为php文件


二、上传本地验证绕过

服务器命名规则

第一种:上传文件名和服务器命名一致

第二种:上传文件名和服务器命名不一致(随机)


1、客户端 Javascript检测(通常为检测文件扩展名)

首先判断js本地验证,在用burp抓包,提交的时候,burp没有抓到包,就已经弹出了弹框,说明本地验证

0a2653c851af460fa595bd959398a8f1.png

绕过方法:

删除监测函数

0eacb84100b54626af849e6b562bf92a.png

使用burp抓包改名

使用firebug直接删除本地验证的js代码

添加js验证的白名单,如将php的格式添加进去


2d65d23f6d4748949b924e4057485923.png


2服务端MIME类型检测(检测 Content-Type内容)

直接使用bup抓包,得到post上传数据后,将 Content-Type内容改成image/png就可以成功绕过。


2e9b90b2ca334476abebe75bafe6eeaa.png


3.服务端目录路径检测(检测跟path参数相关的内容)

允许上传,但是上传到一个没有权限的文件夹,先抓包,发送到repeater,将路径修改为上级目录


0a2653c851af460fa595bd959398a8f1.png


三、上传服务端验证绕过

1、文件名大小写绕过

用像AsP,pHp之类的文件名绕过黑名单检测

0eacb84100b54626af849e6b562bf92a.png

2、名单列表绕过

用黑名单里没有的名单进行攻击,比如黑名单里没有asa或cer之类(asp:asa,cer,1.asp;.jpg,1.asp/1.jpg php:php3,php4,php5,php7)

3、特殊文件名绕过

比如发送的http包里把文件名改成test.asp.或test.asp_(下划线为空格),这种命名方式在windows系统是不被允许的,所以需要在burp之类里进行修改,然后绕验证后,会被windows系统自动去掉后面的点和空格,但要注意Uni/ Linux系统没有这个特性。

4、0×00截断绕过

把文件名修改为1.php%00.jpg,然后将%00编码

5、表单提交按钮

有的上传页面没有提交按钮,可以查看源码,然后添加一个

禁止非法,后果自负


目录
相关文章
|
6月前
|
安全 前端开发 JavaScript
某教程学习笔记(一):06、漏洞分析(工具篇)
某教程学习笔记(一):06、漏洞分析(工具篇)
66 0
|
30天前
|
开发框架 安全 JavaScript
文件上传漏洞(五)一句话合集
文件上传漏洞(五)一句话合集
|
30天前
|
安全 网络协议 Shell
文件上传漏洞(七)XISE寄生虫Weevely学习
文件上传漏洞(七)XISE寄生虫Weevely学习
|
6月前
|
开发框架 安全 .NET
文件上传漏洞技术总结
该文总结了文件上传技术相关的漏洞和绕过方法,包括语言可解析的后缀(如phtml、pht)、常见的MIME类型、Windows特性(如大小写、ADS流、特殊字符)、0x00截断技巧(需满足PHP版本和magic_quotes_gpc状态)、POST型0x00截断、文件头检查(通过合成图片马绕过)、二次渲染(利用未修改部分插入恶意代码)以及各种服务器的解析漏洞(Apache的.htaccess、解析漏洞,IIS的目录解析、文件解析、默认解析和IIS 7.x/Nginx的畸形解析)。此外,还提到了Java的空字节截断问题。
157 1
文件上传漏洞技术总结
|
6月前
|
前端开发 安全 应用服务中间件
Axure9官网网页的源代码篡改,自定义为个人开发使用
Axure9官网网页的源代码篡改,自定义为个人开发使用
|
6月前
|
开发框架 Java .NET
32、webshell简介
32、webshell简介
40 0
|
开发框架 安全 Java
某教程学习笔记(一):13、脚本木马原理
某教程学习笔记(一):13、脚本木马原理
107 0
某教程学习笔记(一):13、脚本木马原理
|
开发框架 安全 Java
【每日渗透笔记】文件上传绕过尝试
【每日渗透笔记】文件上传绕过尝试
322 0
【每日渗透笔记】文件上传绕过尝试
|
开发框架 安全 JavaScript
10 文件上传漏洞原理实战
文件上传漏洞是指攻击者上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。该漏洞在业务应用系统中出现概率较高,究其原因是业务场景中上传附件、头像等功能非常常见,若在系统设计中忽略了相关的安全检查,则容易导致文件上传漏洞。
10 文件上传漏洞原理实战
|
开发框架 安全 .NET
9.文件上传漏洞基础
文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。
9.文件上传漏洞基础