20155234 《網絡對抗》Exp 8 Web基礎

基礎問答

  • 什麼是表單
    能夠收集用戶的信息和反饋意見,是網站管理者與瀏覽者之間溝通的橋樑。 表單包括兩個部分:一部分是HTML源代碼用於描述表單(例如,域,標籤和用戶在頁面上看見的按鈕),另外一部分是腳本或應用程序用於處理提交的信息(如CGI腳本)。不使用處理腳本就不能蒐集表單數據。
    表單一般是交由CGI(公共網關接口)腳本處理。CGI是一種在服務器和處理腳本之間傳送信息的標準化方式。CGI腳本比較典型的是使用Perl語言編寫,固然也有其餘語言如C++,Java,VBScript或JavaScript。在建立交互表單以前,接洽您的ISP或服務器管理員以確認CGI腳本能夠在您的服務器上運行。
    表單由文本域、複選框、單選框、菜單、文件地址域、按鈕等表單對象組成,全部的部分都包含在一個由標識符標誌起來的表單結構中。
    表單的種類有註冊表、留言薄、站點導航條、搜索引擎等。
  • 瀏覽器能夠解析運行什麼語言?
    支持HTML(超文本標記語言)、XML(可擴展標記語言)以及Python、PHP、JavaScript、ASP等衆多腳本語言。
  • WebServer支持哪些動態語言?
    JavaScript、ASP、PHP、Ruby等腳本語言,ASP基於IIS WEB SERVER,是微軟的服務器端腳本技術,PHP基於APACHE WEB SERVER,與ASP有幾分相似,都是一種在服務器端執行的嵌入HTML文檔的腳本語言。php

    實踐內容

  • Web前端HTML
    啓動:apachectl start
    查看端口占用狀況:netstat -aptn

    瀏覽器登陸到Apache首頁 ok可用

    Apache的工做目錄是/var/www/html,編寫一個HTML做爲前端的登陸頁面

    我並無綁定php,因此回車後會出現這種狀況
  • Web前端javascipt
    用JavaScript來編寫一個驗證用戶名、密碼的函數,當其爲空或者長度不符合要求時提示錯誤信息
  • Web後端,MySQL基礎
    安裝:apt-get install mysql
    啓動/etc/init.d/mysql start
    登錄:mysql -u root -p

    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 '');
    輸入insert into users(userid,username,password,enabled) values(ID號,'用戶id',password("用戶密碼"),"TRUE");添加新用戶。
  • PHP測試
    新建一個PHP測試文件vi /var/www/html/1.php
  • Web後端:編寫PHP網頁,鏈接數據庫,進行用戶認證
    這裏咱們修改第二個任務的php文件,使之能夠查詢數據庫
    可是個人kail虛擬機出現問題,php不能連接到mysq,因此採用了同窗的解決方法,下載一個XAMPP來在主機上進行接下來的實驗
    測試以下
    正確輸入用戶名密碼

    錯誤輸入用戶名密碼
  • 最簡單的SQL注入
    在用戶名輸入框中輸入' or 1=1#,密碼隨便輸入

    居然登陸成功了,這是由於,這時候' or 1=1#合成後的SQL查詢語句爲select * from lxmtable where username='' or 1=1#' and password=md5(''),#至關於註釋符,會把後面的內容都註釋掉,1=1是永真式,因此這個條件確定恆成立,必定會登錄成功。
  • xss攻擊
    在用戶名輸入框中輸入讀取圖片,圖片和網頁代碼在同一文件夾下

    ok,成功了。html

    實驗體會

    此次實驗前面一直很順利,可是在php連接數據庫時出現了問題,使用了不少同窗成功的代碼,將其中須要改爲本身mysql的都改好,但仍是不可以解決這個問題,浪費了不少時間,最後仍是用了主機完成了此次實驗。前端

相關文章
相關標籤/搜索