一、SQLi-Labs是什么?
SQLi-Labs是一個專業的SQL注入練習平台,適用於GET和POST場景,包含了以下注入:
1、基於錯誤的注入(Union Select)
字符串
整數
2、基於誤差的注入(雙查詢注入)
3、盲注入(01、基於Boolian數據類型注入, 02、基於時間注入)
4、更新查詢注入(update )
5、插入查詢注入(insert )
6、Header頭部注入(01、基於Referer注入, 02、基於UserAgent注入,03、基於cookie注入)
7、二階注入,也可叫二次注入
8、繞過WAF
繞過黑名單\過濾器\剝離\注釋剝離 OR&AND 剝離空格和注釋剝離 UNION和SELECT
隱瞞不匹配
9、繞過addslashes()函數
10、繞過mysql_real_escape_string()函數(在特殊條件下)
11、堆疊注入(堆查詢注入)
12、二級通道提取
以下操作建議在虛擬機中進行
二、SQLi-Labs 下載
下載地址:https://github.com/Audi-1/sqli-labs
三、SQLi-Labs 安裝
在安裝前,需要做一個准備工作,我們先去做一個PHP+Mysql的環境搭建。
1、下載、安裝、啟動phpstudy(www.phpstudy.net)。
phpStudy是一個PHP調試環境的程序集成包。恰好我們可以用到"PHP+Mysql+Apache"。
(注意:PHP版本一定要設置成PHP7以下,PHP7之后的mysql都改成啦mysqli-**啦,用PHP7以上的版本會報錯)
2、將下載的 SQLi-Labs.zip 解壓到phpstudy網站根目錄下。
例如:我這解壓后的路徑是“C:\phpStudy\WWW\sqli-labs”。
3、修改 db-creds.inc 里代碼如下:
例如:我的配置文件路徑是“C:\phpStudy\WWW\sqli-labs-master\sql-connections”。
因為phpstudy默認的mysql數據庫地址是“127.0.0.1 或 localhost",用戶名和密碼都是"root"。主要是修改’$dbpass‘為root,這里很重要,修改后自然是需要保存文件的,這個不用說相信大家也能知道。
4、瀏覽器打開“http://127.0.0.1/sqli-labs/”訪問首頁,並點擊“Setup/reset Database”以創建數據庫,創建表並填充數據。
5、現在瀏覽器打開 "http://127.0.0.1/sqli-labs/"向下翻,就可以看到有很多不同的注入點了,分為基本SQL注入、高級SQL注入、SQL堆疊注入、挑戰四個部份,總共約75個SQL注入漏洞。