Exp8 Web基礎 20154320 李超
阿新 • • 發佈:2018-05-19
404頁面 知識 pda 表格 sci 信息 http eight 失敗
1.實驗後回答問題
(1)什麽是表單.
- 表單是一個包含表單元素的區域,表單元素是允許用戶在表單中輸入信息的元素,表單在網頁中主要負責數據采集功能,一個表單有三個基本組成部分:表單標簽、表單域、表單按鈕。
(2)瀏覽器可以解析運行什麽語言.
- HTML(超文本標記語言)
- XML(可擴展標記語言)
- ASP、Python、PHP、JavaScript等眾多腳本語言。
(3)WebServer支持哪些動態語言.
- JavaScript、ASP、PHP、Ruby等腳本語言。
2.實驗總結與體會
-
雖然這次實驗基本滿足了要求,不過我覺得我的前端做得太簡單了,課下應該多花時間再研究研究。菜鳥教程上有很多實例,用起來也很方便,左邊是代碼,右邊就是呈現的效果。 數據庫這門課要認真學一學。正是由於對這部分知識的不熟,導致我在實驗過程中犯了許多不應該有的錯誤,也因此浪費了很多時間。不過還好實驗成功了,在解決問題的這個過程中,我確實蠻有收獲,感觸頗深。
3.實踐過程記錄
(1).Web前端HTML(1分)
- 通過
service apache2 start
開啟Apache2服務 - 使用
netstat -aptn
查看端口占用情況,將端口改為4320 -
-
- 測試apache是否正常工作?
- 在kali的firefox瀏覽器上輸入
localhost:4320
- 訪問Apache工作目錄
cd /var/www/html
,新建一個html文件 - 編寫一個含有表單的html
- 在文本框內輸入相關信息,然後點擊Submit按鈕數據會傳送到
html_form_action.php
的頁面,由於沒有對此頁面進行編寫,所以出現的是404頁面。
(2).Web前端javascipt(1分)
- JavaScript是一種用於客戶端Web開發的腳本語言,被數百萬計的網頁用來改進設計、驗證表單、檢測瀏覽器、創建cookies。
- 文檔對象模型(Document Object Model,簡稱DOM)是W3C組織推薦的處理可擴展標誌語言的標準編程接口。
- 我們可以用JavaScript來編寫一個簡單的程序。
效果顯示:
(3).Web後端:MySQL基礎:正常安裝、啟動MySQL,建庫、創建用戶、修改密碼、建表(1分)
-
開啟sql服務:
/etc/init.d/mysql start
-
輸入
mysql -u root –p
p@ssw0rd
,進入MySQL
。
- 輸入
show databases;
,可以查看基本信息
- 如果覺得密碼太麻煩了,可以通過如下方式更改:
- 輸入
use mysql;
,選擇mysql
數據庫 - 輸入
select user, password, host from user;
,mysql
庫中的user
表中存儲著用戶名、密碼與權限 - 輸入
UPDATE user SET password=PASSWORD("新密碼") WHERE user=‘root‘;
- 輸入
flush privileges;
,更新權限 - 輸入
quit
退出,然後重新登錄
- 輸入
使用指令 show tables; 查看表格,輸入 describe 表名;可以查看表內設定的參數。
使用指令 insert into cctable values(‘ ‘); 插入數據,使用select指令可以查看到我們添加的數據。
4、Web後端:PHP基礎
- PHP是一種通用開源腳本語言,語法吸收了C語言、Java和Perl的特點,主要適用於Web開發領域。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
- 我們可以在/var/www/html目錄下新建一個PHP測試文件,簡單了解一下它的一些語法:
- 瀏覽器打開localhost、4320.php可以看到:
- 簡單測試完成後,我們可以利用PHP和MySQL結合之前編的登錄網頁進行簡單的用戶身份認證,這裏可以參考老師給的代碼編寫login.php,代碼如下所示
- 最初失敗了
- 使用grant select,insert,update,delete on 數據庫名.* to 用戶名@localhost, identified by "密碼";這句話的意思是將對某數據庫的所有表的select,insert,update,delete權限授予某ip登錄的某用戶。
-
將這一步完成後繼續進行下面的步驟,順利完成。
-
打開瀏覽器輸入localhost:4320/cc123.html登錄,輸入用戶名及密碼,會自動跳轉到cc4328.php
用戶名和密碼是數據庫中表中的username和password
6、SQL註入攻擊
- SQL註入攻擊:可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的數據庫,通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。
- .在登錄界面用戶名處輸入‘ or 1=1#,密碼隨意,發現可以成功登錄(在代碼中有這個語句select * from users where username=‘‘ or 1=1#‘ and password=‘‘ #是註釋符,將其後面的內容給註釋掉,所以只剩下前面的1=1,這是一個恒成立的式子,因此可以成功的登錄)
- 將login.php文件中if($result = $mysqli->query($query_str))改為if ($result = $mysqli->multi_query($query_str))實現執行多個sql語句
- 在用戶名輸入框中輸入‘;insert into cc321 values(‘lc‘,‘4320‘);#SELECT * FROM cc321 WHERE username=‘‘ insert into cc321 values(‘lc‘,‘4320‘);
- 提示登錄失敗
- 到數據庫裏查看表的內容就發現多了一條用戶信息,下次就可直接用這條用戶信息登錄。
7、xss攻擊
- XSS攻擊:跨站腳本攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫為XSS。XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞由於被駭客用來編寫危害性更大的phishing攻擊而變得廣為人知。對於跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的“緩沖區溢出攻擊“,而JavaScript是新型的“ShellCode”。
- 將圖片保存在/var/www/html下
- 在終端中輸入chmod 777 /var/www/html/20154320.jpg 授予任何權限的讀,寫,運行。
- 再次運行後出現圖片
Exp8 Web基礎 20154320 李超