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,一经查实,立即删除!

相关文章

JSON 字符串转换 —— Map、List

目录 转 Map maven 依赖 转换 转 List maven依赖 转换 转 Map JSON格式为 {key:value,key2:value2,......} maven 依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.28</version>…

三元运算符是什么?怎么用?

三元表达式又叫三元运算符&#xff0c;它必须要有三个操作数参与的运算 操作符号&#xff1a;&#xff1f; 表达式&#xff1a;在参与js程序时&#xff0c;都必须先计算出表达式结果&#xff0c;才能参与后续程序 语法&#xff1a;布尔表达式&#xff1f;true&#xff1a;fal…

Day34- 动态规划part02

一、不同路径 题目一&#xff1a;62. 不同路径 62. 不同路径 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”…

「QT」QString类的详细说明

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

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

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

idea结合git回到某个提交点

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

React16源码: React中commitAllHostEffects内部的commitPlacement的源码实现

commitPlacement 1 &#xff09;概述 在 react commit 阶段的 commitRoot 第二个while循环中调用了 commitAllHostEffects&#xff0c;在这个函数内部处理了把一个新的dom节点挂载到真正的dom树上面去的一个过程现在主要关注下其中调用的 commitPlacement 2 &#xff09;源码…

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

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

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

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

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

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;Nonsense—Sabrina Carpenter 0:50━━━━━━️&#x1f49f;──────── 2:43 &#x1f504; ◀️ ⏸ ▶️ …

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

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

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

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

pytest参数化

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

单元测试——题目十三

目录 题目要求: 定义类 测试类 题目要求: 根据输入的三条边值判断能组成何种三角形。三条边为变量a、b、c,范围为1≤边值≤10,不在范围内,提示“输入边值不在范围内”。不满足任意两边之和必须大于第三边,提示“输入边值不能组成三角形”。输入边值能组成三角形,只有…

Android读写文件,适配Q以上

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

什么是JSON

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

代码块(Java)

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

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

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

java金额数字转中文

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

CMake构建Qt工程

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