1. 程式人生 > >20165214 2018-2019-2 《網絡對抗技術》Exp8 Web基礎 Week11—12

20165214 2018-2019-2 《網絡對抗技術》Exp8 Web基礎 Week11—12

serve 命令 請求 瀏覽器歷史記錄 style 失去 網站 his 樣式表

《網絡對抗技術》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