【SQL注入漏洞-02】union注入(联合查询)靶场实战

联合查询(union注入)

由于数据库中的内容会回显到页面中来,联合查询适合于有显示位的注入,即页面某个位置会根据我们输入的数据的变化而变化所以我们可以采用联合查询进行注入。

联合查询就是SQL语法中的union select 语句。该语句会同属执行两条select语句,生成两张虚拟表,然后把查询到的结果进行拼接。

select ......union select .......

由于虚拟表是二维结构,联合查询会“纵向”拼接两张虚拟的表。

联合查询可以 实现跨库跨表查询

必要条件:

  1. 两张虚拟的表(union前后两个select的结果集)具有相同的列数

  1. 虚拟表对应的列的数据类型相同

当数据类型为字符时,可以使用编码将字符转化为数字类型

漏洞靶场实战环境:

为了更清楚的看清sql语句的执行与变化过程,我们先修改源代码,打开Less-1/index.php,在源码中添加如下语句将执行的sql语句打印出来,方便我们查看

echo '执行的sql语句为:'.$sql;
echo '<br/>';
echo '<br/>';

sqli-labs-less-1:首先,我们需要输入一个id值

?id=1

?id=2

我们观察页面会发现,当我们输入id=1和id=2时,页面中的name和password的值是不一样的,说明我们输入的数据和数据库有交互并且将数据显示到页面上了

注入点判断

首先开始判断是否存在注入,输入?id=1',页面发生报错,说明后端未对前端发送的数据没有很好的过滤,产生了sql注入漏洞

然后继续判断

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值