1 修改/etc/apache2/ports.conf裏的端口爲5322後從新開啓:javascript
2 能夠在瀏覽器中輸入localhost:5322來檢查是否正常開啓,這裏能夠看到打開了上一週的實驗的網頁:php
1 訪問Apache工做目錄cd /var/www/html,新建一個5322.html文件,並編寫一個含有表單的htmlhtml
2 打開瀏覽器訪問:localhost:5322/5322.html,出現以下界面java
3 在上面的文本框內鍵入幾個字母,而後點擊確認按鈕數據會傳送到 "html_form_action.php" 的頁面,因爲沒有對該頁面進行編輯,因此出現錯誤。mysql
1 相關概念:JavaScript是一種普遍用於客戶端Web開發的腳本語言,經常使用來給HTML網頁添加動態功能。web
2 文檔對象模型,簡稱DOM,是W3C組織推薦的處理可擴展標誌語言的標準編程接口。sql
3 編寫驗證用戶名和密碼的規則:(好比用戶名和密碼不能爲空)數據庫
1 在/var/www/html下新建一個PHP測試文件test.php,以下apache
<?php
echo ($_GET["A"]);編程
include($_GET["A"]); echo "php page 5322!<br>";
?>
2 用瀏覽器打開localhost:5322/test.pgp,可見以下界面,測試成功
1 使用命令/etc/init.d/mysql start打開mysql服務。
2 輸入mysql -u root -p,並根據提示輸入密碼,默認密碼爲p@ssw0rd,進入MySQL:
3 使用命令show databases;能夠查看基本信息(個人電腦被組長征用了,因此能夠看到他的信息)
4 能夠經過以下方式更改密碼:
輸入use mysql;,選擇mysql數據庫
輸入select user, password, host from user;,mysql庫中的user表中存儲着用戶名、密碼與權限
輸入UPDATE user SET password=PASSWORD("新密碼") WHERE user='root';
輸入flush privileges;,更新權限
輸入quit退出
從新登陸就能夠發現密碼修改爲功(這裏忘了截圖了,可是不影響後面的實驗就好啦)
5 在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 '');
6 向表中添加用戶
1 在/var/www/html文件夾下輸入vim login.html,編寫登陸網頁
2 輸入vim login.php,經過php實現對數據庫的鏈接
3 在瀏覽器中輸入localhost:5322/login.html訪問本身的登錄頁面
4 在登陸頁面中輸入數據庫中存有的用戶名和密碼並點擊提交進行用戶認證登陸成功,輸入數據庫中沒有的就會認證失敗
登陸成功
登陸失敗
1 SQL注入是經過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。
具體來講,它是利用現有應用程序,將(惡意的)SQL命令注入到後臺數據庫引擎執行的能力,它能夠經過在Web表單中輸入(惡意)SQL語句獲得一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。
簡單地說,SQL注入的產生緣由一般是將用戶輸入的字符串,當成了 「sql語句」 來執行。
2 構造SQL語句:在用戶名輸入框中輸入' or 1=1#,密碼隨便輸入,這時候的合成後的SQL查詢語句爲select * from users where username='' or 1=1#' and password=md5('')
如下的兩句sql語句等價:
select * from users where username='' or 1=1#' and password=md5('')
select * from users where username='' or 1=1
3 由於1=1永遠是都是成立的,即where子句老是爲真,因此可以成功登陸
4 經過SQL注入將用戶名和密碼保存在數據庫中
';insert into users(userid,username,password,enabled) values(145322,'145322',password("145322"),"TRUE");#
在登陸頁面輸入用戶名和密碼,成功(這裏用的是下面的53220用戶)
1 XSS攻擊:跨站腳本攻擊(Cross Site Scripting),爲不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫爲XSS。XSS是一種常常出如今web應用中的計算機安全漏洞,它容許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。好比這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞因爲被駭客用來編寫危害性更大的phishing攻擊而變得廣爲人知。對於跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的「緩衝區溢出攻擊「,而JavaScript是新型的「ShellCode」。
2 進行一個簡單的測試,在用戶名輸入框中輸入20145322讀取/var/www/html目錄下的圖片:
(1)什麼是表單
表單在網頁中主要負責數據採集功能,一個表單有三個基本組成部分:表單標籤、 表單域、 表單按鈕。
(2)瀏覽器能夠解析運行什麼語言。
HTML、XML、Python、PHP、JavaScript、ASP等。
(3)WebServer支持哪些動態語言
JavaScript、ASP、PHP、Ruby等腳本語言。