700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 文件上传漏洞的原理 危害 绕过

文件上传漏洞的原理 危害 绕过

时间:2021-05-08 15:38:51

相关推荐

文件上传漏洞的原理 危害 绕过

owasp 前十的漏洞加逻辑漏洞一共十一个,到这里我已经差不多把理论知识过了一遍,这里只分享了九个,因为有些漏洞原理我觉得我太菜了不太好总结,所以留下待续,,但是之后我每学到新的漏洞就会把学习总结分享在这里,,,之后呢我会把中心放在这些漏洞的实战上面也会写成总结分享出来,还是一样的每天一个,四月份应该继续往前学着走了,四月份约了一个二面,愿我好运吧,还有就是需要我学习总结的私我,我可以把word免费分享给大家。

什么是文件上传漏洞?

当文件上传点没有对上传的文件进行严格的验证和过滤时,就容易造成任意文件上传,包括上传动态文件(asp,php,jsp)等

如果上传的目标目录没有限制执行权限,导致所上传的动态文件可以正常执行,就导致了文件上传漏洞

存在上传漏洞的必要条件:

(1)存在上传点

(2)可以上传动态文件

(3)上传目录有执行权限,并且上传的文件可执行

(4)可访问到上传的动态文件

文件上传可造成哪些危害呢?

直接上传后门,控制网站,得到web权限(网站服务器权限)。

文件上传数据包一般需要关注哪些数据呢?

Content-Length:即上传内容大小

MAX_FILE_SIZE:即上传内容的最大长度

Filename:即上传文件名

Content-Type:即上传文件类型

说说常见的绕过方法?

绕过服务端检测:

服务端的代码常检测request包中的三个点:MIME类型、文件后缀、文件内容。

绕过MIME类型检测

原理:检测图片类型文件上传过程中http包的Content-type字段的值,来判断上传文件是否合法。

绕过方法:用burpsuite截取并修改数据包中文件的content-type类型,或者用大小写进行绕过;

text/plain(纯文本)

text/html(HTML文档)

text/javascript(js代码)

application/xhtml+xml(XHTML文档)

image/gif(GIF图像)

image/jpeg(JPEG图像)

image/png(PNG图像)

video/mpeg(MPEG动画)

application/octet-stream(二进制数据)

application/pdf(PDF文档)

application/(编程语言) 该种语言的代码

application/msword(Microsoft Word文件)

message/rfc822(RFC 822形式)

multipart/alternative(HTML邮件的HTML形式和纯文本形式,相同内容使用不同形式表示)

application/x-www-form-urlencoded(POST方法提交的表单)

multipart/form-data(POST提交时伴随文件上传的表单)

不完善的黑名单扩展名:

文件扩展名在黑名单中为不合法,一般有个专门的blacklist文件,里面会包含常见的危险脚本文件。

绕过方法:

后缀大小写绕过:在对后缀的判断中,如果只是对字符串进行单独的比较来判断是不是限制文件,可以采用后缀名大小写绕过形式。

空格绕过:如果黑名单没有对后缀名进行去空处理,可以通过在后缀名后加空格进行绕过。

双写绕过:如果黑名单是将问题后缀名替换为空,可以利用双写绕过。

php2, php3, php4, php5, phps, pht, phtm, phtml

绕过中间件检测:

iis解析漏洞

1 目录解析

以*.asp命名的文件夹里的文件都将会被当成ASP文件执行。

2 文件解析

*.asp;.jpg 像这种畸形文件名在“;”后面的直接被忽略,也就是说当成 *.asp文件执行。

IIS6.0 默认的可执行文件除了asp还包含这三种 *.asa *.cer *.cdx

3 默认解析

.asp .aspx .ashx .asa .cer这是系统默默认的后缀名

Apache解析漏洞

漏洞原理:Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。

比如 test.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php。

nginx解析漏洞

开启cgi:SCRIPT_NAME FASTCGI:

/a.jpg/.php(任何不存在文件)-----可以解析为.php文件

a.jpg:<?php phpinfo();?>

a.php%00.jpg----解析为a.php

配置问题导致漏洞:

1.如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。

2.如果在 Apache 的 conf 里有这样一行配置 AddType application/x-httpd-php .jpg 即使扩展名是 jpg,一样能以 php 方式执行。

3.修复漏洞方法

1.apache配置文件,禁止.php.这样的文件执行,配置文件里面加入

<Files ~ “.(php.|php3.)”>

Order Allow,Deny

Deny from all

</Files

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。