實驗內容
使用webgoat進行XSS攻擊、CSRF攻擊、SQL注入html
實驗問答
SQL注入攻擊原理,如何防護
①SQL注入攻擊是攻擊者在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,把SQL語句當作用戶名等輸入正常網頁中以獲取數據庫信息的攻擊,最終達到欺騙服務器執行惡意的SQL命令前端
②對輸入的數據進行過濾,在數據庫中對密碼進行加密web
XSS攻擊的原理,如何防護
①經過對網頁注入可執行代碼,成功地被瀏覽器執行,以達到攻擊的目的sql
②對用戶輸入的數據進行合法性驗證,可執行代碼、特殊字符相關的不容許經過數據庫
CSRF攻擊原理,如何防護
①CSRF是跨站請求僞造,是一種對網站的惡意利用,經過假裝來自受信任用戶的請求來利用受信任的網站瀏覽器
②按期清理保存的cookie、隨機驗證碼驗證安全
實驗過程
輸入命令開啓webgoat服務器

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

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='123456789@qq.com' 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模塊添加請求確認的要求

實驗列表


實驗總結與體會
本次實驗讓我知道了能夠經過各類方法實現攻擊,上網真的是不能掉以輕心,不然一下就被攻擊了的嘛。