衔接上文,进一步对SQL注入less-1进行禁止information的操作,上文连接如下:
SQL注入less-1-CSDN博客
一、对less-1进行编辑
增加一段代码,作用是禁止information字段

二、进行检查

可以看到代码已经生效,禁止用information字段
三、查询方法
我们目前直到的只有数据库名为security,表名和列名都不知道,想要查询到想要的数据,就必须要直到相应的表名及列名,那么该如何去获得它们呢?既然information被禁止了,那我们就去想办法替代它
1、替代information
替代information这个数据库,有官方自带的sys和mysql

在它们中有很多种方法查到表名,我只说明两种,一个是sys的 schema_auto_increment_columns
另一个是mysql的innodb_table_stats
sys.schema_auto_increment_columns查询
desc一下这个表可以发现有table_name、table_schema

那么我们就可以进项查询:
select table_name from schema_auto_increment_columns where table_schema = 'security';

这样就获取到了想要的users表名
mysql.innodb_table_stats的查询
select table_name from innodb_table_stats where database_name = 'security';
也可以找到如上图所示的界面,有时可能查不到,所以第一种方法更好一些
以上两种方法,都能查到表名,但却无法查到列名,这样依无法获取我们想要的数据
2、无列名注入
利用join-using爆列名
join联表查询
![]()
可以看出该命令已经爆出了users的第一个列名,然后再使用using排除该列名继续查询,又可得出下一个列名,以此类推
![]()
通过此方法我们可以获得想要的列名后,那么也就可以拿到想要的数据了







![[渗透利器]某大佬公开自用红队渗透工具](https://img-blog.csdnimg.cn/img_convert/14ef6e451886efc67e2988a0e73c7834.png)

![[ 项目 ] tcmalloc简化版—高并发内存池](https://img-blog.csdnimg.cn/direct/0ad5d1a5f91f44b2b227ddef3abd3f95.png)









