20155235 《網絡攻防》 實驗八 Web基礎

20155235 《網絡攻防》 實驗八 Web基礎

實驗內容

  1. Web前端HTML(0.5分)
    能正常安裝、啟停Apache。理解HTML,理解表單,理解GET與POST方法,編寫一個含有表單的HTML。

  2. Web前端javascipt(0.5分)
    理解JavaScript的基本功能,理解DOM。編寫JavaScript驗證用戶名、密碼的規則。

  3. Web后端:MySQL基礎:正常安裝、啟動MySQL,建庫、創建用戶、修改密碼、建表(0.5分)

  4. Web后端:編寫PHP網頁,連接數據庫,進行用戶認證(1分)

  5. 最簡單的SQL注入,XSS攻擊測試(1分)

功能描述:用戶能登陸,登陸用戶名密碼保存在數據庫中,登陸成功顯示歡迎頁面。

實驗一 Web前端HTML

Apache環境配置

  • apache是kali下的web服務器,通過訪問ip地址+端口號+文件名稱打開對應的網頁。
  • 輸入命令vi /etc/apache2/ports.conf更改apache2的監聽端口號,利用service apache2 start打開apache2;
  • 并使用netstat -aptn查看端口號,確認apache正確開啟
  • 然后利用kali自帶的瀏覽器訪問127.0.0.1:5235(本機地址+設置的監聽端口),可驗證apache已經開啟
    o_1.PNG
    o_222.png

    實驗二 編寫一個含有表單的HTML

  • 在apache2工作目錄下編寫一個HTML,利用apache2進行發布
  • 進入apache2的工作目錄/var/www/html,創建并編寫login_test.html文件
  • 打開瀏覽器,輸入http://127.0.0.1:5235/login_test.html即可打開
    o_2.png
  • 在網頁上輸入用戶名密碼,提交表單,跳轉至NOT FOUND提示網頁,因為只有前端代碼
    o_3.png

  • 繼續編寫前端代碼,規定規則
    o_4.png
  • 測試規則:
    o_5.png
    o_6.png
    測試成功

實驗三 Web后端、MySQL基礎

  • 安裝 apt-get install mysql
  • 啟動mysql /etc/init.d/mysql start
  • 輸入 mysql -u root -p ,并根據提示輸入密碼,默認密碼為p@ssw0rd進入MySQL
  • 創建一個數據庫TestLogin: CREATE SCHEMA TestLogin
  • 使用創建的數據庫 USE TestLogin
  • 創建數據庫表:
    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( 1,'20155235',password("20155235"),"TRUE"); 添加信息
    o_2333.png
  • 可以使用命令show databases;可以查看基本信息
    o_7.png
  • 可以通過如下方式更改密碼:
    輸入 use mysql ;,選擇mysql數據庫
    輸入 select user, password, host from user; ,mysql庫中的user表中存儲著用戶名、密碼與權限
    輸入 UPDATE user SET password=PASSWORD("新密碼") WHERE user='root';
    輸入 flush privileges; ,更新權限
    輸入 quit 退出
    o_8.png
  • 重新登錄就可以發現密碼修改成功
  • 在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 '');
    o_9.png
  • 向表中添加用戶
    o_10.png
  • 現在再查看信息就可以看到新建表:
    o_11.png

    php+mysql編寫網頁

  • /var/www/html 文件夾下輸入 vim login.html ,編寫登錄網頁
    o_12.png
  • 輸入 vim login.php ,通過php實現對數據庫的連接
    o_13.png
  • 在瀏覽器中輸入localhost:5235/login.html訪問自己的登陸頁面
    o_14.png
  • 在登錄頁面中輸入數據庫中存有的用戶名和密碼并點擊提交進行用戶認證登錄成功,輸入數據庫中沒有的就會認證失敗
    o_15.png
    o_16.png

實驗四 XSS攻擊

  • XSS攻擊:跨站腳本攻擊(Cross Site Scripting),為不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆。故將跨站腳本攻擊縮寫為XSS。XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼植入到提供給其它用戶使用的頁面中。比如這些代碼包括HTML代碼和客戶端腳本。攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞由于被駭客用來編寫危害性更大的phishing攻擊而變得廣為人知。對于跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的“緩沖區溢出攻擊“,而JavaScript是新型的“ShellCode”。
  • 進行一個簡單的測試,在用戶名輸入框中輸入 <img src="20155235.jpg" />20155235</a> 讀取 /var/www/html 目錄下的圖片:
    o_17.png
    o_23.png

問題

  1. 什么是表單

    表單:可以收集用戶的信息和反饋意見,是網站管理者與瀏覽者之間溝通的橋梁。 表單包括兩個部分:一部分是HTML源代碼用于描述表單(例如,域,標簽和用戶在頁面上看見的按鈕),另一部分是腳本或應用程序用于處理提交的信息(如CGI腳本)。不使用處理腳本就不能搜集表單數據。

  2. 瀏覽器可以解析運行什么語言。

    HTML(超文本標記語言)、XML(可擴展標記語言)以及Python、PHP、JavaScript、ASP等。

  3. WebServer支持哪些動態語言

    JavaScript、ASP、PHP、Ruby等。

實驗心得

實驗八我做的是真心累啊,因為我所有的實驗報告都是根據前面的報告改的,就導致我粘貼到博客園時,把我做了一半,一般是實驗六的博客貼了過去,對此我表示特別抱歉,給老師道個歉,比心心。雖然用了我很喜歡的人的圖片,但是我依然要控訴我的虛擬機,又換了好幾個!!!才做出來!!!!

轉載于:https://www.cnblogs.com/WYjingheng/p/9075021.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/251700.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/251700.shtml
英文地址,請注明出處:http://en.pswp.cn/news/251700.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python每天1道面試題(3)--字符串組合

""" 題目3&#xff1a;輸入一個字符串&#xff0c;輸出該字符串中字符的所有組合。舉個例子&#xff0c;如果輸入abc&#xff0c;它的組合有a、b、c、ab、ac、bc、abc。解題思路: 先用列舉法,舉例出組合元素長度分別是1,2,..,len(str)時的具體元素, 然后發現當數…

【每周一圖】蜂鳥

攝影/祈澈姑娘小花園偶遇的一只蜂鳥轉載于:https://www.cnblogs.com/wangting888/p/9702088.html

API網關如何實現對服務下線實時感知

上篇文章《Eureka 緩存機制》介紹了Eureka的緩存機制&#xff0c;相信大家對Eureka 有了進一步的了解&#xff0c;本文將詳細介紹API網關如何實現服務下線的實時感知。 一、前言 在基于云的微服務應用中&#xff0c;服務實例的網絡位置都是動態分配的。而且由于自動伸縮、故障和…

TCP為什么要三次握手和四次揮手

http://www.jellythink.com/archives/705 簡析TCP的三次握手與四次分手 https://zhuanlan.zhihu.com/p/24001696 計算機網絡面試題 https://www.zhihu.com/question/36930631 TCP四次分手中&#xff0c;主動關閉方最后為什么要等待2MSL之后才關閉連接&#xff1f; http://ww…

Java處理文件BOM頭的方式推薦

背景&#xff1a; java普通的文件讀取方式對于bom是無法正常識別的。 使用普通的InputStreamReader&#xff0c;如果采用的編碼正確&#xff0c;那么可以獲得正確的字符&#xff0c;但bom仍然附帶在結果中&#xff0c;很容易導致數據處理出錯。另外&#xff0c;對于存在BOM頭的…

封裝svg組件

如何封裝svg圖標組件 封裝svg圖標組件的方法有很多種&#xff0c;如果只是單純的想使用svg圖標&#xff0c;可以將svg導出fonts字體圖標使用&#xff0c;但這樣做會失去svg原有的樣式與尺寸&#xff0c;也可以當成img圖片或者背景引入&#xff0c;但這樣做非常繁瑣。 最近項目中…

RabbitMQ 延遲隊列,消息延遲推送

應用場景 目前常見的應用軟件都有消息的延遲推送的影子&#xff0c;應用也極為廣泛&#xff0c;例如&#xff1a; 淘寶七天自動確認收貨。在我們簽收商品后&#xff0c;物流系統會在七天后延時發送一個消息給支付系統&#xff0c;通知支付系統將款打給商家&#xff0c;這個過程…

windows Navicat Premium連接oracle

需要下載并指定Instant Client 下載地址&#xff1a;在oracle官網搜索Instant Client Downloads選擇自己需要的客戶端 //說明 //Navicat 版本 9 或以上捆綁了 instant client&#xff0c;但是捆綁的用不了&#xff0c;捆綁的10.2。因此下載高版本替換之 //版本有要求&#xff0…

關于arraylist的擴容機制

ArrayList會自動改變size的長度&#xff1a; 首先&#xff0c;ArrayList定義了一個私有的未被序列化的數組elementData&#xff0c;用來存儲ArrayList的對象列表&#xff08;注意只定義未初始&#xff09;&#xff1a;private transient Object[] elementData;   其次&am…

不同級別UI設計師的區別有哪些?

不同等級的UI設計師在工作內容以及基本的薪資待遇方面也是有區別的&#xff0c;很多在UI培訓學校學習的小伙伴們并不知道各個等級的UI設計師工作內容有什么差別&#xff0c;那么合肥學碼思小編就給大家總結一下這些區別分別表現在哪些方面。 一、初級UI設計師 初級UI設計師的主…

Linux命令行參數前加--,-和不加杠

參數前“-”的表明后面的參數是字符形式。參數前“--”的則表明后面的參數是單詞形式。參數前有橫的是System V風格。 參數前沒有橫的是BSD風格。 轉載于:https://www.cnblogs.com/YYRise/p/9090476.html

反射筆記-----------------------------

1.反射基本概念&#xff1a; 01.定義&#xff1a; 反射是指在程序運行期間&#xff0c;能夠觀察和修改類或者類的對象的屬性和行為的特性&#xff01; 02.作用&#xff1a; 001.在運行期間獲取類的修飾符&#xff0c;包名&#xff0c;類名&#xff0c;實現的接口&#xff0c;繼…

kubernetes 集群部署

kubernetes 集群部署 環境JiaoJiao_Centos7-1(152.112) 192.168.152.112JiaoJiao_Centos7-2(152.113) 192.168.152.113JiaoJiao_Centos7-3(152.114) 192.168.152.114已開通 4C8G80G 集群規劃 部署方式 環境準備&#xff1a;基于主機名稱通信&#xff0c;時間同步&#xff0c;關…

PHP學習筆記--抽象類和抽象方法的應用

抽象類** 什么是抽象方法&#xff1f;** 定義&#xff1a;如果一個類中的方法&#xff0c;沒有方法體的方法就是抽象方法(就是一個方法沒有使用{}而直接使用分號結束)* * abstract function test(); //抽象方法* * function test(){ //有方法體…

wordpress 顯示數學公式 (MathJax-LaTeX)

blog 不放一堆數學公式怎么能顯得高大上&#xff0c;所以 MathJax-LaTeX 也是必裝的插件之一了。 一、安裝 MathJax-LaTex 插件 直接在 wordpress 插件中&#xff0c;搜索并安裝 MathJax-LaTeX 二、安裝本地 MathJax 服務 不過由默認的 MathJax cdn 服務經常被墻&#xff0c;所…

長春理工大學第十四屆程序設計競賽(重現賽)F.Successione di Fixoracci

鏈接&#xff1a;https://ac.nowcoder.com/acm/contest/912/F 題意&#xff1a; 動態規劃(Dynamic programming&#xff0c;簡稱dp)是一種通過把原問題分解為相對簡單的子問題的方式求解復雜問題的方法。例如&#xff0c;假設小x一步能爬1層或2層臺階&#xff0c;求小x爬n層臺階…

ConstraintLayout

ConstraintLayout使用筆記 具體使用參考&#xff1a;http://blog.csdn.net/guolin_blog/article/details/53122387 ConstraintLayout 好處還是很明顯&#xff0c;確實可以減少嵌套。性能對比參閱&#xff1a;http://www.cnblogs.com/liujingg/p/7161319.html 簡單嵌套Constrain…

css權重

權重大小 內嵌權重為1000 <p style"color: yellow;">ALEX</p> id選擇器的權重為100&#xff0c;類選擇器的權重為10&#xff0c;標簽選擇器的權重為1. /*1 1 1*/ #box1 .wrap2 p{color: red; }當權重一樣的時候&#xff0c;是以后設置的屬性為準&#xf…

手機兩列布局,正方形

手機兩列布局&#xff0c;正方形。 直接貼出調試網站的結果&#xff0c;閱讀效果還不錯。 轉載于:https://www.cnblogs.com/blogzhang/p/11002428.html

python(5)- 基礎數據類型

一 int 數字類型 #abs(x)      返回數字的絕對值&#xff0c;如abs(-10) 返回 10 # ceil(x)    返回數字的上入整數&#xff0c;如math.ceil(4.1) 返回 5 # cmp(x, y)    如果 x < y 返回 -1, 如果 x y 返回 0, 如果 x > y 返回 1 # exp(x)…