Chuyển đến nội dung chính

HttpOnly Flag và Secure Flag của chiếc Cookie để làm gì?

Cookies rất hữu ích nhưng cũng tồn tại không ít rủi ro. Bài viết sau đây giúp tìm hiểu rõ thêm về 2 thuộc tính giúp bảo vệ Cookies là Httponly flag Secure flag. 

Nếu anh em mò vào được bài này thì chắc cũng biết về Cookie rồi, nhưng còn hiểu lơ mơ  thì click vào đây trước nhé - Cookie.

Chuyện kể rằng, ngày xửa ngày xưa, có một "nghệ sĩ" nọ do không sao kê tiền từ thiện nên đã bị hacker tấn công chiếm rất nhiều tài khoản do bị mất cookie. 

1. Tại sao lại mất? 

Nguyên nhân "nghệ sĩ" bị mất thông tin cá nhân là do quá chủ quan khi click đọc email do rất nhiều "fan" gửi cho, trong những email đó có gắn đường link chứa mã độc đánh cắp cookie của 1 trang web nào đó. 

Do cookies phản hồi từ server mà các đường link đó dẫn tới không được bảo vệ  nên đã bị đối tượng xấu lấy mất cookies chứa xác thực đăng nhập -> dẫn tới mất thông tin.

Về mặt bản chất, cũng có thể hiểu đây như là một cuộc tấn công XSS, đối tượng gửi email sẽ execute một đoạn script truy xuất dữ liệu từ cookie, đánh cắp thông tin, thay thế người dùng giao tiếp với server.

Do cookie không được bảo vệ nên người ta nghĩ ra cái HttpOnly để bảo vệ nó.


2. HttpOnly flag ra đời.

Mục đích của thuộc tính httponly là bảo về cookie khỏi việc truy cập trái phép từ browser. Chỉ lưu và gửi kèm cookie phản hồi từ client tới server. Việc hạn chế sự can thiệp từ trình duyệt giúp hạn chế rủi ro từ các cuộc tấn công đánh cắp cookie.

Thế có httponly để bảo vệ rồi thì xem sex với click mail thoải mái chứ? - Xin thưa là KHÔNG

Mặc dù httponly giúp bảo vệ việc truy cập cookies, nhưng không có nghĩa chỉ sử dụng httponly thì cookies đã được an toàn. Trường hợp cookies phản hồi từ server về tới client chỉ thông qua giao thức HTTP thì sao?. Tất nhiên, dữ liệu không được mã hóa, một ai đó có thể đánh cặp dữ liệu này trên dọc đường phản hồi từ server tới client. 

HttpOnly thôi chưa đủ và thế là Secure flag ra đời!

3. Secure flag ra đời. 

Như phần HttpOnly phía trên ta đã tìm hiểu, chỉ sử dụng riêng HttpOnly là không đủ. Nếu việc bảo mật ở phía client và browser tốt, nhưng lại sử dụng một phương thức transfer kém thì cookie chưa tới được tay người sử dụng đã bị mất (kết hợp Man in the Middle và Session Hijacking). Những cookie đặc biệt quan trọng như (Auth, Session, …) đều có yêu cầu bảo mật rất cao, vì vậy những cookies này chỉ nên được truyền qua những giao thức bảo mật như HTTPS.

Secure có tác dụng làm cho trình duyệt phải sử dụng kết nối secure/encrypted tức là kết nối bảo mật, được mã hóa. Tuy vậy, nó chỉ hoạt động khi server có sử dụng SSL(HTTPs). 

Tuy vậy, không nên truyền các thông tin bảo mật bằng Cookie vì cơ chế này vốn dĩ không an toàn và kể cả có Secure đi chăng nữa thì ko có nghĩa là thông tin nào cũng được mã hóa hoặc không thể truy cập bởi bên thứ 3.

Cookie là chiếc bánh ngon nhưng cũng vì thế mà nhiều người thèm và muốn đánh cắp!

Tham khảo:

https://owasp.org/www-community/HttpOnly

https://blog.dareboost.com/en/2019/03/secure-cookies-secure-httponly-flags/

by ThaoPT

Nhận xét

Bài đăng phổ biến từ blog này

[CTF] Làm thế nào để bắt đầu với CTF mảng Web

Web là một trong những mảng dễ tiếp cận khi chơi CTF. Vậy bắt đầu CTF mảng Web như thế nào? Giờ đặt một website trước mặt mình thì không thể cứ thế mà làm. Làm gì? Tìm flag - một chuỗi bí mật do người ra đề giấu ở đâu đó quanh cái web. Muốn tìm được nó trước hết phải xem đề bài gợi ý cái gì, cho cái gì, trong web có gì, làm sao để khai thác mấy cái đó. Từ đây lại có một vấn đề: Phải hiểu về web trước đã. Nói thêm một chút là ở bài viết này mình sẽ không đi sâu vào chi tiêt, mình chỉ dừng lại ở việc đặt ra các vấn đề quan trọng mà các bạn cần tìm hiểu. Web hoạt động thế nào? Chúng ta sẽ cần nắm kiến thức về web qua những vấn đề như thế này:   - Cách hoạt động của web từ phía client cho đến phía server sẽ có những gì?   - Client gửi request cho server và nhận lại response như thế nào? Qua đâu? (HTTP, HTTP Header, HTTP Methods)   - Cách client và server lưu trữ thông tin của nhau (qua cơ sở dữ liệu, cookie, session, …).   - Các ngôn ngữ cấu thành 1 trang web hoặc thường được dùng khi

Những câu hỏi phỏng vấn kỹ sư bảo mật thường gặp.

Dưới đây là một danh sách các câu hỏi thường được sử dụng trong việc phỏng vấn tuyển dụng chuyên gia bảo mật. Nhiều câu hỏi được thiết kế buộc người được phỏng vấn phải suy nghĩ, và không thể chuẩn bị trước cho dạng câu hỏi này. Ở đó, các phản ứng của ứng viên cũng quan trọng  như câu trả lời. Một số câu hỏi được pha trộn giữa kỹ thuật và lý thuyết, hoặc câu hỏi tìm hiểu quan điểm của ứng viên để tạo ra những câu hỏi khó khăn hơn. Các câu hỏi cũng thường được chia thành các thể loại khác nhau, một số câu hỏi mẹo sẽ được chèn vào giữa. Mục đích của những câu hỏi dạng đánh đố này là tìm kiếm những điểm yếu kỹ thuật thường chỉ xuất hiện khi ứng viên đi vào làm việc :| . Nhóm câu hỏi chung 1. Giữa các dự án mã mở và mã đóng, bên nào bảo mật hơn? Câu trả lời của ứng viên sẽ nói rất nhiều về họ. Nó cho thấy 1) họ biết những khái niệm gì trong phát triển phần mềm, 2) cho thấy mức độ chín chắn của ứng viên. Mục tiêu chính của câu hỏi là đưa ra được ưu/ nhược điểm của hệ mã đóng và mã m