我是靠谱客的博主 精明超短裙,最近开发中收集的这篇文章主要介绍AWD攻防漏洞分析——文件上传,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

概述

这个漏洞在DVBBS6.0时代被hacker们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级高,入侵中上传漏洞也是常见的漏洞。
导致改漏洞的原因在于代码作者没有对访客提交的数据进行检验或者过滤不严,可以直接提交修改过的数据绕过扩展名的检验。

上传方法

1、直接上传Webshell
2、绕过客户端检测上传webshell
3、绕过服务器文件扩展名检测上传webshell
4、绕过服务端MIME类型检测上传webshell
5、绕过文件内容检测上传webshell
6、绕过服务端目录路径检测上传webshell
7、绕过服务端漏洞上传webshell
8、利用.htaccess文件上传webshell

上传工具

(1)Burpsuite
(2)菜刀、冰蝎、蚁剑
(3)一句话木马、图片马等

客户端检测

一般都是在网页上写一段js脚本,校验上传文件的后缀名,有白名单形式也有黑名单形式。
判断方式:在浏览加载文件,还未点击上传按钮时便弹出对话框,例如:只允许上传.jpg/.jpeg/.png后缀名的文件,而此时并没有发送数据包。

绕过方法:可以利用burp抓包,先上传一个jpg类型的木马,然后通过burp将其改为asp/php/jsp后缀名即可。
可以利用火狐浏览器自带的插件将javascript关闭。

服务端检测

MIME类型检测绕过:

当用户上传文件到服务器端的时候,服务器端的程序会获取上传文件的MIME类型,然后用这个类型获取到的类型来和期望的MIME类型进行匹配,如果匹配不上则说明上传的文件不合法.

image/jpeg、image/png、image/gif服务端是通过检测这个MIME类型的,用burp直接改就可以绕过了。

在这里插入图片描述

检测文件头:

不同文件都有不同的文件头,如:
JPEG (jpg)   文件头:FFD8FF              
PNG (png)    文件头:89504E47
GIF (gif)   文件头:47494638
PHP使用getimagesize函数验证文件头
文件头绕过方式:
绕过这个检测只需要在恶意脚本前加上允许上传文件的头标识就可以了
在木马内容基础再加了一些文件信息,有点像下面的结构
GIF89a

<?php phpinfo(); ?>

文件后缀名绕过

名单检测:有一个专门的blacklist文件,里面会包含常见的危险脚本文件。
绕过方法:
(1)找黑名单扩展名的漏网之鱼-比如asa和cer之类
(2)可能存在大小写绕过漏洞-比如aSp和pHp之类

.htaccess解析漏洞

1、首先上传一个.htaccess内容如下的文件:
SetHandler application/x-httpd-php
2、上传一个可以上传的文件,会直接当作php文件直接执行的。

配合操作系统文件命名规则

1、上传1.php(或者图片马),抓包改为1.php.
2、上传1.php(或者图片马),抓包改为1.php::$DATA
3、上传1.php(或者图片马),抓包改为1.php:1.jpg
4、上传1.php(或者图片马),抓包改为1.php::$DATA…
5、上传1.php(或者图片马),抓包改为1.php[空格]

00截断绕过上传

1、%00截断绕过白名单
2、%00快捷键ctrl+shift+u完成
3、PHP版本低于5.3.29,且GPC关闭下是可以突破的
在php.ini文件内找到
magic_quotes_gpc=On
将On改为Off
在这里插入图片描述

图片马上传

制作图片马教程
copy 1.jpg/b+2.php/a 1.jpg
参数/b指定以二进制格式复制、合并文件;用于图像类/声音类文件。
参数/a指定以ASCII格式复制、合并文件。用于txt等文档类文件。

Apache解析漏洞

Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析成php文件,利用Apache httpd这个特性,就可以绕过上传文件的白名单。

IIS解析漏洞

  1. 目录解析
    以*.asp命名的文件夹里的文件都将会被当成ASP文件执行。
  2. 文件解析
    *.asp;.jpg 像这种畸形文件名在“;”后面的直接被忽略,也就是说当成 *.asp文件执行。

Nginx解析漏洞

目前Nginx主要有这两种漏洞,一个是对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加为test.jpg/x.php进行解析攻击。
还有一种是对低版本的Nginx可以在任意文件名后面添加%00.php进行解析攻击。

本文已经结束,由于水平有限,在很多地方肯定有些不足之处,如有纰漏或者错误,还请斧正,定当改进。文章写的很不容易,大家的评论和点赞就是我的最大动力,谢谢支持!

最后

以上就是精明超短裙为你收集整理的AWD攻防漏洞分析——文件上传的全部内容,希望文章能够帮你解决AWD攻防漏洞分析——文件上传所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部