Thứ Năm, 21 tháng 6, 2012

Session Cookie HttpOnly Flag Java

Phiên cookies (còn gọi là Java folks hay cookie chứa JSESSIONID) là những cookie được sử dụng để thực hiện quản lý phiên cho những ứng dụng Web.

Những cookies này tham chiếu đến Session Identifier và Same Identifier cùng với bất kì Scope liên quan đến Session-ID phía Server.

HttpOnly flag là một flag được sử dụng để ngăn cản khai thác XSS (Cross-Site Scripting) chặn không cho truy cập vào phiên cookie. Vì hầu hết kết quả của cuộc tấn công XSS là attacker truy cập vào phiên cookie và chiếm đoạt phiên làm việc của victim. HttpOnly flag là một kỹ thuật hữu ích để ngăn chặn kiểu tấn công XSS.

Giải pháp trong bài này đưa ra đơn giản. Bạn phải add HttpOnly flag vào session cookie của bạn (hoặc tất cả cookies).

Ta sẽ xem xét xem cách thức một session cookie không cần HttpOnly flag:

Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H;

Và bây giờ là có HttpOnly flag:

Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H; HttpOnly;

Cuối cùng, ở Vd này ta sử dụng cả secure và HttpOnly flags:

Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H; HttpOnly; secure;

Nếu bạn đang làm việc trong môi trường Java Servlet 3.0 trở lên, bạn có thể thêm đoạn code sau vào file web.xml:

<session-config>

<cookie-config>

<http-only>true</http-only>

</cookie-config>

</session-config>

Nếu muốn sử dụng cả secure flag, code như sau:

<session-config>

<cookie-config>

<http-only>true</http-only>

<secure>true</secure>

</cookie-config>

</session-config>


Editor: Vương Lan Kiều
Source: http://baomathethong.blogspot.com/
Reference: https://blog.whitehatsec.com/session-cookie-httponly-flag-java/ 

Không có nhận xét nào:

Đăng nhận xét