快速定位DB中列对应的表
有时候在脱数据量比较多比较杂乱数据库的时候,如何快速定位到自己想要的数据,如何定位自己想要的列在什么表的具体位置,这里提供一个解决方案,可能很多人都知道,知道的就略过,请轻喷 :)
mysql 数据库利用 information_schema; 来快速定位,前提版本支持
mysql> select table_schema,table_name,column_name from information_schema.column
s where column_name like '%password%' ;
这里快速定位到 password列的 位置
同样mssql 数据库可以利用Sysobjects 系统表
Select *
From sysobjects s
Where Exists(
Select *
From syscolumns
Where ID = s.ID and name like '%user%'
)
查询列明中包含user的表
ps:如有错误请及时指正 :)
mysql 数据库利用 information_schema; 来快速定位,前提版本支持
mysql> select table_schema,table_name,column_name from information_schema.column
s where column_name like '%password%' ;
这里快速定位到 password列的 位置
同样mssql 数据库可以利用Sysobjects 系统表
Select *
From sysobjects s
Where Exists(
Select *
From syscolumns
Where ID = s.ID and name like '%user%'
)
查询列明中包含user的表
ps:如有错误请及时指正 :)
评论30次
sql server 全部库:declare @i int,@id int,@dbname varchar(255),@sql varchar(255) set @i = 6 set @id=(select count(*) from master..sysdatabases)drop table #tcreate table #t ( dbname varchar(255), tablename varchar(255), columnname varchar(255))while (@i < @id) begin set @i = @i + 1; set @dbname = (select name from master..sysdatabases where dbid= @i) set @sql = 'use '+ @dbname+';insert select table_catalog,table_name,column_name from information_schema.columns where column_name like ''%pass%'' or column_name like ''%pwd%'' or column_name like ''%mail%''' exec (@sql) --print @sql endselect * from #tdrop table #tgo=-------------------------------------------sql server单个库:SELECT sysobjects.name as tablename, syscolumns.name as columnname FROM sysobjects JOIN syscolumns ON sysobjects.id = syscolumns.id WHERE sysobjects.xtype = 'U' AND (syscolumns.name LIKE '%pass%' or syscolumns.name LIKE '%pwd%' or syscolumns.name LIKE '%first%');
的确有人发过https://www.t00ls.com/thread-26864-1-1.html大同小异
楼主这个还是不错的,我一般直接看代码的源代码,看查询的是什么表,但是java就不会了
mysql注入的时候常常用
的确有人发过 https://www.t00ls.com/thread-26864-1-1.html 大同小异
嗯,这方法不错,提高效率,记得有人发过类似的,
where column_name like '%password%' ;为什么不加%?
这里只是 一个思路,有的列明也有可能叫 pwd 等等,这个根据平时自己的经验进行匹配,关于sql like 用法 可自行百度,语句是死人是活的。 :)
where column_name like '%password%' ;为什么不加%?
LZ为了更加准确吧,他在下面的user中就加了
where column_name like '%password%' ; 为什么不加%?