1.實驗內容及要求
(1)Web前端HTML
能正常安裝、啟停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。
(2)Web前端javascipt
理解JavaScript的基本功能,理解DOM。
在(1)的基礎上,編寫JavaScript驗證使用者名稱、密碼的規則。在使用者點選登陸按鈕後回顯“歡迎+輸入的使用者名稱”
嘗試注入攻擊:利用回顯使用者名稱注入HTML及JavaScript。
(3)Web後端:MySQL基礎:正常安裝、啟動MySQL,建庫、建立使用者、修改密碼、建表
(4)Web後端:編寫PHP網頁,連線資料庫,進行使用者認證
(5)最簡單的SQL隱碼攻擊,XSS攻擊測試
(6)安裝DVWA或WebGoat平臺,並完成SQL隱碼攻擊、XSS、CSRF攻擊。
2.實驗過程
2.1 Web前端HTML
2.1.1 正常安裝、啟停Apache
使用service apache2 start命令開啟Apache服務。此時在瀏覽器輸入 127.0.0.1,如果可以開啟Apache的預設網頁,則表示開啟成功
檢視Apache狀態,顯示開啟狀態
2.1.3 編寫一個含表單的HTML
先在記事本寫好含表單的登陸頁面html程式碼,我的如下:
cd /var/www/html 進入html的資料夾
touch 20222328.html 建立html檔案
vi 20222328.html 進入編輯頁面,將html程式碼貼上進去
service apache2 start 開啟Apache服務
使用瀏覽器開啟製作的網頁,在瀏覽器輸入localhost/20222328.html
可跳轉到自己的登陸介面
提交表單
2.2.2 編寫JavaScript驗證使用者名稱、密碼的規則。在使用者點選登陸按鈕後回顯“歡迎+輸入的使用者名稱”
在login.html加上一段JavaScript正規表示式,來判斷使用者是否填寫了使用者名稱和密碼。規則為:使用者名稱須為6-12位字母/數字/中文,密碼為1-20位純數字。程式碼如下:
使用瀏覽器開啟製作的網頁,在瀏覽器輸入localhost/20222328.html
編寫一個在使用者點選登陸按鈕後回顯“歡迎+輸入的使用者名稱”的PHP頁面
輸入正確格式的使用者名稱和密碼後點選登入,成功跳轉到歡迎介面
2.2.3 嘗試注入攻擊:利用回顯使用者名稱注入HTML及JavaScript
進入20222301login.html編輯頁面,先把最大字數限制改成99
嘗試XSS攻擊(跨站指令碼攻擊):
XSS即跨站指令碼攻擊,原理是惡意攻擊者往 Web 頁面裡插入惡意可執行網頁尾本程式碼,當使用者瀏覽該頁之時,嵌入其中 Web 裡面的指令碼程式碼會被執行,從而可以達到攻擊者盜取使用者資訊或其他侵犯使用者安全隱私的目的。這些惡意網頁程式通常是JavaScript。
準備一段指令碼,注入在輸入框中,隨著登入資訊一起提交表單
http://www.xxx.com/?id=" /><br x="
直接以該指令碼作為使用者名稱
點選提交,回顯惡意指令碼內容,攻擊成功!這段指令碼已經成功嵌入到頁面當中。當受害瀏覽器訪問這個頁面的時候,這段指令碼也將被認為是頁面的一部分,從而得到執行,即彈出對話方塊顯示受害瀏覽器的Cookie資訊。
2.3 Web後端:MySQL基礎,正常安裝、啟動MySQL,修改密碼、建立使用者
kali虛擬機器自帶mysql,輸入systemctl start mysql開啟MySQL服務
輸入mysql -u root -p使用root許可權進入,需要輸入密碼(就是你登入的密碼)
2.4 Web後端:編寫PHP網頁,連線資料庫,進行使用者認證
保持資料庫和apache開啟狀態,在火狐瀏覽器輸入html本地網址:http://localhost/2328.html
輸入正確的賬號密碼: