SQL注入實驗


實驗環境

1.運行Apache Server:鏡像已經安裝,只需運行命令%sudo service apache2 start
2.phpBB2 web應用:鏡像已經安裝,通過http://www.sqllabmysqlphpbb.com訪問,應用程序源代碼位於/var/www/SQL/SQLLabMysqlPhpbb/
3.配置DNS:上述的URL僅僅在鏡像內部可以訪問,原因是我們修改了/etc/hosts文件使http://www.sqllabmysqlphpbb.com指向本機IP 127.0.0.1。如果需要在其他機器訪問,應該修改hosts文件,使URL映射到phpBB2所在機器的IP。
4.找到/etc/php5/apache2/php.ini,找到magic_quotes_gpc = On這一行改為magic_quotes_gpc = Off
在之前的實驗中實驗環境已經搭配好了。

實驗任務

對SELECT語句的攻擊

此次任務,你需要通過訪問虛擬機內的URL:www.sqllabmysqlphpbb.com。在進入phpBB之前系統會要求你登陸。這個登陸認證由服務器上的login.php實現,需要用戶輸入用戶名和密碼來通過認證。
實現過程如下

對UPDATE語句的攻擊

當用戶想要在phpBB2中修改他們的資料時,可以點擊Profile,然后填寫表單修改。用戶發送修改請求后,會執行include/usercp_register.php中的一條UPDATE SQL語句。在這條語句中同樣有一個SQL注入漏洞,請用它來達到以下目標:在不知道其他人密碼的情況下修改其資料。例如:你以Alice登陸,你的目標就是修改Ted的資料信息,包括他的密碼。攻擊成功后你將可以登陸Ted的賬號
有一個在這個SQL語句中的SQL注入漏洞;

sudo vim /var/www/SQL/Collabtive/include/class.user.php

我們會發現​sql語句為:SELECT ID WHERE name=​'$user',並且company的位置是存在注入漏洞。

這樣我們就可以越權來修改其他用戶的信息及密碼;我們使用任意用戶,如: bob bob 進行登錄;

在編輯用戶的位置:user 填 ted用戶;

Company 處填:

', pass = '9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684' WHERE ID = 4 # '


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM