1. 程式人生 > >20155304《網絡對抗》Exp8 Web基礎

20155304《網絡對抗》Exp8 Web基礎

where key arch 新建庫 sch 應用 實踐 剛才 表單元

20155304《網絡對抗》Exp8 Web基礎

實踐要求

(1).Web前端HTML

能正常安裝、啟停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。

(2).Web前端javascipt

理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。

(3).Web後端:MySQL基礎:正常安裝、啟動MySQL,建庫、創建用戶、修改密碼、建表

(4).Web後端:編寫PHP網頁,連接數據庫,進行用戶認證

(5).最簡單的SQL註入,XSS攻擊測試

功能描述:用戶能登陸,登陸用戶名密碼保存在數據庫中,登陸成功顯示歡迎頁面。

實驗過程

Web前端:HTML

使用netstat -aptn查看80端口是否被占用(上次實驗設置為Apache使用80端口),如果被占用了就kill 原進程號(由於我上周虛擬機掛起沒有關閉所以只是演示殺死了80進程,重新打開了Apache),如果空閑就用apachectl start開啟Apache,然後再次用netstat -aptn查看端口占用情況。

技術分享圖片

在kali的火狐瀏覽器上輸入localhost:80測試apache是否正常工作

技術分享圖片

進入Apache工作目錄/var/www/html,新建一個tyn001.html文件,編寫一個含有表單能實現輸入用戶名、密碼實現登錄的html。

技術分享圖片

打開瀏覽器訪問localhost:80/tyn001.html,出現剛才編寫的HTML頁面。

技術分享圖片

點擊會跳轉,但是因為我還沒有設置跳轉頁面login.php,所以會出現如下錯誤提示:

技術分享圖片

Web前端:javascript

用JavaScript來編寫一個驗證用戶名、密碼的函數,當其為空時提示錯誤信息,把它和前面的tyn001.html合起來形成一個新的HTML網頁tyn002.html。

技術分享圖片

技術分享圖片

Web後端:MySQL基礎

用/etc/init.d/mysql start開啟sql服務。

技術分享圖片

輸入mysql -u root -p用賬號root登錄,並根據提示輸入對應密碼,我的MySQL默認密碼就是直接回車,一直沒有理解YES的意思,最後終於在直接敲回車之後進入MySQL。

技術分享圖片

用show databases;查看基本信息

技術分享圖片

修改MySQL的root用戶密碼可以進行如下步驟

  • 用use mysql;,選擇mysql數據庫。

  • 用select user, password, host from user;,查看mysql庫中的user表中存儲著用戶名、密碼與權限。

技術分享圖片

  • 輸入UPDATE user SET password=PASSWORD("新密碼") WHERE user=‘root‘;更改密碼。
  • 用flush privileges;進行更新。

技術分享圖片

重新登錄驗證密碼更改成功

技術分享圖片

MySQL建表建庫

CREATE SCHEMA `庫表的名稱`;
CREATE TABLE `庫表的名稱`.`users` (
 `userid` INT NOT NULL COMMENT ‘‘,
 `username` VARCHAR(45) NULL COMMENT ‘‘,
 `password` VARCHAR(256) NULL COMMENT ‘‘,
 `enabled` VARCHAR(5) NULL COMMENT ‘‘,
 PRIMARY KEY (`userid`) COMMENT ‘‘);

輸入use 庫表名使用剛建的庫表。

技術分享圖片

輸入insert into users(userid,username,password,enabled) values(ID號,‘用戶id‘,password("用戶密碼"),"TRUE");添加新用戶。

技術分享圖片

輸入show databases; ,查看新建庫表的信息

技術分享圖片

PHP測試

新建一個PHP測試文件vi /var/www/html/test.php,輸入如下

<?php
    echo ($_GET["A"]);
    
    include($_GET["A"]);

    echo "php page 5304!<br>";
?>

用瀏覽器打開localhost:80/test.php,可以看見如下界面,測試成功

技術分享圖片

PHP+MySQL實現登錄網頁編寫

打開之前的登錄頁面設置編寫的文件夾/var/www/html,輸入vim login.php(因為我之前編寫html代碼已經設置了跳轉頁面login.php),通過PHP實現對數據庫的連接

技術分享圖片

使用這個新輸入的這個用戶和密碼在網頁中登錄就沒有問題了。

技術分享圖片

XSS攻擊測試

XSS攻擊全稱跨站腳本攻擊,是一種在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。

我們在用戶名輸入框中輸入技術分享圖片33333.jpg讀取/var/www/html目錄下的圖片:

技術分享圖片

技術分享圖片

基礎問題回答

(1)什麽是表單

表單是一個包含表單元素的區域。

表單元素是允許用戶在表單中(比如:文本域、下拉列表、單選框、復選框等等)輸入信息的元素。

(2)瀏覽器可以解析運行什麽語言。

超文本標記語言:HTML

可擴展標記語言:XML

腳本語言:ASP、PHP、Script、JavaScript、VBScript、Perl、Python、ColdFusion、Java、JSP等

(3)WebServer支持哪些動態語言

ASP,JSP和PHP最為常用

實驗總結與體會

本次實驗的攻擊環節不是很多,主要時間都花費在了制作攻擊的環境,目前在驗證登陸環節針對數據庫的攻擊還是較為常見的,因此在編寫web代碼的時候應該保障其安全性,不要給數據庫攻擊留下攻擊的機會。本次實驗還接觸到了php代碼,用來執行動態網頁的action操作,比之前學習的jsp來說,php更加簡單,適合我們編寫這種較小型的測試代碼。

20155304《網絡對抗》Exp8 Web基礎