20145308 《網絡對抗》Web安全基礎實踐 學習總結

20145308 《網絡對抗》 Web安全基礎實踐 學習總結

實驗內容

  • 本實踐的目標理解經常使用網絡攻擊技術的基本原理。Webgoat實踐下相關實驗。web

    基礎問題回答

  • (1)SQL注入攻擊原理,如何防護
  • 經過在文本框中輸入的字符串與web中事先定義好的SQL語句結合,構成注入攻擊的SQL實現攻擊
  • 主要仍是經過編程時多多實現對輸入字符串的合法性檢驗
  • (2)XSS攻擊的原理,如何防護
  • 經過對網頁注入可執行代碼,實現攻擊
  • 經過網頁編程實現對輸入內容的過濾
  • (3)CSRF攻擊原理,如何防護
  • 跨站請求僞造,經過假裝受信任用戶的請求利用受信任網站,利用用戶在可信網站上沒有登出的COOKIE作惡意操做
  • 常常刪除保存的COOKIEsql

    實驗總結與體會

  • 此次實驗在WebGoat裏作了SQL注入的10個相關實踐,從上週學習的簡單經過文本框中輸入字符串構造SQL語句進行SQL注入到在文本框中提交文本或者發送郵件作XSS攻擊,還有利用;郵件發送含有惡意URL請求的HTML對象來利用用戶的COOKIE作非法操做數據庫

    實踐過程記錄

  • 開啓webgoat
    編程

  • 最小化啓動頁面
  • 瀏覽器訪問WebGoat

SQL注入

Numeric SQL Injection

  • 構造SQL語句,顯示出數據庫中不該該顯示的信息
  • 首先開啓BurpSuite
  • 設置代理,添加8888端口
  • BurSuite捕獲到數據包
  • 修改station值,讓SQL語句變爲SELECT * FROM weather_data WHERE station = 101 or 1=1
    瀏覽器

  • 點擊GO,修改爲功
    安全

  • 一激動,成功了忘截圖,只剩一個小鉤鉤了
    cookie

  • 關閉BurSuite並設置瀏覽器不使用代理網絡

    Log Spoofing

  • 構造字符串,用顯示的登陸信息欺騙登錄的用戶,覺得本身的登錄成功
  • 在登錄界面的用戶名處輸入%0d%0aLogin Succeeded! admain
  • 顯示的其實仍是登陸失敗的信息,只不過在視覺上欺騙了用戶
    xss

String SQL Injection

  • 經過構造SQL語句顯示數據庫中全部信用卡的信息
  • 修改語句構造SELECT * FROM user_data WHERE last_name = '' or 1=1;--'顯示所有信息

DataBase Backdoors stage1

  • 輸入101 or 1=1;update employee set salary=3;構造SQL語句,建立了salary字段

DataBase Backdoors stage2

  • 經過題目給的SQL語句注入,實現建立一個後門,一旦添加一個新用戶,就將新用戶的郵箱修改成john@hackme.com

Blind Numeric SQL Injection

  • 經過SQL注入,在pins表中找到cc_number值爲1111222233334444的pin值爲多少
  • 輸入101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444')>500);嘗試大於500,成功;小於1000,失敗;因此應該大於1000,一直用二分法嘗試

  • 最後逼近到2364,猜想爲2364,成功
    web安全

  • 輸入2364

Blind String SQL Injection

  • 原理基本上和Blind Numberic SQL Injection相同,此次是查詢登陸名是什麼,也是構造可以查詢登陸名的SQL語句,一點點猜
  • 構造SQL字符串101 AND (SUBSTRING((SELECT name FROM pins WHERE cc_number='4321432143214321'),1,1)<'M');查詢第一個字母是否小於M,成功;查詢小於B,失敗

  • 依次嘗試,最後試出來是Jill

XSS攻擊

Reflected XSS Attacks

  • 經過在文本框中輸入,注入JS代碼<script>alert(document.cookie);</script>,得到cookies

Stored XSS Attacks

  • 經過網站文本框輸入,注入js代碼,嘗試盜走用戶cookies
  • 輸入一段JS代碼<script>alert(document.cookie);</script>提交
  • 點擊提交的文本

CSRF 攻擊

Cross SSite Request Foregery(CSRF)

  • 在文本框中提交一個有URL惡意請求的代碼,<img src='attack?Screen=278&menu=900&transFunds=100000' width='1', height='1'>,其中scr=278,menu=900,點擊就會執行

CSRF Prompt By-Pass

  • 與上個實驗相似,除了轉帳金額還增長了確認轉帳,一樣構造兩個包含惡意URL的圖片,這次scr=268,增長<img src='attack?Screen=268&menu=900&transFunds=CONFIRM' width='1', height='1'>提交後點擊

成功列表

相關文章
相關標籤/搜索