新聞中心
關(guān)于SQLancer
SQLancer,全稱為Synthesized Query Lancer,該工具是一款針對數(shù)據(jù)庫管理系統(tǒng)DBMS的自動化安全測試工具。該工具可以幫助廣大研究人員輕松識別應(yīng)用程序?qū)崿F(xiàn)中的邏輯漏洞。我們這里所指的邏輯漏洞,即能夠?qū)е翫BMS獲取錯誤結(jié)果集的安全漏洞(比如說忽略數(shù)據(jù)記錄等等)。

成都創(chuàng)新互聯(lián)專注于彭州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供彭州營銷型網(wǎng)站建設(shè),彭州網(wǎng)站制作、彭州網(wǎng)頁設(shè)計、彭州網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造彭州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供彭州網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
SQLancer能夠在下面兩個階段進行操作:
- 數(shù)據(jù)庫生成:此階段的目標是創(chuàng)建一個填充有數(shù)據(jù)的數(shù)據(jù)庫,并向DBMS輸入測試用例以嘗試識別和檢測不一致數(shù)據(jù)庫狀態(tài)。隨后,該工具將會創(chuàng)建一個隨機表,并隨機選擇SQL語句來生成、修改和刪除數(shù)據(jù)。除此之外,該工具還會使用其他類型的語句(如創(chuàng)建索引和視圖以及設(shè)置DBMS特定選項的語句)來測試目標DBMS;
- 測試:此階段的目標是針對生成的數(shù)據(jù)庫檢測邏輯錯誤。
工具要求
- Java 8或以上版本;
- Maven(Ubuntu安裝:“sudo apt install maven”);
- 需要測試的DBMS(項目中帶有SQLite,而SQLite是一款嵌入式DBMS)。
工具安裝&使用
廣大研究人員可以使用下列命令將該項目源碼克隆至本地,然后創(chuàng)建一個JAR,并開啟SQLancer來測試SQLite,此過程使用的是非優(yōu)化引用引擎結(jié)構(gòu)(NoREC):
- git clone https://github.com/sqlancer/sqlancer
- cd sqlancer
- mvn package -DskipTests
- cd target
- java -jar sqlancer-*.jar --num-threads 4 sqlite3 --oracle NoREC
執(zhí)行之后,工具每5秒會打印一次處理信息。SQLancer可能會找出SQLite中的漏洞,在報告漏洞信息之前,請確保處理信息仍在打印。我們可以按下CTRL + C組合鍵手動停止SQLancer的運行。如果SQLancer沒有找出漏洞,那么它將會一直運行下去。我們可以使用“--num-tries”來控制SQLancer在找到多少漏洞之后停止運行。除此之外,我們也可以使用“--timeout-seconds”來指定SQLancer允許執(zhí)行的最大超時。
如果SQLancer在沒有參數(shù)的情況下執(zhí)行,工具則會輸出所有可用的選項和命令。
支持的DBMS
由于各種DBMS使用的SQL形式差異很大,因此需要針對不同的DBMS采用單獨的實現(xiàn)方式:
- SQLite
- MySQL
- PostgreSQL
- Citus
- MariaDB
- CockroachDB
- TiDB
- DuckDB
- ClickHouse
項目地址
SQLancer:【GitHub傳送門】
當前題目:如何使用SQLancer檢測DBMS中的邏輯漏洞
文章位置:http://www.5511xx.com/article/cdiisse.html


咨詢
建站咨詢
