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 | ![]() |