首页 网络安全 漏洞挖掘 查看内容

网络安全入门:文件上传漏洞

2020-5-21 10:49 |来自: 互联网 3273 0

摘要: 文件上传漏洞:指由于在对用户上传文件部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件。如上传木马,病毒,恶意脚本或者WebShell等。
关键词: 文件 WebShell 漏洞 Metasploitable weevely 类型 服务器 PHP 难度 生成

原标题:硬核教程,必看!「网络安全入门」四、文件上传漏洞

本文仅供学习交流,正确使用渗透测试,遵守相关法律法规,请勿用于非法用途。


关于漏洞

文件上传漏洞:指由于在对用户上传文件部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件。如上传木马,病毒,恶意脚本或者WebShell等。

实验环境

本实验基于以下环境:

【网络安全入门】一、环境搭建(VirtualBox+Kali+Metasploitable+Win10)

【网络安全入门】二、配置Metasploitable和实验网络

(关注我,查看之前内容)

确保所有虚拟机处于同一个NAT Network下


启动Metasploitable,利用 ifconfig 命令获取本机IP

启动Kali,进行渗透测试,浏览器输入Metasploitable中查询到的IP,访问漏洞页面


漏洞预防策略

  • 分析上传的文件类型,对文件重命名
  • 拓展名检测
  • Content-Type文件类型检测


漏洞挖掘以及利用

这里以DVWA为例,默认登录账号 admin/password

DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境。


先设置安全等级为low,可自行调整难度。



使用weevely生成php后门

weevly是一款使用python编写的webshell工具 ( 用于webshell生成和连接,限于php )

生成后门文件的格式

$ weevely generate

如,在当前目录生成一个webshell.php文件,密码为test123:

$ weevely generate test123 webshell.php


试试能不能上传,可以看到,在安全级别为low的情况下,没有任何预防措施。

访问Metasploitable也可以看到上传的文件位置

通过网页显示的url可知,文件存在于http://ip地址/dvwa/hackable/uploads/webshell.php,通过weevely连接

URL为上传的文件路径,密码为之前创建文件时设置的密码

$ weevely


连接目标服务器成功,可执行命令

提高难度为Medium

在中等难度下,再次尝试使用之前的方法上传webshell.php。

提示失败,用 Burp suite 作为代理拦截请求看看

既然要求上传图片类型,试试修改Content-Type,看看能不能绕过。

正常情况下:客户端 -> 服务器

Burp suite代理: 客户端 -> Burp suite -> 服务器

通过Burp suite拦截请求,修改类型,提交到服务器


可以看到,服务端错误的识别了类型,将其作为图片格式,上传后门文件成功。

提高难度为Hign

尝试修改拓展名为 webshell.php.jpg,绕过检测


下一篇预告:代码执行漏洞


创作不易,如果本文对您有所帮助,点个赞再走吧,您的关注是我更新的最大动力!!

本文出处: https://www.toutiao.com/a6828730673860182540/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部