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

关于漏洞

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

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

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

kali文件重命名_硬核教程,必看!「网络安全入门」四、文件上传漏洞相关推荐

  1. linux中文件重命名_如何在Linux中重命名文件?

    linux中文件重命名 This tutorial will walk you through the simple steps to rename a file in Linux. 本教程将引导您完 ...

  2. python画圆形螺旋线_硬核教程,利用 Python 搞定精美网络图!

    硬核教程, 利用 Python 搞定精美网络图! 一.NetworkX 概述 NetworkX 是一个用 Python 语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进 ...

  3. linux 文件重命名_如何在 Linux 上重命名一组文件 | Linux 中国

    要用单个命令重命名一组文件,请使用 rename 命令.它需要使用正则表达式,并且可以在开始前告诉你会有什么更改.-- Sandra Henry-stocker 几十年来,Linux 用户一直使用 m ...

  4. python实现文件重命名_基于python实现复制文件并重命名

    方法: shutil.copy("c://ccc//模板.xlsx","c://ccc//新文件.xlsx") 需求: 已知的Excel模板格式.已知的文件命名 ...

  5. php 上传文件 重命名_如何用PHP给上传的文件改名

    用PHP给上传的文件改名的方法:首先新建一个html文件,并创建form表单:然后新建Php文件用于接收form表单传递过来的文件数据,并设置文件的编码为utf8:接着创建上传文件保存的目录变量[$s ...

  6. 硬核!IBM对「神经网络鲁棒性」的理论分析

    近期,CVPR 2021 安全AI挑战者大赛正在进行中 (报名截止3月24日),相关技术解析: 1. CVPR 2021大赛, 安全AI 之防御模型的「白盒对抗攻击」解析 2. 还在刷榜ImageNe ...

  7. 硬核:如何用「区块链」改进传染病监测预警网络?

    2020年春节,新型冠状肺炎牵动着大家的心.作为一名互联人,我们能在这场战役中做些什么?这篇文章,作者从专业的角度,告诉我们,很多事情我们都可以做. 作者:乌士儿 本文来自人人都是产品经理(woshi ...

  8. 如何批量给文件重命名?

    如何批量给文件重命名?电脑使用久了就会保存越来越多的文件,如果你有些许的强迫症,肯定不愿意电脑中的文件杂乱无章,这时候就需要对这些文件进行整理,整理文件的第一步就需要对相关联的文件进行重命名,让文件名 ...

  9. Web安全——文件上传漏洞

    文件上传漏洞 绕过JS验证 通过表单上传时,可能存在JS对文件类型.大小的检验 使用BurpSuite剔除相应JS 上传WebShell,使用菜刀连接 <?php @eval($_POST[&q ...

  10. Web安全-文件上传漏洞与WAF绕过

    文章目录 概述 Webshell简述 上传漏洞原理 上传漏洞绕过 解析漏洞 IIS 6.0解析漏洞 Apache解析漏洞 Nginx解析漏洞 Windows文件命名 客户端检测绕过 更改前端JS代码 ...

最新文章

  1. Struts2, jquery, select二级联动
  2. HTTP协议基础知识点点滴滴
  3. 怎么让手机变成震动器_详解iPhone 手机标配的两种技术:线性马达和3Dtouch,有多好用?...
  4. Web组件 – 构建商业化应用的基石
  5. 使用C#实现适配器模式 (Adapter Pattern) 和外观模式 (Facade Pattern)
  6. 论文浅尝 | 用于嵌套命名实体识别的二部平面图网络(BiFlaG)
  7. android程序表白,几条曲线构建Android表白程序
  8. 支付宝封杀比特币,可以说是毫不留情!
  9. 后台UI专辑模板有这些就够了!
  10. JSP+JSTL+EL表达式,实现web页面的页面跳转功能(上一页下一页首页末页页面跳转)
  11. dos命令行设置网络优先级_实用批处理:不用下软件就能 批量改名,修复网络,删除小文件...
  12. 推荐系统的基础算法-①基于内容的推荐算法
  13. 电脑系统时间服务器地址,电脑时间同步服务器ip地址
  14. 无线网络服务器网络异常,无线网络连接上但上不了网怎么解决
  15. iOS 清理缓存方法
  16. 【C++】交通咨询系统(最短路径问题)
  17. 论文阅读:CVPR2016 Paper list
  18. word每行字符数上限_word怎么限制每行字数
  19. 2018_10_24 模拟赛
  20. realtek card reader是什么软件

热门文章

  1. RAC 修改 ASM实例名 的步骤
  2. Intel CPU命名规则
  3. java jdk中优先队列的实现
  4. 操作系统复习笔记(三)
  5. 201521123081《Java程序设计》 第4周学习总结
  6. WebApp那些事——(JqueryMobile) 实战(一)
  7. 消息中间件activemq-5.13.0安全验证配置
  8. 编译安装LAMP平台
  9. NETSCREEN用L2TP方式建立×××
  10. 记录一次手机联系人整理(XML文件格式处理)