Pikachu靶场-SQL注入-数字型注入(post)过关步骤
通过看这关的名称,就知道它的参数是数字并且提交方式是 post 提交,那么就需要burp这种工具来抓包修改注入了
寻找注入点
使用burp抓包看到参数就一个id 注入点应该就是这里了,那个submit参数不用管这是个提交表单时自加入的参数(但切记不要删除掉submit参数)
然后将这个包发到 Repeater(重发器)模块中,进行下一步注入,手工闭合就一个个的去试,这关就没有闭合,直接注入 详情看动图:
数值相等正常显示,数值不相等不正常显示
判断有多少个字段数
这里就不用多说,直接 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
看到密码就去解密就行了,到这里就完成通关了!