在資訊安全課程第二週及第三週的 Web 課程中我們嘗試許多對於網站的攻擊手法
但正所謂 知己知彼,百戰百勝
要攻擊別人的網頁,首先要知道網頁的架構
這裡透過架設簡單的網站,了解基本的網站架構,再未來做網頁攻擊能有更深層的理解
這裡採用 LAMP Server + phpMyAdmin
LAMP(Linux Apache MySQL PHP) 是Linux系統上的開源架站組合
因為架設簡單,所以作為練習應該十分足夠了
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
sudo apt install tasksel
sudo tasksel install lamp-server
到這邊,打開 http://127.0.0.1 應該能看到 Apache2 Ubuntu Default Page
接下來關於網頁的內容都會被放在 /var/www/html/ 裡面
我們可以先進去看看,會發現到 index.html
,正是我們剛剛看到的 Apache2 Ubuntu Default Page
info.php
記得要以 sudo 權限編輯,否則可能會因權限不足而無法新增檔案
<?php
phpinfo();
?>
新增完成後,打開到 http://127.0.0.1/info.php ,就可以看到 PHP 的相關資訊囉
sudo service apache2 start
sudo service apache2 stop
sudo service apache2 restart
sudo service apache2 status
sudo apt install phpmyadmin
因為我們是採用 apache2 的環境,這邊選擇 apache2
由於現在只能透過鍵盤操作,可以透過 tab
切換現在控制的區域
另外選取要使用 空白鍵
安裝過程中會要求我們輸入一組密碼,之後會用這組密碼登入 phpmyadmin ,使用者名稱預設為 phpmyadmin
前面我們有設定過 phpmyadmin 的密碼,但是權限並不是最高的,當前唯有 root 帳號擁有最多權限
然而 root 的初始值為空字串,登入系統不允許密碼無輸入,所以這邊要設定 root 的密碼
sudo mysql -u root mysql
現在我們進入到 MySQL 的 shell ,讓root帳號啟用mysql_native_password
插件,使其能夠擁有密碼,並且能使用密碼登入。
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
接下來重新載入特權表
FLUSH PRIVILEGES;
接下來設定 SQL root 密碼
sudo mysql_secure_installation
開啟 VALIDATE PASSWORD
插件,可以幫助我們檢查root密碼的安全性,避免被設置得太簡單而有安全上的疑慮。
輸入y,同意啟用 VALIDATE PASSWORD
插件。
再來要決定密碼的複雜度,這裡選擇 2
最後連續輸入兩次密碼就設定完成囉!
密碼複雜度決定為 2 ,所以密碼長度限制至少 8 碼,並且必須包含數字、英文大小寫字母和特殊字元
最後選項都輸入 y
即可
最後開啟 http://127.0.0.1/phpmyadmin
使用剛剛設定的 root 密碼登入即可
資訊安全補充講義