Lesson Plan Title: HttpOnly Test

 

Concept / Topic To Teach:

To help mitigate the cross site scripting threat, Microsoft has introduced a new cookie attribute entitled 'HttpOnly.' If this flag is set, then the browser should not allow client-side script to access the cookie. Since the attribute is relatively new, several browsers neglect to handle the new attribute properly.

 

General Goal(s):

The purpose of this lesson is to test whether your browser supports the HTTPOnly cookie flag. Note the value of the unique2u cookie. If your browser supports HTTPOnly, and you enable it for a cookie, client side code should NOT be able to read OR write to that cookie, but the browser can still send its value to the server. Some browsers only prevent client side read access, but don't prevent write access.

 

Figure 1 Lesson HTTPOnly Test

 

Solution:

 

HTTPOnly is not configured. When you click on "Read Cookie" you will get the following pop-up in JavaScript, displaying the cookies

 

Figure 2 All cookies

 

Select "Yes" to turn HTTPOnly on. Intercept the HTTP Request and HTTP Response in WebScarab.

 

Figure 3 HTTP Request

 

Figure 4 HTTP Response with HTTPOnly cookie

 

 

Click on "Read cookie". You will see the JSESSIONID which is not using HTTPOnly.

Figure 5 Only JSESSIONID

 

Figure 6 HTTPOnly Success

 

Click on “Write cookie” which again only shows the JSESSIONID cookie.

 

Figure 7 JSESSIONID cookie

 

Figure 8 Lesson completed

 

Solution by Erwin Geirnaert ZION SECURITY