dvwa靶场文件上传high

dvwa upload high

  • 第一次尝试(查看是否是前端验证)
  • 第二次尝试
  • 我的上传思路
  • 最后发现是图片码上传
    • 修改配置文件
      • 尝试蚁🗡连接
      • 菜刀连接

第一次尝试(查看是否是前端验证)

因为我是初学者,所以无法从代码审计角度分析,这里感觉像撞运气,不断尝试
直接抓到包了,为后端验证
在这里插入图片描述从这里可以看出为白名单。在这里插入图片描述

第二次尝试

单纯的将php文件后缀改成png,尝试上传抓包,然后改后缀为php,发现不能上传,第三关显然难度不会像第二关一样简单。

我的上传思路

1:尝试传输错误的后缀文件看能否抓到包,判断前端后端
是前端:四种方法,替换js文件,剔除js审计,关闭网站的JavaScript,上传符合要求的后缀文件再抓包修改为与之匹配的脚本后缀。
2:空格绕过
3:.绕过(点绕过)
4:. .绕过(点空点绕过)
5:双写文件后缀名pphphp其中p(php)hp括号里被剔除
6:URL的%00截断(前提GET请求从URL中获得路径如果抓包代码第一行有save_path可以试试此方法)
7:代码里的0x00截断
访问截断时候,要将路径%00或0x00后面的删去访问

8:user.ini绕过(upload第五关)
9:图片码
(1):php文本单纯改后缀不是真图片
(2):字节标识符绕过(修改图片头部字节标识符)(不是真图片)
(3):利用cmd copy语句合成图片码(真图片)
(4):二次渲染(真图片gif更容易实现)(法(1):gif二次渲染会保留一部分相同的内容,只需要在此内容中写上一句话木马防止改变)
网站将上传的图片进行二次编码,会改变我的一句话木马导致解析错误。
方法(2):将图片上传,将渲染后的图片插入一句话木马
10:
最后也是最不希望遇到的:
(1):.htaccess绕过,还有版本的例如php不行改php5的这种
(2):条件竞争不停访问与服务器竞争线程,让服务器删不过来,就有机会上传成功。
补充:
.users.ini与.htaccesss当遇到会更改文件名的靶场是行不通的
如何判断黑名单绕过还是白名单绕过:将后缀改成类似于这样一定不存在的文件后缀sdoisafasfasfaw黑名单里一定没它一定可以上传成功,白名单里一定没有它一定不成功
Post请求比get严格
文件包含漏洞:文件包含当成一个整体,这个整体的漏洞,而不是这个文件包含漏洞。

最后发现是图片码上传

合成图片码的方法此链接的最下面的部分
https://blog.csdn.net/W286734/article/details/135826456
上传图片码
在这里插入图片描述尝试连接这里因为图片为png格式无法解析但是有的图片码是可以直接解析。在这里插入图片描述此时我们可以利用dvwa的文件包含low那一关尝试,因为在文件包含漏洞中会把不是php格式的文件也按照php文件解析。

修改配置文件

当自己靶场的文件包含漏洞无法正常运行时
在这里插入图片描述1为本地文件包含,2为远程文件包含在这里插入图片描述
配置好后就利用靶场自带的文件包含漏洞进行访问
在这里插入图片描述图片上面有一行小字可以看出解析成功

尝试蚁🗡连接

在这里插入图片描述
无法连接但,但是我们操作没有什么问题,可以尝试别的工具,这里我选择菜刀

菜刀连接

这个工具是可以成功的。
在这里插入图片描述

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

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

相关文章

「QT」QString类的详细说明

✨博客主页何曾参静谧的博客📌文章专栏「QT」QT5程序设计📚全部专栏「VS」Visual Studio「C/C++」C/C++程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「

Python实现自定义函数的5种常见形式分析

Python自定义函数是以def开头,空一格之后是这个自定义函数的名称,名称后面是一对括号,括号里放置形参列表,结束括号后面一定要有冒号“:”,函数的执行体程序代码也要有适当的缩排。Python自定义函数的通用语…

idea结合git回到某个提交点

概述:在IntelliJ IDEA中,你可以使用Git工具来回到某个提交点。 第一步:打开idea,打开git的管理面 可以看到,由于我的大改动,导致现在出问题了,所以我准备回退到某一版本。 点击左下角的git 点…

软考15-上午题-编译程序基本原理

一、编译过程【回顾】 中间代码生成、代码优化,可省略。 二、正规式 词法分析的工具。 ab*:这个*针对的是b,即b可以出现0次或多次。 2-1、真题 真题1: 真题2: 真题3: 真题4: 真题5&#xff1a…

Python网络爬虫实战——实验7:Python使用apscheduler定时采集任务实战

【实验内容】 本实验主要介绍在Django框架中使用APScheduler第三方库实现对数据的定时采集。 【实验目的】 1、掌握APScheduler库的使用; 2、学习在Django中实现多个定时任务调度; 【实验步骤】 步骤1 Apscheduler简介与特点 步骤2 Apscheduler基本…

Linux进程间通信(IPC)机制之一:管道(Pipes)详解

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:Nonsense—Sabrina Carpenter 0:50━━━━━━️💟──────── 2:43 🔄 ◀️ ⏸ ▶️ …

Scrapy IP()类 编程指南(基础)

Scrapy IP()类 编程指南(基础) IP简介 工欲善其事,必先利其器,在聊Scapy IP类时,我们先要了解IP是什么。 IP指的是Internet Protocol(互联网协议)的数据包。Internet Protocol是互联网上用于在…

SpringBoot系列之JPA实现按年月日查询

SpringBoot系列之JPA实现按年月日查询 通过例子的方式介绍Springboot集成Spring Data JPA的方法,进行实验,要先创建一个Initializer工程,如图: 选择,需要的jdk版本,maven项目 选择需要的maven配置&#x…

pytest参数化

一、pytest.mark.parametrize介绍 pytest.mark.parametrize(argnames, argvalues, indirectFalse, idsNone)参数说明: argnames: 一个或多个参数名,用逗号分隔的字符串,如"arg1,arg2,arg3",参数名与用例入参数一致。 a…

Android读写文件,适配Q以上

Android Q升级了文件系统,访问文件不仅仅是说动态权限了,有各种限制。权限什么的就不赘述了,下面介绍一下在10以上的系统中访问文件。 首先是打开文件管理器 /*** 打开文件管理器 存储卡和外接U盘都可以访问*/public void openFileManager()…

什么是JSON

什么是JSON JSON:JavaScript Object Notation 【JavaScript 对象表示法】 JSON 是存储和交换文本信息的语法。类似 XML。 JSON采用完全独立于任何程序语言的文本格式,使JSON成为理想的数据交换语言S 为什么需要JSON 提到JSON,我们就应该和…

代码块(Java)

代码块是类的成分之一,分为静态代码块和实例代码块 1.静态代码块:static{} 类加载时会自动执行一次,可以完成类的初始化,比如初始化赋值 2.实例代码块:{} 每次创建对象时,执行实例代码块,会…

探索圆的面积计算器:神秘数学背后的无限魅力

导语:自古以来,圆形在人类文明中扮演着重要角色。从建筑、工程设计到日常生活,圆的面积都是一个不可或缺的元素。本文将带您深入了解圆的面积,从起源、应用场景到计算方法,让您领略数学的无穷魅力。 一、圆的面积是什…

java金额数字转中文

java金额数字转中文 运行结果: 会进行金额的四舍五入。 工具类源代码: /*** 金额数字转为中文*/ public class NumberToCN {/*** 汉语中数字大写*/private static final String[] CN_UPPER_NUMBER {"零", "壹", "贰",…

CMake构建Qt工程

在https://blog.csdn.net/fengbingchun/category_12172633.html 上有直接通过vs2022建的Console、Widgets、Quick三个工程,这里增加通过CMake构建。 build.sh内容如下: #! /bin/bashif [ $# ! 1 ]; thenecho "Error: requires one parameter: Rele…

基于springboot网上书城交易平台源码和论文

在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括网上书城管理系统的网络应用,在国外网上书城管理系统已经是很普遍的方式,不过国内的书城管理系统可能还处于起步阶段。网上书城管理系统具有网上书城信…

Spring扩展点在微服务应用(待完善)

ApplicationListener扩展 nacos注册服务, 监听容器发布事件 # 容器发布事件 AbstractAutoServiceRegistration#onApplicationEvent # 接收事件吗,注册服务到nacos NacosServiceRegistry#register Lifecycle扩展 #订阅服务实例更改的事件 NamingService#…

【开源】基于JAVA的学生综合素质评价系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生功能2.2 教师功能2.3 教务处功能 三、系统展示四、核心代码4.1 查询我的学科竞赛4.2 保存单个问卷4.3 根据类型查询学生问卷4.4 填写语数外评价4.5 填写品德自评问卷分 五、免责说明 一、摘要 1.1 项目介绍 基于J…

【数据结构】栈、队列、数组、列表

数据结构是什么? 数据结构是计算机存储、组织数据的方式 是指数据相互之间是以什么方式排列在一起的。 数据结构是为了更加方便的管理和使用数据,需要结合具体的业务场景来进行选择。一般情况下,精心选择的数据结构可以带来更高的运行或者…

MongoDB日期存储与查询、@Query、嵌套字段查询实战总结

缘由 MongoDB数据库如下: 如上截图,使用MongoDB客户端工具DataGrip,在filter过滤框输入{ profiles.alias: 逆天子, profiles.channel: },即可实现昵称和渠道多个嵌套字段过滤查询。 现有业务需求:用Java代码来查询…