1. 程式人生 > >Sqli-labs搭建

Sqli-labs搭建

oot sta org sql註入 format src ati 限制 png

說好的從零開始,那就從最基礎的sql註入開始唄
##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‘

)。`其實數據庫服務器一旦被後,從sql註入的方面考慮我們一來能夠獲取數據庫裏面的信息,二來我們就獲取了一臺服務器,可以通過服務器的配置等去發現更多的內網設施,***到內網當中去`

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搭建