【文件上传与包含漏洞综合利用】DVWA-文件上传-难度:High

实验过程和结果

步骤1:尝试直接上传php木马,失败,截图如下:

步骤2:将php木马后缀改为jpeg尝试上传,依旧失败,截图如下:

步骤3:将真实的jpeg图片1.jpeg上传,成功,截图如下:

步骤4:将真实的jpeg图片修改后缀为png上传,成功,截图如下:

步骤5:将真实jpeg图片后缀名改为php上传,失败,截图如下:

可以推测,检查是否为JPEG/PNG图,是依靠文件的后缀、文件头字段信息来进行双重检测的。为此,要尝试将木马明文写在真实JPEG/PNG图片中。

步骤6:通过cmd的copy指令,将php代码隐写到jpeg文件中,截图如下:

步骤7:010editor查看隐写情况,确实已经附在了jpeg文件尾部,截图如下:

步骤8:上传木马隐写入的jpeg文件,成功,截图如下:

步骤9:上传的是jpeg文件,不能直接执行,所以需要利用文件包含漏洞;这里新上传一个phpinfo,用于检验是否成功利用,然后再尝试包含木马。截图如下:

然而直接包含显示文件不存在

步骤10:查看High等级文件包含漏洞防护,截图如下:

发现必须以file打头或者为include.php文件,为此可以通过file://伪协议实现调用文件

步骤11:确认路径,首先随便输入一传路径,回显出完整路径截图如下:

得到几条路径:

D:\phpStudy_64\phpstudy_pro\WWW\DVWA-master\vulnerabilities\fi\index.php

http://127.0.0.1/DVWA-master/vulnerabilities/fi/?page=include.php

再根据文件上传路径时的信:

http://127.0.0.1/DVWA-master/vulnerabilities/upload/#

../../hackable/uploads/1.jpeg succesfully uploaded!

可得文件上传所在目录和文件包含所在目录的位置关系

步骤12:通过file伪协议包含上传的图片马,截图如下:

http://127.0.0.1/DVWA-master/vulnerabilities/fi/?page=file:///D:\phpStudy_64\phpstudy_pro\WWW\DVWA-master\hackable\uploads\jpegphpinfo.jpeg

虽然报语法错,但确实包含了——然而报错位置是图片原先的部分——这意味着拼接在最后的木马还是首先会遇到上述报错。

步骤13:寻找新的jpeg文件,尝试上传,截图如下:

 

没有错。

步骤14:接下来如法炮制,上传webshell木马,截图如下:

看起来没有问题,接下来用蚁剑连接

步骤15:蚁剑连接,设置cookie,截图如下:

步骤16:连接getshell

二、实验收获

通过本实验,我学会了文件上传漏洞和文件包含漏洞的利用方式。一方面,(任意)文件上传漏洞指的是上传非预期的文件格式(如php文件)到目标服务器,而通过其他方式(直连、包含等)进行执行来进一步利用。另一方面,利用文件包含漏洞,能够把静态文件中的php代码通过回显转发的方式进行包含执行。

过程中遇到很多问题:1.high的包含漏洞保护措施没有关注 2.一些jpeg/png图片被解析时,自身的一些字符会被错误识别为php代码,而往往会导致语法错误,通过copy到最后的隐写代码将不被执行,本例中我重新选了一个图片即可解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业微信hook接口协议,ipad协议http,外部联系人图片视频文件下载

外部联系人文件下载 参数名必选类型说明file_id是StringCDNkeyopenim_cdn_authkey是String认证keyaes_key是Stringaes_keysize是int文件大小 请求示例 {"url": "https://imunion.weixin.qq.com/cgi-bin/mmae-bin/tpdownloadmedia?paramv1_e80c6c6c0cxxxx3544d9…

智慧火电厂合集 | 数字孪生助推能源革命

火电厂在发电领域中扮演着举足轻重的角色。主要通过燃烧如煤、石油或天然气等化石燃料来产生电力。尽管随着可再生能源技术的进步导致其比重有所减少,但直至 2023 年,火电依然是全球主要的电力来源之一。 通过图扑软件自主研发 HT for Web 产品&#xf…

[Algorithm][前缀和][和为K的子数组][和可被K整除的子数组][连续数组][矩阵区域和]详细讲解

目录 1.和为 K 的子数组1.题目链接2.算法原理详解3.代码实现 2.和可被 K 整除的子数组1.题目链接2.算法原理详解3.代码实现 3.连续数组1.题目链接2.算法原理详解3.代码实现 4.矩阵区域和1.题目链接2.算法原理详解3.代码实现 1.和为 K 的子数组 1.题目链接 和为 K 的子数组 2.…

牛客 题解

文章目录 day4_17**BC149** **简写单词**思路:模拟代码: dd爱框框思路:滑动窗口(同向双指针)代码: 除2!思路:模拟贪心堆代码: day4_17 BC149 简写单词 https://www.now…

如何在 Ubuntu 14.04 上配置 StatsD 以收集 Graphite 的任意统计数据

介绍 Graphite 是一个图形库,允许您以灵活和强大的方式可视化不同类型的数据。它通过其他统计收集应用程序发送给它的数据进行图形化。 在之前的指南中,我们讨论了如何安装和配置 Graphite 本身,以及如何安装和配置 collectd 以编译系统和服…

【MATLAB源码-第197期】基于matlab的粒子群算法(PSO)结合人工蜂群算法(ABC)无人机联合卡车配送仿真。

操作环境: MATLAB 2022a 1、算法描述 基于粒子群优化(PSO)算法的无人机联合卡车配送系统是一个高效的物流配送策略,旨在优化配送过程中的成本、时间和资源利用率。该系统融合了无人机和卡车的配送能力,通过智能算法…

Tiny11作者开源:利用微软官方镜像制作独属于你的Tiny11镜像

微软对Windows 11的最低硬件要求包括至少4GB的内存、双核处理器和64GB的SSD存储。然而,这些基本要求仅仅能保证用户启动和运行系统,而非流畅使用 为了提升体验,不少用户选择通过精简系统来减轻硬件负担,我们熟知的Tiny11便是其中…

【简单介绍下机器学习之sklearn基础】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

【机器学习】深度神经网络(DNN):原理、应用与代码实践

深度神经网络(DNN):原理、应用与代码实践 一、深度神经网络(DNN)的基本原理二、DNN的优缺点分析三、DNN的代码实践四、总结与展望 在人工智能与机器学习的浪潮中,深度神经网络(Deep Neural Netw…

演示在一台Windows主机上运行两个Mysql服务器(端口号3306 和 3307),安装步骤详解

目录 在一台Windows主机上运行两个Mysql服务器,安装步骤详解因为演示需要两个 MySQL 服务器终端,我只有一个 3306 端口号的 MySQL 服务器,所以需要再创建一个 3307 的。创建一个3307端口号的MySQL服务器1、复制 mysql 的安装目录2、修改my.in…

安全开发实战(4)--whois与子域名爆破

目录 安全开发专栏 前言 whois查询 子域名 子域名爆破 1.4 whois查询 方式1: 方式2: 1.5 子域名查询 方式1:子域名爆破 1.5.1 One 1.5.2 Two 方式2:其他方式 总结 安全开发专栏 安全开发实战​​http://t.csdnimg.cn/25N7H 前言 whois查询 Whois 查询是一种用…

MCU功耗测量

功耗测量 一、相关概念二、功耗的需求三、测量仪器仪表测量连接SMU功能SMU性能指标 四、功耗测量注意点板子部分存在功耗MCU方面,可能存在干扰项仪器仪表方面 一、相关概念 静态功耗和动态功耗:动态功耗为运行功耗,功耗测量注重每MHz下的功耗…

DevOps文化对团队有何影响?

DevOps文化对团队有很多积极影响,包括提高团队效率、促进沟通与协作、提高产品质量和推动创新等方面。然而,实施DevOps文化也需要一定的挑战,如改变团队成员的观念、引入新的工具和流程等。因此,团队需要充分了解DevOps文化的价值…

【重磅开源】MapleBoot项目开发规范

基于SpringBootVue3开发的轻量级快速开发脚手架 🍁项目简介 一个通用的前、后端项目模板 一个快速开发管理系统的项目 一个可以生成SpringBootVue代码的项目 一个持续迭代的开源项目 一个程序员的心血合集 度过严寒,终有春日&#xff…

计算机网络-IS-IS基础配置实验

前面我们了解了IS-IS的一些基础理论,从建立邻接、链路状态数据库同步以及路由计算,现在开始学习下配置操作。 一、IS-IS配置 网络拓扑图: 拓扑图 IS-IS有Level级别的区分,Level-1可以是性能较低的设备只维护区域内的LSDB&#xff…

《R语言与农业数据统计分析及建模》学习——描述性统计分析

一、描述性统计概念和方法 1、概念和作用 描述性统计是对数据进行概括和描述,便于理解数据的特征、趋势和分布,帮助我们了解数据基本情况和总体特征,为后续更深入的数据分析和建模提供基础。 2、基础方法 (1)中心趋…

npm、yarn与pnpm详解

🔥 npm、yarn与pnpm详解 🔖 一、npm 🔍 简介: npm是随Node.js一起安装的官方包管理工具,它为开发者搭建了一个庞大的资源库,允许他们在这个平台上搜索、安装和管理项目所必需的各种代码库或模块。 &#…

CountDownLatch源码分析

1.创建 CountDownLatch latch new CountDownLatch(5); 2.latch.countDown(); 将count执行减一操作,当count为0时,等待中的线程会被唤醒 SIGNAL (值为-1): 表示后继节点需要被唤醒。当一个节点释放锁的时候,会唤醒它的后继节点…

openjudge_2.5基本算法之搜索_1998:寻找Nemo

题目 1998:寻找Nemo 总时间限制: 2000ms 内存限制: 65536kB 描述 Nemo 是个顽皮的小孩. 一天他一个人跑到深海里去玩. 可是他迷路了. 于是他向父亲 Marlin 发送了求救信号.通过查找地图 Marlin 发现那片海像一个有着墙和门的迷宫.所有的墙都是平行于 X 轴或 Y 轴的. 墙的厚度可…

2010-2023年“国家级大数据综合试验区”试点城市DID匹配数据

2010-2023年国家级大数据综合试验区试点城市DID匹配数据 1、时间:2010-2023年 2、来源:国家发展改革委、工业和信息化部、ZY网信办发函批复的试验区 3、指标:行政区划代码、年份、所属省份、地区、国家级大数据综合试验区、最早设立年份 …