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

Khi Cookie Hijacking + HTML Injection trở nên nguy hiểm


Hôm nay mình sẽ chỉ với các bạn cách mà mình gặp một lỗi html injection, và cách mình biến nó thành lỗi nghiêm trọng với kĩ thuật cookie hijacking.


Đôi điều về HTML Injection và Cookie Hijacking:

HTML injection là một lỗi giúp hacker có thể chèn được mã HTML vào website và thực thi đoạn mã đó trên trình duyệt của người dùng. Lỗi này có thể dẫn tới rất nhiều hệ lụy kể cả việc đánh cắp cookie.


Session Hijacking là hình thức tấn công vào phiên làm việc giữa client và server cách đánh cắp cookie của người sử dụng sau khi họ đã qua bước xác thực với máy chủ, sau đó sẽ chiếm quyền điều khiển của phiên làm việc này


Giai đoạn 1: Khám phá

Lần này mình đã thực hiện test lần lượt trên từng input ở trang người dùng. Nhận thấy rằng các đoạn input đã không được validate như mong đợi. Tuy nhiên làm sao để có thể khai thác lỗi này khi mà cần phải đăng nhập thì mới hiện ra những thông tin này?

Lần 1: Thử khai thác bằng lỗi CSRF, gửi một đoạn code để đăng nhập vào tài khoản cho victim

Ex:


Không quá khó để đoán trước kết quả, cách thực hiện này không thành công vì server đã thực hiện validate login bằng token.

Lần 2:

Cookie Hijacking! Tới cách này thì mình đã thành công vì cookie quản lí phiên đăng nhập không hề hết hạn sau khi mình bấm Logout. Cookie chỉ được xóa khi mình xóa nó bằng tay:I logged in with a test account and then I clicked "logout". Note in the screenshot below that cookies were still stored in the browser after the logout:

Cookie not expired when click logout.

Mình copy cookie bằng Edit This Cookie (edit this cookie - Chrome), sửa lại và nhanh chóng được chuyển tới trang người dùng:


Như vậy là xong! Giờ đã đến lúc khai thác lỗi HTML Injection.

Giai đoạn 2: Khai thác
Như mình đã nói ở trên, trường "customer_name" dính lỗi không validate input. Để xác thực việc này, mình đã intercept request bằng burp suite và dán 1 thẻ H1 vào ô name:


Như vậy là đã xong!

Bài viết mang tính chất tham khảo với mục đích học tập!

Source: Medium

Nhận xét

Đăng nhận xét

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

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   và 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 scri

Mã hóa đối xứng và bất đối xứng

Hôm nay mình xin được nói về hai thuật toán cơ bản và quan trong nhất trong bảo mật đó là mã hóa đối xứng và mã hóa bất đối xứng . 1. Mã hóa đối xứng (mã hóa không công khai- symmetric-key algorithms ) - Là lớp thuật toán các mã hóa trong đó việc mã hóa và giải mã đều dùng chung cho 1 khóa (secret key) 1.1 Các loại thuật toán khóa đối xứng Thuật toán đối xứng có thể được chia ra làm hai thể loại, mật mã luồng ( stream ciphers ) và mật mã khối ( block ciphers ). Mật mã luồng mã hóa từng bit của thông điệp trong khi mật mã khối gộp một số bit lại và mật mã hóa chúng như một đơn vị. Cỡ khối được dùng thường là các khối 64 bit. Thuật toán tiêu chuẩn mã hóa tân tiến ( Advanced Encryption Standard ), được NIST công nhận tháng 12 năm 2001, sử dụng các khối gồm 128 bit. Các thuật toán đối xứng thường không được sử dụng độc lập. Trong thiết kế của các hệ thống mật mã hiện đại, cả hai thuật toán bất đối xứng ( asymmetric ) (dùng chìa khóa công khai) và thuật toán đối xứng được sử

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