20155304《網絡對抗》Exp8 Web基礎
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基礎