2018-2019-2 20165221 【网络对抗技术】-- Exp9 Web安全基础
生活随笔
收集整理的這篇文章主要介紹了
2018-2019-2 20165221 【网络对抗技术】-- Exp9 Web安全基础
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2018-2019-2 20165221 【網絡對抗技術】-- Exp9 Web安全基礎
目錄:
一 . 實驗要求
- 二 . 實驗過程記錄
- 1 . Webgoat安裝
- 2 . SQL注入的攻擊
- 命令注入(Command Injection)
- 數字型注入(Numeric SQL Injection)
- 日志欺騙(Log Spoofing)
- SQL 注入(LAB: SQL Injection)
- 字符串注入(String SQL Injection)
- 數據庫后門(Database Backdoors)
- 數字型盲注入(Blind Numeric SQL Injection)
- 字符串型盲注入(Blind String SQL Injection)
- 3 . XSS攻擊
- XSS 釣魚(Phishing with XSS)
- 存儲型XSS攻擊(Stored XSS Attacks)
- 反射型XSS攻擊(Reflected XSS Attacks)
- 4 . CSRF攻擊
- 跨站請求偽造(Cross Site Request Forgery (CSRF))
- 繞過 CSRF 確認( CSRF Prompt By‐Pass)
- 三 . 實驗基礎問題回答
- 四 . 試驗中遇到的問題
五 . 實驗總結與體會
一 . 實驗要求
- 本實踐的目標理解常用網絡攻擊技術的基本原理,做不少于7個題目,共3.5分。包括(SQL,XSS,CSRF)。
二 . 實驗過程記錄
1 . Webgoat的安裝
- 因WebGoat默認使用8080端口,所以開啟前先用netstat -tupln | grep 8080查看端口是否被占用,如果被占用,用kill 進程號終止占用8080端口的進程。
- 下載webgoat-container-7.0.1-war-exec.jar,再將其拷貝到虛擬機中
- 普通安裝,命令行輸入java -jar webgoat-container-7.0.1-war-exec.jar
- 瀏覽器轉:localhost:8080/WebGoat
- 直接用默認用戶名密碼登錄即可,開始練習
2 . SQL的注入攻擊
1.Command Injection
- 選擇 Injection Flaws -> Command Injection
- 右鍵頁面中復選框,選擇inspect Element審查網頁元素對源代碼進行修改,在末尾添加"& netstat -an & ipconfig"
- 點擊 view,看到網絡端口使用情況和 IP 地址,攻擊成功
2.Numeric SQL Injection
- 選擇 Injection Flaws -> Numeric SQL Injection
- 右鍵頁面中復選框,選擇inspect Element審查網頁元素對源代碼value="101"進行修改,在城市編號101后面添加or 1=1
點擊Go,可以看到攻擊成功
3.日志欺騙(Log Spoofing)
- 通過在日志文件中插入腳本實現欺騙。在日志文件中愚弄人的眼睛,攻擊者可以利用這種方式清除他們在日志中的痕跡
目標:灰色區域代表在 Web 服務器的日志中的記錄的內容,我們的目的是使用戶名為“admin”的用戶在日志中顯示“成功登錄”
4.SQL 注入(LAB: SQL Injection)
- 選擇 Injection Flaws -> String SQL Injection,右鍵頁面將password密碼框,選擇inspect Element審查網頁元素對源代碼進行修改,將其最大長度限制改為20
用該用戶信息進行登錄,攻擊成功,并獲得賬戶信息的列表。
5.字符串盲注入:Blind String SQL Injection
- 前提是要知道pin值,這次查詢的是一個字符串而不是數值。
- 輸入:
- 將1換成2:
- 最后使用二分法測試,最終得到PIN的字段為:Jill
3 . XSS的攻擊
1.XSS釣魚:
- 編寫一個帶有用戶名的和密碼框的表格:
- 我們在搜索到的表單中輸入用戶名和密碼,點擊登錄,WebGoat會將輸入的信息捕獲并反饋給我們。
2.存儲型XSS攻擊:Stored XSS Attacks
- 這種攻擊常見于論壇等留言平臺,用戶留言的時候輸入一段JavaScript腳本,這段腳本就會被保存在數據庫中。因為是留言,所以任何用戶在打開網頁的時候,這個腳本就會被從數據庫中取出來而運行
- 根據題目要求,在留言板中輸入<script>alert("You've been attacked!!!");</script>
- 再次點擊剛剛創建的帖子,可以看到彈出窗口:
3.反射型XSS攻擊:Reflected XSS Attacks
- 原理:在反射的XSS攻擊中,攻擊者可以使用攻擊腳本創建一個URL,并將其發布到另一個網站、通過電子郵件或其他方式讓受害者點擊它。
- 目標:使用攻擊腳本創建URL,并將其寫入網站中,當讀取到該URL的時候就會被攻擊
- 具體操作:輸入代碼<script>alert("hhhhh You've been attacked!!!");</script>,點擊purse的同時頁面就給出了反饋:
---
4 . CSRF的攻擊
1.跨站請求偽造(Cross Site Request Forgery (CSRF))
跨站請求偽造,盡管聽起來像跨站腳本(XSS),但它與XSS非常不同,XSS利用站點內的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網站。與XSS攻擊相比,CSRF攻擊往往不大流行(因此對其進行防范的資源也相當稀少)和難以防范,所以被認為比XSS更具危險性。
- 查看頁面右側Parameters中的src和menu值,分別為267和900
在title中輸入任何參數,message框中輸入<img src="http://localhost:8080/WebGoat/attack?Screen=267&menu=900&transferFunds=5000" width="1" height="1" />,以圖片的的形式將URL放進Message框。 - 這時的URL對其他用戶是不可見的,用戶一旦點擊圖片,就會觸發一個CSRF事件,點擊Submit提交
- 在Message List中生成以Title命名的消息。點擊該消息,當前頁面就會下載這個消息并顯示出來,轉走用戶的5000元,從而達到CSRF攻擊的目的。可以從左側的任務欄看到任務已完成。
- 查看頁面下側Parameters中的src和menu值,命名title,message框中輸入代碼:
三 . 實驗基礎問題回答
(1) SQL注入的原理是什么,如何進行防御呢?
- 原理:SQL注入攻擊指的是通過構建特殊的輸入作為參數傳入Web應用程序,而這些輸入大都是SQL語法里的一些組合,通過執行SQL語句進而執行攻擊者所要的操作,使非法數據侵入系統。
- 防御手段:
- 對用戶的輸入進行校驗。
不要使用動態拼裝sql,可以使用參數化的sql- 或者直接使用存儲過程進行數據查詢存取。 - 不要使用管理員權限的數據庫連接,為每個- 應用使用單獨的權限有限的數據庫連接。
- 不要把機密信息直接存放,加密或者hash掉密碼和敏感的信息。
- 應用的異常信息應該給出盡可能少的提示。
采取輔助軟件或網站平臺來檢測sql注入。
- 對用戶的輸入進行校驗。
(2) XSS攻擊的原理是什么,如何進行防御呢?
- 原理:XSS是一種經常出現在web應用中的計算機安全漏洞,它允許惡意web用戶將代碼(如,HTML代碼和客戶端腳本)植入到提供給其它用戶使用的頁面中,攻擊者可以利用XSS漏洞旁路掉訪問控制。
- 防御手段:
- 特征匹配方式,在所有提交的信息中都進行匹配檢查,一般會對“javascript”這個關鍵字進行檢索,一旦發現提交信息中包含“javascript”,就認定為XSS攻擊。
- 對所有用戶提交內容進行可靠的輸入驗證,包括對URL、查詢關鍵字、HTTP頭、POST數據等,僅接受指定長度范圍內、采用適當格式、采用所預期的字符的內容提交,對其他的一律過濾。
- 實現Session標記、CAPTCHA系統或者HTTP引用頭檢查,以防功能被第三方網站所執行。
- (3) CSRF攻擊原理是什么,如何進行預防呢?
- 原理:CSRF跨站請求偽造,也被稱為“oneclickattack”或者sessionriding,通常縮寫為CSRF或者XSRF,是一種對網站的惡意利用,通過偽裝來自受信任用戶的請求來利用受信任的網站。是一種依賴web瀏覽器的、被混淆過的代理人攻擊。
防御手段:- 在form中包含秘密信息、用戶指定的代號作為cookie之外的驗證。
- “雙提交”cookie。某個授權的cookie在form post之前正被JavaScript代碼讀取,那么限制跨域規則將被應用。服務器需要在Post請求體或者URL中包含授權cookie的請求,那么這個請求必須來自于受信任的域。
- 用戶在瀏覽其它站點前登出站點或者在瀏覽器會話結束后清理瀏覽器的cookie。
- 原理:CSRF跨站請求偽造,也被稱為“oneclickattack”或者sessionriding,通常縮寫為CSRF或者XSRF,是一種對網站的惡意利用,通過偽裝來自受信任用戶的請求來利用受信任的網站。是一種依賴web瀏覽器的、被混淆過的代理人攻擊。
五 . 實驗總結與體會
- 這是最后一次的實驗了,這次實驗在前期軟件的安裝上花費了大量的時間,后面的照著操作就問題不大,主要是對攻擊概念的理解。
轉載于:https://www.cnblogs.com/0630tx/p/10922917.html
總結
以上是生活随笔為你收集整理的2018-2019-2 20165221 【网络对抗技术】-- Exp9 Web安全基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 环评登记备案需要什么证件?
- 下一篇: ios上架流程