SQL堆叠注入详解

今天继续给大家介绍Linux运维相关知识,本文主要内容是SQL堆叠注入。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、SQL 堆叠注入简介

所谓SQL堆叠注入,指的是在存在SQL语句交互的场景下,通过分号之间的间隔,使得能够一次性得执行多条SQL语句。
MySQL数据库支持使用分号作为间隔,一次性的执行多条SQL语句,执行结果如下所示:
在这里插入图片描述
SQL堆叠注入通常可以帮助我们向站点内部的数据库中插入或者删除数据,只需要在正常的而查询SQL语句后面拼接insert或者delete语句即可。需要注意的是我们在进行SQL堆叠注入的过程中,一定要注意SQL语句的闭合。
此外,SQL堆叠注入也有其局限性,并不是所有的数据库都支持SQL堆叠注入,即使是支持堆叠注入的数据库,也存在API或者引擎方面的限制。

二、SQL堆叠注入实战

下面,我们就进行SQL堆叠注入的实战。
我们使用sqli_lab靶场的38关,构造payload如下所示:

http://127.0.0.1/sqli/Less-38/?id=1';insert into users values(17,%'admin','admin')--+

该payload执行结果如下所示:
在这里插入图片描述
在这里插入图片描述
以上可以看出,我们的SQL堆叠注入实验成功,向数据库内插入了数据!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/126212416