首页 > 其他分享 >dvwa文件上传漏洞低级,中级,以及高级的难度测试(手把手教会你文件上传)

dvwa文件上传漏洞低级,中级,以及高级的难度测试(手把手教会你文件上传)

时间:2024-07-18 23:30:35浏览次数:15  
标签:文件 这里 dvwa 漏洞 木马 上传 图片

在开始之前我们得先了解什么是文件上传漏洞,为什么会产生漏洞?以及文件上传漏洞有什么危害?

文件上传漏洞顾名思义是指开发者或者程序员在开发网站的时候没有对用户上传的文件进行识别和过滤,因为很多网站提供的功能比较多,比如前台用户注册上传头像,允许上传图片,视频等等,没有做很好的过滤就会导致恶意用户上传恶意文件,从而控制整个网站以及服务器,被列为高危漏洞

笔者这里建议阅读的朋友们先了解什么是一句话木马,一句话木马又分为asp,php,aspx,jsp等几种不同的一句话木马,争对不同脚本的网站采取使用不同的木马,这里补充一个知识点就是,部分网站可以采取上传不同的马来进行突破限制,因为有些服务器不止搭建一个类型的网站,例如一个服务器上面有asp的网站也有php的站,那么我这个时候就可以变换上传不同的马突破。

这里废话不多说了,我们直接开始实战测试,关于dvwa靶机的搭建笔者在后面也会写一篇关于dvwa的搭建教程供大家参考,大家也可以去看别的博主的搭建过程。

在dvwa中我们选择文件上传,难度为低级。

这里我们尝试上传一张图片看能否成功

复制上传地址测试发现该上传接口是可以正常上传图片的

我们这里直接进行源码审计,发现没有做任何的过滤那我们直接可以上传任意文件,因为该DVWA是PHP脚本搭建的,所以我们也要使用PHP的脚本进行上传,然后通过菜刀工具直接链接getshell

这里直接上传了一句话为cc.php,然后复制上传地址直接访问看是否执行了代码

这里返回了空白说明了代码已经成功执行

将地址复制然后利用菜刀工具链接一句话木马

到这里我们就成功拿下了网站,然后进入中级难度,也是一样先审计源码代码,发现过滤了上传的属性是否为图片格式,和文件的大小,这里我们就需要抓包对数据包进行修改了

图片中我标记的部分就是我们要修改的地方,可以看到content-type的属性不是图片的image/jpeg,还有文件大小不符合上传的大小,我们直接多复制几个一句话即可绕过

看这里修改了直接go,然后找到上传的地址访问看是否执行一句话木马

空白说明我们代码成功上传并执行

这里我们直接跟前面一样链接就行最后我们来看看高级难度的上传

审计代码得知这里使用了白名单模式,除了jpg,JPG,jpeg,JPEG这几种类型除外,其它的一律不准上传,那我们直接配合文件包含漏洞包含我们的图片马直接getshell,制作图片马的过程小编这里就不展示了,各位小伙伴可以网上搜索图片马制作过程,这里高级难度我是用的是fofa上面搜索的DVWA的高级难度,因为我的靶机高级难度是写死了,在这里我们上传的图片马为1.jpg

这里有些小伙伴可能不懂,因为同样是高级难度,所以小编提前审计了文件包含的代码此处可以使用伪协议来包含我们的图片马来进行绕过,可以看到也是成功执行了PHP代码所以图片才会显示出乱码的形式

最后利用菜刀工具直接链接该地址就行,后续小编也会更新文件包含的漏洞,文件上传漏洞可能有些地方讲的不是很好,还请大家多多指教。

标签:文件,这里,dvwa,漏洞,木马,上传,图片
From: https://blog.csdn.net/qq_61426144/article/details/140532207

相关文章

  • 一文搞定Log4j2日志配置文件
    1.在SpringBoot应用中集成Log4j2首先在项目pom文件中引入Log4j的依赖<!--log4j2--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></dependency>在当前项目的resource目录下......
  • 0基础学python-17:文件读写
    目录前言文件读写三步走:        打开文件-->读写文件-->关闭文件一、打开文件1.文件位置绝对位置:相对位置:2.open()方法二、读写文件1.读取文件2.写入文件三、关闭文件1.close()2.with语句前言        读写文件是最常见的IO操作。Python内置......
  • 【STM32芯片启动流程】——结合具体启动文件和hex文件分析
    一、前言最近想把MCU相关的知识梳理一遍,希望加深自己对相关知识的理解,同时也作为备忘录提醒自己。首先是STM32的启动过程,理解这个过程是学习IAP和OTA功能以及深入stm32内核的基础。二、总体流程介绍1.由boot引脚(boot0,boot1)选择启动模式;2.给SP、PC指针赋值;3.进入复位中......
  • 推荐一种批量判断文件是否存在的快速办法
    在日常开发中,我们经常需要和文件打交道,特别是桌面开发,有时候就会需要加载大批量的文件,而且可能还会存在部分文件缺失的情况,那么如何才能快速的判断文件是否存在呢?如果处理不当,且文件数量比较多的时候,可能会造成卡顿等情况,进而影响程序的使用体验。今天就以一个简单的小例子,简述两......
  • 如何恢复电脑上删除的文件?快速恢复被删除文件的技巧【5个实用方法】
    如何恢复电脑上删除的文件?电脑误删文件的情况很经常发生,删除文件后第一时间可以按下组合键Ctrl+Z撤销,这样能挽回99%以上的文件。当然,如果已经彻底删除,那么可以了解下本文整理的方法找回。(一)恢复电脑删除的文件主要有以下方法使用回收站恢复:大部分文件删除后都会暂存到点电脑......
  • 电脑怎么压缩文件?分享5个压缩软件【常见压缩方法】
    电脑怎么压缩文件?压缩文件是一种常见的操作,压缩文件可以减少文件的体积,便于存储和传输。本文介绍几种常见的压缩文件方法和电脑压缩工具。方法一:使用金舟压缩宝金舟压缩宝是一款功能全面,支持视频、GIF、图片、音频、文档压缩的国产软件,支持对PDF、PPT、Word、Excel进行压缩......
  • webpack 打包后复制文件
    写在前面项目中使用一些特定依赖的时候,会定义全局暴露的变量,不希望webpack将其压缩混淆,期望在打包后的成果物中保留原样。copy-webpack-plugin首先想到使用webpack插件copy-webpack-plugin,可以直接复制原始资源到输出目录中(非最优解!)安装依赖npminstallcopy-webpack-pl......
  • Apache Tomcat文件包含漏洞复现(详细教程)
    1.漏洞原理 Tomcat服务器是一个免费的开放源代码的Web应用服务器,其安装后会默认开启ajp连接器,方便与其他web服务器通过ajp协议进行交互。属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat和IIS等Web服务器一......
  • vim 文件中出现 ^H
      0Problem  在服务器上跑keras实验,然后用tee指令把实验结果保存在文本文件中。文本文件在本机linux下用vim打开文件时会出现^M,^H。用sublime打开也会出现奇怪的字符。 1Reason   linux下的换行符是\n,windows是\r\n,所以windows下的文件在linux下打开的话,\r......
  • .NET|--杂类|--json文件未释放, 就开始反序列化, 报错Newtonsoft.Json Unexpected cha
    前言一个看起来很莫名其妙的错误,json文件我打开看了下,格式也都正确,但是在vs中调试的时候,监视--查看--JSON可视化工具查看json字符串的话,会提示"字符串未设置为JSON格式","监视--查看--文本可视化工具",发现json格式确实看不出来任何问题.报错#报......