电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 3399 人浏览分享

WEBshell与文件上传漏洞

[复制链接]
3399 0
这里用dvwa来最简单的讲解下,大佬轻喷~

说在前面

这里先来简单介绍下文件上传这个漏洞吧

漏洞简述:

文件上传漏洞通常由于代码中对文件上传功能所上传的文件过滤不严或web服务器相关解析漏洞未修复而造
成的如果文件上传功能代码没有严格限制和验证用户上传的文件后缀、类型等 攻击者可通过文件上传点上
传任意文件 包括网站后门文件webshell 控制整个网站。

那这里先写个php的最简单的一句话木马吧

212017dit007sl7miepcsi.png

然后开始正题

一、无任何防护规则的文件上传漏洞利用

去dvwa的File Upload里尝试上传

212018ckg1axfmfxe1c1cj.png

呜呼 居然直接就上传成功了 还给出了上传路径 真贴心~

100.png

然后这里用上我们的蚁剑来尝试连接一波。点击 测试连接 返回连接成功

99.png

是不是想说一句:就这?别急 我们慢慢往下看~

二、前端JavaScript校验的文件上传漏洞利用

紧接着带上我们的马儿来到File Upload1尝试上传

可是点击Upload后居然弹出这个框框

98.png

因为是弹框,所以这里就是前端JavaScript校验文件了。

首先先修改马儿的后缀 修改成框框中的任意一个都行 以此来绕过前端JavaScript的校验

212020dr0m0rzgy4r74vm4.png

然后我们就打开burp,通过burp拦截包来修改jpg后缀为php

97.png

这里用上蚁剑点击 测试连接 返回连接成功

96.png

三、检测文件MIME类型的文件上传传漏洞利用

来到File Upload2

这里用File Upload1的玩法也能上传成功

69.png

这里为了和File Upload1做区分 这里换一种玩法

将后缀名修改回来 为x.php 直接上传会有次报错

68.png

那就用burp再来拦截 看到这里的Content-Type是 application/octet-stream

67.png

将其修改为image/jpeg 或者image/png 而不修改后缀为jpg 后缀依然是php结果依然上传成功
我们这里就通过修改MIME类型欺骗服务器这个文件是jpeg类型或者png类型 因此绕过成功
image/jpeg:

66.png

60.png

image/png:

29.png

28.png

这里用上蚁剑点击 测试连接 返回连接成功

26.png

四、服务端黑名单检测文件扩展名的文件上传漏洞利用

这里最后来到File Upload3

尝试直接上传马儿 报如下错

22.png

尝试使用上面几种绕过方式也不可行

查看源码 可知这里用了黑名单 而且用的foreach来迭代判断是否有命中

21.png

但是这里我是在Windows系统搭建的服务器 所以我们可以用大写PHP后缀绕过

20.png

或者大小写混合后缀绕过。如这里后缀为PhP也能成功

19.png

可见这里已经上传成功 但是是大写的。但是因为这里的服务器是搭建在Windows系统上的
不区分大小写。如果是搭建在Linux上 就另当别论了。

18.png

这里用上蚁剑点击 测试连接 返回连接成功

16.png

这里随意大小写都可以连接的上的 比如我这里用后缀为Php因为这是Windows系
统所以也能证实上面的结论。

15.png

最后成功进入靶机的文件管理

5.png

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.