20155235 《網絡攻防》 實驗八 Web基礎
實驗內容
Web前端HTML(0.5分)
能正常安裝、啟停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。Web前端javascipt(0.5分)
理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。Web后端:MySQL基礎:正常安裝、啟動MySQL,建庫、創建用戶、修改密碼、建表(0.5分)
Web后端:編寫PHP網頁,連接數據庫,進行用戶認證(1分)
最簡單的SQL注入,XSS攻擊測試(1分)
功能描述:用戶能登陸,登陸用戶名密碼保存在數據庫中,登陸成功顯示歡迎頁面。
實驗一 Web前端HTML
Apache環境配置
- apache是kali下的web服務器,通過訪問
ip地址+端口號+文件名稱
打開對應的網頁。 - 輸入命令
vi /etc/apache2/ports.conf
更改apache2的監聽端口號,利用service apache2 start
打開apache2; - 并使用netstat -aptn查看端口號,確認apache正確開啟
然后利用kali自帶的瀏覽器訪問
127.0.0.1:5235(本機地址+設置的監聽端口)
,可驗證apache已經開啟實驗二 編寫一個含有表單的HTML
- 在apache2工作目錄下編寫一個HTML,利用apache2進行發布
- 進入apache2的工作目錄/var/www/html,創建并編寫login_test.html文件
- 打開瀏覽器,輸入http://127.0.0.1:5235/login_test.html即可打開
在網頁上輸入用戶名密碼,提交表單,跳轉至NOT FOUND提示網頁,因為只有前端代碼
- 繼續編寫前端代碼,規定規則
測試規則:
測試成功
實驗三 Web后端、MySQL基礎
- 安裝
apt-get install mysql
- 啟動mysql
/etc/init.d/mysql start
- 輸入
mysql -u root -p
,并根據提示輸入密碼,默認密碼為p@ssw0rd進入MySQL - 創建一個數據庫TestLogin:
CREATE SCHEMA TestLogin
- 使用創建的數據庫
USE TestLogin
- 創建數據庫表:
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 '');
- 輸入
insert into users(userid,username,password,enabled) values( 1,'20155235',password("20155235"),"TRUE");
添加信息 - 可以使用命令show databases;可以查看基本信息
- 可以通過如下方式更改密碼:
輸入use mysql
;,選擇mysql數據庫
輸入select user, password, host from user;
,mysql庫中的user表中存儲著用戶名、密碼與權限
輸入UPDATE user SET password=PASSWORD("新密碼") WHERE user='root';
輸入flush privileges;
,更新權限
輸入quit
退出 - 重新登錄就可以發現密碼修改成功
- 在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 '');
- 向表中添加用戶
現在再查看信息就可以看到新建表:
php+mysql編寫網頁
- 在
/var/www/html
文件夾下輸入vim login.html
,編寫登錄網頁 - 輸入
vim login.php
,通過php實現對數據庫的連接 - 在瀏覽器中輸入localhost:5235/login.html訪問自己的登陸頁面
在登錄頁面中輸入數據庫中存有的用戶名和密碼并點擊提交進行用戶認證登錄成功,輸入數據庫中沒有的就會認證失敗
實驗四 XSS攻擊
- XSS攻擊:跨站腳本攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫為XSS。XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞由于被駭客用來編寫危害性更大的phishing攻擊而變得廣為人知。對于跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的“緩沖區溢出攻擊“,而JavaScript是新型的“ShellCode”。
- 進行一個簡單的測試,在用戶名輸入框中輸入
<img src="20155235.jpg" />20155235</a>
讀取/var/www/html
目錄下的圖片:
問題
什么是表單
表單:可以收集用戶的信息和反饋意見,是網站管理者與瀏覽者之間溝通的橋梁。 表單包括兩個部分:一部分是HTML源代碼用于描述表單(例如,域,標簽和用戶在頁面上看見的按鈕),另一部分是腳本或應用程序用于處理提交的信息(如CGI腳本)。不使用處理腳本就不能搜集表單數據。
瀏覽器可以解析運行什么語言。
HTML(超文本標記語言)、XML(可擴展標記語言)以及Python、PHP、JavaScript、ASP等。
WebServer支持哪些動態語言
JavaScript、ASP、PHP、Ruby等。
實驗心得
實驗八我做的是真心累啊,因為我所有的實驗報告都是根據前面的報告改的,就導致我粘貼到博客園時,把我做了一半,一般是實驗六的博客貼了過去,對此我表示特別抱歉,給老師道個歉,比心心。雖然用了我很喜歡的人的圖片,但是我依然要控訴我的虛擬機,又換了好幾個!!!才做出來!!!!