20145321 《網絡對抗》 Web基礎

20145321 《網絡對抗》 Web基礎

基礎問題回答

(1)什麼是表單javascript

表單在網頁中主要負責數據採集功能,一個表單有三個基本組成部分:表單標籤——這裏麪包含了處理表單數據所用CGI程序的URL以及數據提交到服務器的方法;表單域——包含了文本框、密碼框、隱藏域、多行文本框、複選框、單選框、下拉選擇框和文件上傳框等;表單按鈕:包括提交按鈕、復位按鈕和通常按鈕。php

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

HTML語言、XML語言、腳本語言(Java、PHP、Script、JavaScript…)java

(3)WebServer支持哪些動態語言mysql

ASP語言、PHP語言、JSP語言等web

實踐過程記錄

Apache

輸入service apache2 start開啓Apache2服務sql

使用netstat -aptn查看端口占用狀況,發現80端口被佔用數據庫

修改/etc/apache2/ports.conf裏的端口爲5321後從新開啓apache

測試apache是否正常工做:在kali的火狐瀏覽器上輸入localhost:5321,打開的是上個實驗的假裝網頁編程

簡單的表單網頁

訪問Apache工做目錄cd /var/www/html,新建一個5321.html文件

在瀏覽器中打開localhost:5321/5321.html

點擊提交按鈕數據會傳送到 "html_form_action.php" 的頁面,因爲沒有對此頁面進行編輯,出現的是404

javascript

相關概念:JavaScript是一種普遍用於客戶端Web開發的腳本語言,經常使用來給HTML網頁添加動態功能,好比響應用戶的各類操做。

文檔對象模型(Document Object Model,簡稱DOM,是W3C組織推薦的處理可擴展標誌語言的標準編程接口。

編寫驗證用戶名和密碼的規則:(好比用戶名和密碼不能爲空)

<script>
function nameText(){
var name= document.getElementByIdx_x ("username");
    var divID= document.getElementByIdx_x ("divName");
    divID.innerHTML="";
    if(name.value==""){
         divID.innerHTML="用戶名不能爲空";
         return false;
    }
}
function passText(){
var pass= document.getElementByIdx_x ("password");
    var divIP= document.getElementByIdx_x ("divPass");
    divIP.innerHTML="";
    if(pass.value==""){
         divIP.innerHTML="密碼不能爲空";
         return false; 
    }
}
</script>

PHP測試

新建一個PHP測試文件vi /var/www/html/test.php

打開localhost:5321/test.php

MySQL

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

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

輸入show databases;,能夠查看基本信息

想把密碼改得簡單點

  • 輸入use mysql;,選擇mysql數據庫
  • 輸入select user, password, host from user;mysql庫中的user表中存儲着用戶名、密碼與權限
  • 輸入UPDATE user SET password=PASSWORD("新密碼") WHERE user='root';
  • 輸入flush privileges;,更新權限
  • 輸入quit退出

從新登陸就能夠發現密碼修改爲功

建立新表

使用以下兩條命令能夠創建新表

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

向表中添加內容:

use 庫表的表名

insert into users(userid,username,password,enabled) values(1,'用戶id',password("用戶密碼"),"TRUE");

查看新表信息

php+mysql編寫網頁

/var/www/html文件夾下輸入vim login.html,編寫登陸網頁

 

在一樣的目錄下輸入vim login.php,經過php實現對數據庫的鏈接

在火狐瀏覽器中輸入localhost:5321/5321login.html,就能夠訪問本身的登錄頁面

輸入登陸信息,登陸成功

若是信息錯誤則不成功

SQL注入

在用戶名輸入框中輸入'or 1=1#,密碼隨便輸入,這時候的合成後的SQL查詢語句爲 select * from users where username='' or 1=1#' and password=md5('') 構成了恆成立的條件。

或者在用戶名框中輸入';insert into users(userid,username,password,enabled) values(21,'zzy',password("5321"),"TRUE");#,在數據庫中能夠直接插入一個僞造的用戶

而後就能夠用僞造的用戶名密碼登陸網站了

 

XSS攻擊

跨站腳本攻擊(Cross Site Scripting),惡意攻擊者往Web頁面裏插入惡意Script代碼,當用戶瀏覽該頁之時,嵌入其中Web裏面的Script代碼會被執行,從而達到惡意攻擊用戶的目的。

在登陸的用戶名中輸入:<img src="1.png" />20145321</a>,就能夠訪問目錄下的圖片

相關文章
相關標籤/搜索