20145238-荊玉茗 《網絡對抗技術》-Web安全基礎實踐

Web安全基礎實踐

實踐過程記錄

實驗準備:

  • 輸入命令java -jar webgoat-container-7.0.1-war-exec.jar,一直等待等待直到出現
    html

  • 在瀏覽器中打開localhost:8080/WebGoatjava

SQL練習

1.String SQL Injectionweb

  • 題目的意思是輸入用戶名查詢表單,如今想顯示全部用戶名信用卡號。
  • 咱們只須要構造一個永真式,將WHERE部分的結果忽略,只執行後面的1,即輸入'or '1'='1,第一個分號用來閉合lastname的第一該分號,第二個閉合後面的分號,這樣就將一條語句拆成了兩條語句。

2.Command Injectionsql

  • 題目爲命令行注入,猜想多是要實現命令行的功能,可是隻有一個選擇下拉菜單,因此首先想到查看其網頁代碼,定位到選擇框
    數據庫

  • 右鍵能夠看到有編輯html的選項。添加netstat -a語句(查看開放全部端口),可是看到先後均有雙引號,因此添加兩個閉合他們,&&鏈接兩條語句
    瀏覽器

3.Numeric SQL Injection安全

  • 數字型SQL注入,經過下拉菜單查看天氣注入,要求直接查看全部的天氣。和上述實驗相似,查看他的網頁代碼,點開編輯網頁,能夠發現與上一題不一樣,這裏沒有‘’因此咱們只需在101後面加上or 1=1便可。

4.Log Spoofing服務器

  • 日誌欺騙,你的目標是是用戶名爲admin的用戶在日誌中顯示成功登錄。明確①不須要登錄成功②實際上就是輸入一個用戶名叫登錄成功:admin③在ASCII碼中回車換行表示爲%0a%0d

5.String SQL Injectioncookie

  • 無密碼登錄,發現他輸入password的地方作了限制只能八位,因此打開代碼,將長度改成20,格式類型改成文本框。再輸入以前的` or1=1` 記得看清題目,要選擇老闆爲Neville)

6.Database Backdoorssession

  • 數據庫後門,使用SQL注入修改員工工資
  • 首先構造永真式or 1=1 ,在SQL中修改信息使用update語句,即updata employee set salary=8888888

XSS(Cross-Site Scripting)

7.Phishing with XSS

  • 建立表單,引導訪問者輸入用戶名密碼,並將表單提交到指定網頁。

8.Stored XSS Attacks

  • 存儲型XSS攻擊,要寫入一個網頁或彈窗,隨便試了一個title 和message發現均有輸出,因此能夠在任意的文本框中寫入一個彈窗代碼<SCRIPT>alert('Hi,5224!');</SCRIPT>

9.Reflected XSS Attacks

  • 反射型XSS攻擊,要求獲得腳本訪問信用卡表單字段;
    示例代碼以下:
    ");

    10.CSRF Prompt By-pass

    • 跨站請求僞造。
      <img src='attack?Screen=278&menu=900&transferFunds=5000'>

    實驗後回答問題

    (1)SQL注入攻擊原理,如何防護

    原理:

    • 對用戶的輸入繼續嚴格的控制,避免出現構造註銷符號-- ,或者構造永真式的機會。
    • 是經過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。

      防護

    • 不信任任何人,將所有的數據進行驗證(在服務器端進行驗證)
    • 避免使用動態的SQL。例如預備陳述和參數化的查羣等。
    • 使用web應用防禦牆,即便更新漏洞打補丁。

    (2)XSS攻擊的原理,如何防護

    原理:

    • 攻擊者向有XSS漏洞的網站中輸入(傳入)惡意的HTML代碼,當其它用戶瀏覽該網站時,這段HTML代碼會自動執行,從而達到攻擊的目的。,XSS漏洞分爲兩種,一種是DOM Based XSS漏洞,另外一種是Stored XSS漏洞。前者是基於網頁DOM結構的攻擊,後者攻擊代碼已經存儲到服務器上或數據庫中,用來收集cookie信息的一種方式。

    防護

    • 與SQL攻擊防護方法大體相同,都是對用戶輸入加以限制和驗證。
    • 實現Session標記(session tokens)、CAPTCHA系統或者HTTP引用頭檢查,以防功能被第三方網站所執行。

    (3)CSRF攻擊原理,如何防護

    原理:

    • CSRF攻擊即跨站僞造攻擊,顧名思義,就是攻擊者向目標網站注入一個惡意的URL跨站地址,當用戶點擊了該URL,就能夠進行一些用戶本不但願的事情。

    防護

    • 經過 referer、token 或者 驗證碼 來檢測用戶提交。
    • 儘可能不要在頁面的連接中暴露用戶隱私信息。
    • 對於用戶修改刪除等操做最好都使用post 操做 。
    • 避免全站通用的cookie,嚴格設置cookie的域。

    實驗總結與體會

    • 作攻擊的時候仍是頗有趣,只有親自去嘗試的時候才明白其真正的原理。看全篇英文的題目的結果就是我徹底不知道在講啥,,,,,,連針對誰的攻擊都看不見,,,,六級可能過了個假的。還有就是有些時候可能由於網速的緣由,輸入了正確答案仍是不能congratulation,很奔潰。
相關文章
相關標籤/搜索