1. WebGoat-General

一、大綱:

HTTP Splitting and Cache Poisining(曾國峻)
Code Quality (李孟霈)
Parameter Tampering (李孟霈)
Improper Error Handling (朱慧)

 

二、HTTP Splitting and Cache Poisining

原理:

14.PNG

 

A. Web Server - expose HTTP response splitting security hole.
B. Attacking Target -  an entity that interacts with the Web server perhaps on behalf of the attacker. It is  typically a proxy server.
C. Attacker
 

1. Attacker send a malformed request (rq1) -> proxy -> web   server.

2. Web server send back split response (two responses rp1, rp2 ) -> proxy -> attacker

3. A victim send a regular request (rq2) ->proxy->web server.

4. Proxy send rp2 immediately to victim as response to rq2.

5. Meanwhile Server send rq3 -> proxy. rq3 contain victim's person data.

6. Attacker sends request rq4 to the proxy, proxy immediately sends rp3 to attacker. Attacker steal the informatio.

 

實作:

 

1.PNG

 

11.PNG

 

2.PNG

 

3.PNG

 

 

13.PNG

 

4.PNG

 

5.PNG

 

6.PNG

 

7.PNG

 

 

9.PNG

10.PNG

 

 

8.PNG

 

參考資料:

http://hguannotes.blogspot.tw/2011/03/webgoat-execrise-http-response.html

https://dl.packetstormsecurity.net/papers/general/whitepaper_httprespons...

 

三、Code Quality

1_2.png

 

2_2.png

 

3_2.png

四、Parameter Tampering

A.Bypass HTML  Field Restrictions

12499207_1229516800408321_1573724593_o.jpg

 

 

2_3.png

 

3_3.png

 

4_1.png

B.Exploit Hidden Fields

1_3.png

 

2_4.png

 

3_4.png

 

4_2.png

C.Exploit Unchecked Email

1_4.png

 

2_5.png

 

12494116_1229516893741645_2071251261_o.jpg

 

 

4_3.png

 

5_1.png

 

 

6_1.png

 

8.png

 

D.Bypass Client Side Javascript Validation

1_7.png

 

2_8.png

 

3_5.png

 

4_4.png

 

5_2.png

五、Improper Error Handling

 1.原理(How It works )

Java代码中异常处理部分为成功认证行为进行异常捕获。该异常产生是因为密码字段使用了空指针。

2.总体目标(General Goals )

在这一课中,用户需要绕过认证检查。

3.實作
1)
實作工具

VM Player虛擬機,FireFox瀏覽器,Burp suite軟件

VM Player下載地址:

http://vmware-player.en.softonic.com/

Burp suite軟件下載地址:

https://portswigger.net/burp/download.html

2)實作

A.用VM Player虛擬機打開OWASP後,獲取虛擬機的IP地址,并在FireFox瀏覽器上輸入虛擬機的IP地址,即可打開頁面

 

01.png

 

B.選擇Improper Error Handing

02.png

 

C.在FireFox瀏覽器中,選擇右上角三條線,點選【選項】這一欄位

03.png

 

D. 點進之後,選擇【進階】>【網路】>【設定】,然後點選【手動設定Proxy】,設定127.0.0.1,port端口設定8080,然後勾 選【所有通訊協定都使用此Proxy代理服務器】,我們便可看到以下的欄位都會自動設置為127.0.0.1,port端口設定為:8080

04.png

 

E.打開Burp suite軟件,選擇【Proxy】>【Options】,勾選【127.0.0.1:8080】,將Proxy  設定位127.0.0.1:8080

05.png

 

F.打開開關,使Burp suite準備接收瀏覽器傳送的封包

06.png

G.在FireFox瀏覽器中,隨意輸入一個賬號,然後運行此瀏覽器網頁

07.png

 

H.Burp suite攔截瀏覽器傳送的封包,接收到一下訊息,由此可看到最後一行出現賬號和密碼

08.png

I.將【&Password=】刪除,點擊【Forward】

09.png

 

J.Burp suite在運行Forward 之後,變化如下,瀏覽器中則不需要通過輸入密碼,便可登錄成功

10_0.PNG

 

3.總結

        攻擊者可以通過某種工具便可攔截封包,利用這一程式的弱點,將密碼刪除,此後則不需要輸入密碼,也可達到攻擊的目的。