sqli-labs簡介
對于想要學習web安全的同學 , 這是一個非常好的學習有關SQL注入的學習資料
類似于闖關的模式 , 每一個關卡都有非常多的思路和利用方式
這些關卡包含了各種常見的SQL注入姿勢 :
- 明注
- 盲注
- 基于bool
- 基于時間
- 基于報錯
環(huán)境要求 :
php
mysql
web服務器(Aapche或者其他)
注 :
這里筆者使用操作系統(tǒng)是ubuntu16.04 , 如果大家使用的操作系統(tǒng)是Widnows的話
區(qū)別只是在如何去安裝和配置php/mysql/apache服務器
這些百度/Google上已經(jīng)有很多很詳細的教程了 , 就不再贅述
大家可以直接使用例如xampp
/wamp
這樣的服務器套件
部署流程 :
- 搭建lamp環(huán)境
- 從github上克隆最新的sqli-labs倉庫
- 將克隆的倉庫移動到apache的web目錄下
- 配置php文件(數(shù)據(jù)庫密碼)
- 瀏覽器訪問啟動頁面進行安裝
部署教程 :
- 搭建lamp環(huán)境 :
sudo apt-get install apache2
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5
sudo apt-get install mysql-server
注 : 如果你的ubuntu是16.* , 在安裝php的時候可能會出現(xiàn)找不到php5的情況 , 這個是因為ubuntu16以后對php5不再進行支持 , 如果你使用
apt-get install php
的話 , 安裝的默認為php7 , 但是這個問題是可以通過添加php5的第三方源來解決的 , 可以使用下面這條幾條命令 :
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
- 啟動apache和mysql
sudo service apache2 start
sudo service mysql start
- 測試php是否安裝成功 , 使用php探針
在web目錄下編寫php代碼保存為phpinfo.php
<?php
phpinfo();
?>
訪問 http://127.0.0.1/phpinfo.php
, 如果出現(xiàn)php的基本信息則說明php已經(jīng)安裝成功 , 這個時候就可以把這個探針文件刪除
- 測試php連接數(shù)據(jù)庫是否成功
在web目錄下編寫php代碼保存為 : database.php
<?php
$con = mysql_connect("localhost","root","password");
// 這里填寫數(shù)據(jù)庫的地址(由于是本機因此localhost或者127.0.0.1都可以)/用戶名/密碼
if ($con) {
echo "OK!";
}else {
die('Could not connect: ' . mysql_error());
}
?>
然后訪問http://127.0.0.1/database.php
, 如果數(shù)據(jù)庫配置正確的話 , 頁面會顯示OK!
, 同理也可以刪除這個文件
否則會顯示錯誤信息 , 可以根據(jù)這個錯誤信息去尋找解決方案
- 安裝git
apt-get install git
- 從github上克隆
sqli-labs
倉庫
git clone https://github.com/Audi-1/sqli-labs.git
如果只是為了練習sql注入的話 , 這一步還有上面的安裝git的那一步其實可以省略 , 因為github提供了一個直接下載倉庫源碼壓縮包的功能 , 下載解壓之后也是相同的效果
- 進入sqli-labs目錄, 修改數(shù)據(jù)庫配置文件 :
sqli-labs/sql-connections/db-creds.inc
<?php
//give your mysql connection username n password
$dbuser ='root';
$dbpass ='';
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";
?>
- 復制這個目錄到apache的web目錄(默認為 :
/var/www/html/
)
sudo cp -r ./sqli-labs /var/www/html/
- 然后在瀏覽器中訪問 :
http://127.0.0.1/
, 就可以看到啟動的頁面了 - 點擊頁面中的
Setup/reset Database for labs
鏈接 , 讓其進行安裝(這個過程其實就是創(chuàng)建必要的數(shù)據(jù)庫和表 , 并插入一些測試數(shù)據(jù))
參考資料 :
- ubuntu 搭建lamp
- 如何使用git
- 如何使用github
- 如何安裝配置apache服務器
- 如何安裝php
- 如何安裝mysqle