20165214 2018-2019-2 《網絡對抗技術》Exp8 Web基礎 Week11—12
《網絡對抗技術》Exp8 Web基礎 Week11—12
一、實驗目標與內容
1.實踐內容
(1).Web前端HTML
能正常安裝、啟停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。
(2).Web前端javascipt
理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。
(3).Web後端:MySQL基礎:正常安裝、啟動MySQL,建庫、創建用戶、修改密碼、建表
(4).Web後端:編寫PHP網頁,連接數據庫,進行用戶認證
(5).最簡單的SQL註入,XSS攻擊測試
2.功能描述:用戶能登陸,登陸用戶名密碼保存在數據庫中,登陸成功顯示歡迎頁面。
3.一些問題
- (1)什麽是表單
答:表單(form)是一個包含表單元素的區域,表單元素是允許用戶在表單中輸入信息的元素,表單在網頁中主要負責數據采集功能;一個表單有三個基本組成部分:表單標簽、表單域、表單按鈕。
- (2)瀏覽器可以解析運行什麽語言
答:HTML、XML、PHP、JavaScript、ASP等。
- (3)WebServer支持哪些動態語言
答:JavaScript、ASP、PHP等腳本語言。
二、實驗步驟
Web前臺的搭建
- 首先了解一下GET和POST兩個方法
- 兩個方法都是像後臺傳參的一種方法。
- 最直觀的區別就是GET把參數包含在URL中,POST通過request body傳遞參數
- GET產生一個TCP數據包;POST產生兩個TCP數據包(火狐就只有一個)。
- GET請求參數會被完整保留在瀏覽器歷史記錄裏,而POST中的參數不會被保留
- .....................................................................
在命令行輸入
service apach2 start
來啟動阿帕奇服務;可以通過在瀏覽器輸入127.0.0.1
,如果出現如下頁面,說明阿帕奇啟動成功。
進入
/www/var/html
文件夾,輸入vi logintest.html
創建登錄前臺的html,輸入頁面代碼:
測試logintest.html當賬號或者密碼為空時提交表單是否會彈出提示:
進入
/www/var
文件夾,輸入vi registertest.html
創建註冊前臺的html,輸入頁面代碼:
測試registertest.html當賬號或者密碼為空時提交表單是否會彈出提示:
數據庫搭建
輸入
/etc/init.d/mysql start
啟動數據庫
輸入
mysql
啟動數據庫
輸入
show databases;
查看目前有哪些數據庫;
輸入
use mysql;
,進入mysql數據庫;
用戶名和密碼默認是放在mysql下的user表格的。輸入···select user, password from user;```查看登錄信息
輸入
update user set password=PASSWORD("zwy") where user=‘root‘;
更新密碼
輸入
create database zwy;
創建數據庫
輸入
create table userinfo (user VARCHAR(100),password VARCHAR(100));
來創建一個表格,包含字段為user和password;.
輸入
insert into userinfo values(‘zwy‘,‘5214‘);
插入一條信息;
輸入
select * from userinfo;
查看表格;
輸入
alter table userinfo add primary key (user);
設置表格主鍵(用戶名不能重復);
輸入
grant select,insert,update,delete on zwy.* to [email protected] identified by "5214";
創建新用戶
再到mysql數據庫中的user表格進行查看,發現信息已經添加,口令密文存儲。
後臺搭建
在
/www/var/html
文件夾創建login.php,輸入代碼:
在
/www/var/html
文件夾創建register.php,輸入代碼:
測試(不小心誤刪圖片,失去了背景)
1、用戶名或者密碼為空上面已經測試過,這裏不再測試;
2、登錄測試:輸入錯誤的賬號密碼
3、登錄測試:輸入正確的賬號密碼
4、註冊測試:輸入存在的賬號
- 5、註冊測試:輸入不存在的賬號
- 6、註冊後的登錄測試:
簡單的數據庫註入
SQL註入,就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來說,它是利用現有應用程序,將(惡意的)SQL命令註入到後臺數據庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。
- 在登錄界面的用戶名輸入
‘ or 1=1#
,密碼任意輸入,點擊登錄,登錄成功:
簡單的XSS攻擊
跨站腳本攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫為XSS。XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞由於被黑客用來編寫危害性更大的phishing攻擊而變得廣為人知。
- 在登錄界面的用戶名輸入
<img src="bak.jpg" />
,密碼任意輸入,點擊登錄,彈出圖片:
三、遇到的問題
- 1、設置背景時有一張圖片始終無法作為背景
解決方法:跟圖片比例有關系。修改圖片比例後解決了問題。
- 2、用瀏覽器訪問php文件時,沒有顯示頁面,而是彈出下載、打開框。
解決方法:首先檢查阿帕奇,發現沒問題;折騰了幾下過後,重啟了阿帕奇,解決了問題。
四、心得體會
通過這次實驗,簡單了解了前端、後臺和數據庫的搭建,初步嘗試了簡單的數據庫註入還有
20165214 2018-2019-2 《網絡對抗技術》Exp8 Web基礎 Week11—12