Exp8 Web基礎 20154320 李超

1.實驗後回答問題

(1)什麼是表單.php

  • 表單是一個包含表單元素的區域,表單元素是容許用戶在表單中輸入信息的元素,表單在網頁中主要負責數據採集功能,一個表單有三個基本組成部分:表單標籤、表單域、表單按鈕。

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

  • HTML(超文本標記語言)
  • XML(可擴展標記語言)
  • ASP、Python、PHP、JavaScript等衆多腳本語言。

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

  • JavaScript、ASP、PHP、Ruby等腳本語言。

2.實驗總結與體會

  • 雖然此次實驗基本知足了要求,不過我以爲個人前端作得太簡單了,課下應該多花時間再研究研究。菜鳥教程上有不少實例,用起來也很方便,左邊是代碼,右邊就是呈現的效果。 數據庫這門課要認真學一學。正是因爲對這部分知識的不熟,致使我在實驗過程當中犯了許多不該該有的錯誤,也所以浪費了不少時間。不過還好實驗成功了,在解決問題的這個過程當中,我確實蠻有收穫,感觸頗深。java

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來編寫一個簡單的程序。

 

 

 

效果顯示:mysql

 

(3).Web後端:MySQL基礎:正常安裝、啓動MySQL,建庫、建立用戶、修改密碼、建表(1分)

  • 開啓sql服務:/etc/init.d/mysql startweb

  • 輸入mysql -u root –p,並根據提示輸入密碼,默認密碼爲p@ssw0rd,進入MySQLsql

 

  • 輸入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指令能夠查看到咱們添加的數據。apache

 

 

四、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

 

六、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');

 

  • 提示登陸失敗

 

  • 到數據庫裏查看錶的內容就發現多了一條用戶信息,下次就可直接用這條用戶信息登陸。

 

七、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 授予任何權限的讀,寫,運行。

 

  • 再次運行後出現圖片

相關文章
相關標籤/搜索