1. 程式人生 > >20155324《網絡對抗技術》web安全基礎實踐

20155324《網絡對抗技術》web安全基礎實踐

eric ring 分法 conf 分享圖片 輸入框 trigge xss valid

20155324《網絡對抗技術》web安全基礎實踐

實驗內容

使用webgoat進行XSS攻擊、CSRF攻擊、SQL註入

實驗問答

SQL註入攻擊原理,如何防禦

①SQL註入攻擊是攻擊者在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,把SQL語句當做用戶名等輸入正常網頁中以獲取數據庫信息的攻擊,最終達到欺騙服務器執行惡意的SQL命令

②對輸入的數據進行過濾,在數據庫中對密碼進行加密

XSS攻擊的原理,如何防禦

①通過對網頁註入可執行代碼,成功地被瀏覽器執行,以達到攻擊的目的

②對用戶輸入的數據進行合法性驗證,可執行代碼、特殊字符相關的不允許通過

CSRF攻擊原理,如何防禦

①CSRF是跨站請求偽造,是一種對網站的惡意利用,通過偽裝來自受信任用戶的請求來利用受信任的網站

②定期清理保存的cookie、隨機驗證碼驗證

實驗過程

輸入命令開啟webgoat

技術分享圖片

在瀏覽器輸入localhost:8080/WebGoat進入webgoat

技術分享圖片

SQL練習

SQL字符串註入(String SQL Injection)
  • ?要求原本只能查到某一個人的信息,通過SQL語句的註入使整張表都顯示出來
  • ?構造語句‘or 1=‘1,成功得到了全部的信息

技術分享圖片

數字型SQL註入(Numeric SQL Injection)
  • 表單允許使用者看到天氣數據,利用SQL註入看見所有數據
  • 修改station值從為101為101 or 1=1,右邊response包中的SQL語句為SELECT * FROM weather_data WHERE station = 101 or 1=1

技術分享圖片

返回瀏覽器隨便選一項點擊go,顯示實驗成功了,但是並沒有顯示全部信息誒,很尷尬

技術分享圖片

命令註入(Command Injection)
  • 要求能夠在目標主機上執行任意系統命令
  • 在網頁源代碼上直接修改,直接在選項後加上"&&ifconfig"

技術分享圖片

回到瀏覽器,選擇剛才修改的選項,提交

技術分享圖片

盲數字註入(Blind Numeric SQL Injection)
  • 得到一個存放在pins表中值pin的內容,行號cc_number=1111222233334444,是一個int型的數據
  • ?嘗試默認的101,發現顯示Account number is valid,說明是真

技術分享圖片

然後確定上下界使用二分法得到答案2364

SQL註入實驗(LAB SQL Injection)
  • Stage 1:String SQL Injection:
  • 使用字符串SQL註入在沒有正確密碼的情況下登錄賬號boss
  • 直接登錄,顯示失敗

技術分享圖片

  • 將密碼修改為‘ or 1=1 -- 繞過密碼檢查
  • 但是密碼只能是8位,所以改一下密碼位數

技術分享圖片

登錄成功

技術分享圖片

  • Stage 3: Numeric SQL Injection
  • 通過一個普通員工的賬戶,瀏覽其BOSS的賬戶信息
  • 登錄後發現我們只能看見Larry一個人的工資信息

技術分享圖片

把其中的value值改為101 or 1=1 order by salary desc

技術分享圖片

登錄即可看見老板的信息

技術分享圖片

日誌欺騙(Log Spoofing)
  • 利用日誌的格式,使用換行等字符,欺騙管理員
  • 輸入5240%0d%0aLogin Succeeded for username: admin 即可成功登錄

技術分享圖片

  • Database Backdoors
  • ?輸入註入語句:101; update employee set salary=10000,成功把該用戶的工資漲到了10000

技術分享圖片

使用語句:101;CREATE TRIGGER lsjBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email=‘[email protected]‘ WHERE userid = NEW.userid 創建一個後門,把表中所有的郵箱和用戶ID都設為我的

技術分享圖片

XSS攻擊

  • 跨站腳本釣魚攻擊(Phishing with XSS )
  • 在輸入框中註入前端代碼,顯示如下網頁

技術分享圖片

輸入用戶名和密碼,提交即可截獲

技術分享圖片

反射型XSS(Reflected XSS Attacks)
  • 如果我們輸入錯誤的用戶信息,服務器校驗輸入有誤,會返回錯誤頁面並顯示錯誤內容
  • 將帶有攻擊性的URLhttp://www.targetserver.com/search.asp?input=作為輸入源,會彈出對話框

技術分享圖片

儲存型XSS(Stored XSS Attakcs)

給用戶發一個信息,用戶在打開這個信息的時候觸發了隱藏在信息裏面js代碼,然後被盜走了cookies

技術分享圖片

技術分享圖片

XSCF攻擊

CSRF Prompt By-Pass
  • 是通過郵件的方式進行惡意請求,使用兩個iframe模塊添加請求確認的要求

<iframe src="attack?Screen=自己的src&menu=自己的menu&transferFunds=5000">

<iframe src="attack?Screen=自己的src&menu=自己的menu&transferFunds=CONFIRM">

技術分享圖片

實驗列表

技術分享圖片

技術分享圖片

實驗總結與體會

本次實驗讓我知道了可以通過各種方法實現攻擊,上網真的是不能掉以輕心,否則一下就被攻擊了的嘛。

20155324《網絡對抗技術》web安全基礎實踐