20155207 EXP8 Web基礎

20155207 EXP8 Web基礎

實驗內容

  • (1)Web前端HTML
  • (2)Web前端javascipt
  • (3)Web後端:MySQL基礎:正常安裝、啓動MySQL,建庫、建立用戶、修改密碼、建表
  • (4)Web後端:編寫PHP網頁,鏈接數據庫,進行用戶認證
  • (5)最簡單的SQL注入,XSS攻擊測試

基礎問題回答

  • (1)什麼是表單
  • 在網頁中負責信息採集,在網頁中用戶輸入信息,經過表單可以提交到後臺進行相應的處理
  • (2)瀏覽器能夠解析運行什麼語言
  • HTML、CSS,JS腳本會調用JS腳本引擎來處理,PHP的解釋執行是在服務器端進行的
  • (3)WebServer支持哪些動態語言
  • ASP、PHP、JSP、Python

實踐過程記錄

Apache

  • 啓動apache,查看端口占用
    javascript

  • 檢測apache是否正常工做,fierfox訪問localhost:80,顯示Apache截獲的google登錄頁面
    php

編寫網頁

  • 測試:apache讀取工做目錄下的文件
  • 輸入字符串html

  • 瀏覽器打開localhost:80/test.txt
    前端

前端編程

  • 編寫簡單的用於login的HTML頁面

  • method參數是GET,因此輸入值會在URL中顯示、提交java

  • javascript,編寫測試輸入密碼是否爲空的代碼mysql

<html>
<head>
<meta charset ="UTF-8">
<script type="text/javascript">
function check_pwd()
{
        var Pwd = document.form.password.value ;    
        
        if (Pwd ==""){  
            alert("password input cannot be empty!");  
            return false ;  
        }  
}
</script>
<body bgcolor="#aaFFFFF">
<h1>login</h1>
<form name="form" action ="5207_login.php" method="GET" onclick="return inputshow()">
<input type="text" name="username" >
<br>
<input type="password" name="password" id="password">
<br>
<button type="submit" onclick="disp_alert()"  value="submit" />submit</button>
</form>
</body>
</html>
  • 測試,輸入空的密碼
  • 彈出對話框

後端編程PHP

  • 安裝PHP
  • 測試PHP

  • 編寫PHP嘗試得到表單數據

  • form使用POST方法提交,須要修改PHP也用POST方法

MySQL

  • 安裝啓動Mysqlweb

  • 進入mysql:sql

輸入/etc/init.d/mysql start打開mysql服務,
輸入mysql -u root -p,以root身份登陸,根據提示輸入密碼,默認密碼爲p@ssw0rd,進入MySQL;數據庫

  • 修改密碼:前面默認的密碼很差記,能夠修改密碼
輸入use mysql;
選擇mysql數據庫
輸入select user, password, host from user;顯示mysql庫中已有的用戶名、密碼與權限
輸入UPDATE user SET password=PASSWORD("新密碼") WHERE user='root';更改用戶名root的密碼
輸入flush privileges;更新權限。
輸入quit退出,從新登陸mysql
  • 從新輸入mysql -u root –p,使用新密碼登陸。
  • 建立數據庫和新表。命令以下:
create database 庫名;
use 庫名;
create table gyl (userid VARCHAR(100),username VARCHAR(45),password VARCHAR(256),enabled VARCHAR(5));
  • 表名users 四個字段userid、username、password、enabled 主鍵userid
  • 向表中添加帳戶

SQL注入

  • 在網頁登陸的用戶名中填寫' or 1=1#,密碼隨便輸入,這時候的合成後的SQL查詢語句爲select * from users where username='' or 1=1#' and password=md5('')

  • 能夠經過在Web表單中輸入(惡意)SQL語句獲得一個存在安全漏洞的網站上的數據庫,經過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。apache

  • 修改代碼,容許多條執行,SQL注入將用戶名和密碼保存在數據庫中

XSS攻擊

  • 在登陸的用戶名中輸入:5207,讀取/var/www/html目錄下的圖片

相關文章
相關標籤/搜索