2018-2019-2 20165313 《網絡對抗技術》 Exp 8 Web基礎

1、實踐要求:

(1).Web前端HTML(0.5分)
能正常安裝、啓停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。
(2).Web前端javascipt(0.5分)
理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。
(3).Web後端:MySQL基礎:正常安裝、啓動MySQL,建庫、建立用戶、修改密碼、建表(0.5分)
(4).Web後端:編寫PHP網頁,鏈接數據庫,進行用戶認證(1分)
(5).最簡單的SQL注入,XSS攻擊測試(1分)
功能描述:用戶能登錄,登錄用戶名密碼保存在數據庫中,登錄成功顯示歡迎頁面。javascript

2、實踐基礎回答

(1)什麼是表單

表單在網頁中主要負責數據採集功能。一個表單有三個基本組成部分:
(1)表單標籤:這裏麪包含了處理表單數據所用CGI程序的URL以及數據提交到服務器的方法。
(2)表單域:包含了文本框、密碼框、隱藏域、多行文本框、複選框、單選框、下拉選擇框和文件上傳框等。
(3)表單按鈕:包括提交按鈕、復位按鈕和通常按鈕;用於將數據傳送到服務器上的CGI腳本或者取消輸入,還能夠用表單按鈕來控制其餘定義了處理腳本的處理工做。php

(2)瀏覽器能夠解析運行什麼語言

(1)超文本標記語言:HTML
(2)可擴展標記語言:XML
(3)腳本語言:ASP、PHP、Script、JavaScript、VBScript、Perl、Python、ColdFusion、Java、JSP等html

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

最經常使用的三種動態網頁語言有:ASP(ActiveServerPages),JSP(JavaServerPages),PHP(HypertextPreprocessor)。前端

3、實踐過程

1.Web前端HTML

正常安裝、啓動Apache
安裝:sudo apt-get install apache2
啓動:apachectl start
查看端口占用狀況:netstat -aptn
java

瀏覽器登陸到Apache首頁驗證其可用:
mysql

Apache的工做目錄是/var/www/html,能夠測試apache是否可讀取工做目錄下的文件vi /var/www/html/test.txt,而後隨意輸入一串字符,瀏覽器打開 127.0.0.1:80/test.txt,可看到test.txt的內容。

web

編寫一個HTML做爲前端的登陸頁面:
sql

網頁效果如圖:
數據庫

2.Web前端javascipt

<script language="javascript">
function check(Form){
                 var Username =Form.user.value;
                 var pwd =Form.pw.value;
                  if((Username == "")||(pwd == ""))//若是用戶名爲空

                  {
                        alert("用戶名或密碼不能爲空");
                        return false;
                  }
  if (pwd.length > 16 || pwd.length < 6)
  {
    alert("密碼長度應該在 6 - 16 位");
    return false;
  }
  Form.submit();
}
</script>

測試結果:

apache

3.Web後端,MySQL基礎

安裝:apt-get install mysql
啓動:/etc/init.d/mysql start
登錄:`mysql -u root -p

查看基本信息:show databases;

輸入use mysql;選擇使用mysql這個數據庫
輸入select user, password, host from user;查看當前用戶信息

輸入update user set password=PASSWORD("新密碼") where user='root';更改密碼

輸入flush privileges;更改權限
輸入exit退出,而後使用新密碼從新登陸mysql -u root -p

輸入create database zch1;建立數據庫:

輸入show databases;查看存在的數據庫;輸入``use zch1```使用剛建立的數據庫zch1

輸入create table user (username VARCHAR(20),password VARCHAR(20));建立一個名爲user的數據表,表中包含VARCHAR類型的兩個字段:username和password
輸入insert into user values('20165313','123456');向表中username password兩個字段插入數據,即用戶名爲20165313,密碼爲123456

輸入grant select,insert,update,delete on zjy.* to zch1@localhost identified by "20165313";將對某數據庫的全部表的select,insert,update,delete權限授予當前主機localhost登陸的用戶zch1,20165313是登陸密碼。
輸入exit退出,而後使用新密碼從新登陸zch用戶mysql -u zch -p

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

下載安裝php並進行測試:
php安裝使用命令sudo apt-get install php
安裝完成後測試php是否可正常工做
首先,編輯/var/www/html/test.php內容爲<?php include($_GET["a"]); ?>;接着在瀏覽器中輸入127.0.0.1:80/test.php?a=/etc/passwd看到/etc/passwd文件的內容,以下圖所示:

編寫```login.php````並登陸,登陸成功以下圖所示:

輸入一個數據庫中根本沒有的用戶名和密碼,顯示鏈接數據庫成功,但登陸失敗:

5.最簡單的SQL注入,XSS攻擊測試

在用戶名輸入框中輸入' or 1=1#,密碼隨便輸入,是能夠登錄成功的:

接下來嘗試進行XSS攻擊即跨站腳本攻擊,首先將一張圖片1.jpg 存入/var/www/html目錄,在用戶名輸入框中輸入<img src="1.jpg" />balabala</a>讀取/var/www/html目錄下的圖片:

實驗體會

經過本次試驗,我會回顧了上學期所學的知識而且瞭解MYSQL的使用;學會了怎樣利用命令行建立數據庫,掌握了另一種數據庫的使用,對本學期的課程也是有幫助的。與此同時,我也對WEB利用有利更加深入的瞭解。

相關文章
相關標籤/搜索