pikachu靶场通关详解

SQL注入核心就是找注入点构造闭合,常见的闭合方式:

我们就以查询语句为例:select 字段 from 表名 where 条件 我们构造闭合基本上都是在条件处,分类也是按照条件所提供的句式来分类的我们以id=x,举例

  1. 数字型1:id=x,构造闭合 1 or 1=1 ==》 id=1 or 1=1
  2. 数字型2:id=(x)构造闭合 1) or 1=1 #==》 id=(1) or 1=1
  3. 字符型1:id=‘x构造闭合 1’or 1=1 # ==》 id=‘1’ or 1=1
  4. 字符型2:id=“x”构造闭合 1”or 1=1 # ==》 id=“1” or 1=1
  5. 字符型3:id=(‘x’) 构造闭合1’) or 1=1 #==》 id=(‘1’) or 1=1
  6. 字符型4:id=(“x”) 构造闭合1”) or 1=1 #==》 id=(“1”) or 1=1

还有一种搜索类型,源码类似与:select 字段 from 表名 where 字段 like ‘%x%’

      这中可以构造1%’ or 1=1 #

下列靶场演示因为类型已经确定就不再分析

Pikachu靶场:

数字型注入(POST)

 我们随便选个数字用BURP抓个包

 可以看到我们的传参在POST请求中,构造闭合id=1 or 1=1

 提交之后可以看到返回了所以用户的信息

字符型注入(GET)

 我们还是随便输入看返回值(1111)

 构造闭合1’ or 1=1#后也返回了所以用户信息

 搜索型注入

 构造闭合1%’ or 1=1 #也是直接返回了所有用户信息

 xx型注入

 对于不知道是什么类型的构造不和方式,一般情况下我们也看不到后端的代码,最好的办法就是尝试,将你知道的方法都进行闭合尝试看结果,这里面就不再演示尝试闭合的过程了,1’) or 1=1 #

 可以看到也是直接返回了所有信息

总结:

靶场的例子看似SQL注入非常简单,在真实情况下SQL注入是非常复杂和繁琐的,我们不知道类型,看不到后端源码,还有各种各样的SQL注入检测要绕过,所以要花大量的时间和精力去尝试所有的可能性,所以大家要牢记闭合的方法和技巧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值