Sqli-labs搭建
##An introduction to SQL injection
what is SQL injection?
SQL Injection:就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。
其實我認為,只要是不按照網站設計者的本意執行的語句,其實都可以看做是註入語句,無論有沒有竊取到信息
what cause SQL injection?
1.開發中使用字符串聯結方式組合SQL指令,etc,後面刷sqlilabs的時候就懂了
2.鏈接數據庫時使用權限過大的賬戶(例如很多開發人員都喜歡用最高權限的系統管理員賬戶(如常見的root,sa等)連接數據庫)。
3.在數據庫中開放了不必要但權力過大的功能(例如在Microsoft SQL Server數據庫中的xp_cmdshell延伸預存程序或是OLE Automation預存程序等)
4.太過於信任用戶所輸入的數據,未限制輸入的字符數,以及未對用戶輸入的數據做潛在指令的檢查。
what will SQL ingjection cause?
1.數據表中的數據外泄,例如個人機密數據,賬戶數據,密碼等。
2.數據結構被探知,得以做進一步(例如SELECT * FROM sys.tables
)。
3.數據庫服務器被,系統管理員賬戶被竄改(例如ALTER LOGIN sa WITH PASSWORD=‘xxxxxx‘
4.獲取系統較高權限後,有可能得以在網頁加入惡意鏈接、惡意代碼以及XSS等。
經由數據庫服務器提供的操作系統支持,讓***得以修改或控制操作系統(例如xp_cmdshellnet stop iisadmin
可停止服務器的IIS服務),破壞硬盤數據,癱瘓全系統(例如xp_cmdshell FORMAT C:
)
以前收集的一些相關資料
http://blog.csdn.net/u012763794/article/category/6210965
sqli-labs環境搭建
MySQL註入天書(力薦)
視頻(youtube上的一位印度大叔的視頻)
OK,三個what應該能大概講清楚什麽是SQL註入,接下來我們就搭環境做實驗吧
##所用環境
-vmware虛擬機
-kali-linux-2017.3-vm-amd64下載地址下載後解壓縮,然後在vmware打開即可,用戶root,密碼為toor
####打開apache服務sudo service apache2 start
驗證 :
訪問 http://127.0.0.1,顯示頁面出來,即表示apache啟動成功。
####Mysql配置sudo service mysql start
mysql -uroot -p
密碼為空,能鏈接得上mysql就ok了
這裏我們還是設置一個密碼比較好,後面方便使用SET PASSWORD FOR ‘root‘@‘localhost‘ = PASSWORD(‘新的密碼‘);
####安裝sqli-labs
cd /var/www/html
git clone?[https://github.com/Audi-1/sqli-labs.git](https://github.com/Audi-1/sqli-labs.git)?sqli-labs
接下來,
cd sql-connections/
vi db-creds.inc
vim下,用i
鍵切換寫模式,寫完後按esc切換至命令模式,輸入:wq
保存即可
這個時候訪問http://127.0.0.1/sqli-labs/,即可看到平臺頁面了
點擊setup db,就能創建數據庫以及表和數據,接下來就是學習的過程了。
enjoy your tour!
然而新版的kali linux有點小問題,解決問題方法請看其他博文。如果不想繼續折騰的童鞋可以直接下載phpstudy使用php5.0版本即可。
Sqli-labs搭建