Trang

Thứ Ba, 10 tháng 4, 2018

Tôi đã Hack “tơi tả” Lotte Cinema như thế nào?

 

Làm một developer”có tâm”, chúng ta không chỉ phải đảm bảo code chạy được, mà còn phải đảm bảo về bảo mật (với các hệ thống quan yếu). Có nhiều lúc, lỗi bảo mật đến từ chính sự ẩu tả của developer. Hôm nay mình sẽ lôi trang web của Lotte cinema ra làm mẫu để giải thích cho các bạn. 

Lưu ý: Bài viết mang tính chất học thuật, bình luận về kĩ thuật. Mình không ủng hộ, cũng không chịu trách nhiệm nếu bạn mang tri thức đề cập trong bài ra làm chuyện trái luật pháp! Thân. 
Giới thiệu 

Tại sao mình lại chọn Lotte cinema? Đơn giản là cách đây mấy tháng, khi nhắc đến mật khẩu, mình đã nêu ra một lỗ hổng bảo mật khủng khiếp của Lotte cinema: Lưu mật khẩu dưới dạng văn bản. 

Đến nay, lỗ hổng này vẫn chưa được sửa, điều này chứng tỏ hai chuyện: Đội ngũ lập trình web Lotte thiếu tri thức căn bản về lập trình và cũng không thèm quan tâm gì đến việc bảo trì sửa lỗi. Điều này đồng nghĩa với việc trang web sẽ có nhiều lỗ hổng để khai khẩn. 

Với logic đó, mình bắt đầu tìm lỗ hỗng của Lotte với tâm thế học hỏi. Thật không ngờ, mình tìm được không chỉ một, mà đến tận vài lỗ hổng… cực chết người, có thể làm tất tật hệ thống ngừng hoạt động. 

Bắt đầu “câu cá” 

trước tiên, hãy nhìn góc trên bên trái trình duyệt. Một trang web không có https, đồng nghĩa với việc ắt thông báo bạn điền vào (tên, mật khẩu) hoàn toàn có thể bị hacker trộm nếu bạn dùng chung đường dây mạng/chung wifi với hacker đó (Xem thêm về sniffing ). Đó là lý do các trang nhà băng, facebook, gmail, thanh toán điện từ đều đòi hỏi phải dùng https. 

 

 

 

Tiếp theo, ta bắt đầu với việc soát Cookie. Các bạn tải vao EditThisCookie về để làm việc nhé. Thử đăng nhập và xem Lotte cinema lưu gì trong cookie nào. 

 

 

Các bạn không nhìn lầm đâu, chính là username của các bạn đấy? Thôi, chúng ta cứ cầu trời là họ lưu username để nhắc bạn khi bạn cần đăng nhập lại thui hạ. Thử đổi sang giá trị khác rồi refresh trang xem nào. 

CÁI LỀ GÌ THỐN!!! Mình bị chuyển sang nick khác mất rồi. Thật chẳng thể tin nổi. Một lỗi bảo mật đến như bánh xe bò đã bị lộ chỉ sau 5p nghiên cứu. 1-0 cho Lotte cinema. (Lỗi này có tên gọi là impersonation ). 

Câu nhầm … “cá mập” 

Nhờ đổi cookie, mình đã hack được vào tài khoản người khác. Ok ngon, có thông tin người dùng luôn! Giờ mình thử đổi thông báo xem nào, được luôn. Thử đặt vé xem nào, cũng được nốt! 

Có thể dỗ ngon dỗ ngọt Lotte cinema gửi mật khẩu cho mình không nhỉ? Thử xem nào, đổi email của người này sang sáng email mình, sau đó báo mất mật khẩu. Vào email xem sao? 

Ồ, nhận được mật khẩu ngày nay luôn , mail của Lotte nhanh thật! Vì một user thường tái dùng mật khẩu ở nhiều trang, mình có thể thử dùng username và mật khẩu này ở một số trang khác để mò account. Thấy chết người chưa?? 

Thử đổi mật khẩu ngày nay xem, được luôn. Giờ mình đã có thể đăng nhập với mật khẩu mới đổi. Đây là lỗi thứ 2 : Khi đổi thay mật khẩu, bắt người dùng phải đổi mật khẩu cũ. Tỉ số giờ đã là 2-0 cho Lotte cinema. 


Bonus thêm “cá voi” 

Hải lỗi trên đã đủ làm xờ xạc hết thảy hệ thống . Chỉ cần viết một con bot nho nhỏ, tuần tự thay giá trị tên thành viên trong bánh (từ a tới zzzzzzz ) là có thể lấy gần như thảy thông báo khách hàng , hoặc đổi bít tất mật khẩu làm người dùng không đăng nhập được. (Các bạn khác dùng tên dài quá thì chịu). 

Thế nhưng mọi chuyện chưa dừng ở đây. Mình tiếp thể nghiệm điền tiên vào khung “Họ tên”. Lotte nối lòi ra lỗi XSS (tiến công bằng cách chèn script vào trang chính). 

Khá may mắn Lotte là đã cắt chuỗi thành 30 kí tự nên không thể điền JavaScript dài. Tuy nhiên, điều này vẫn không thể làm khó được mình khi viết file javascript ở nơi khác, sau đó embed script vào (Up file js lên dropbox rồi lấy shortlink là xong). 

Lỗi XSS này chỉ hiện ra ở mỗi trang của dùng nên không thể dùng để đổi thay nội dung trang web. Tuy nhiên, mình vẫn có bộc lộ pop-up mạo người dùng tải vi rút như hình dưới. Dùng TROJAN, mình có thể lấy số thẻ, số CMND để người dùng tin cậy rằng message là của Lotte (Một phần do bọn Lotte chỉ dùng alert để code cho nhanh nữa). 

phối hợp với con bot đã nói phía trên, mình hoàn toàn có thể dỗ ngon dỗ ngọt rất nhiều người dùng Lotte tải vi rút khi họ đăng nhập vào hệ thống. Không còn lời nào để nói, 3-0 cho Lotte cinema! 
Kết luận 

Những lỗi bảo mật mình chỉ ra không có gì cao siêu ! Làm mình không phải dân chuyên về bảo mật nên những kĩ thuật tiến công của mình cũng chỉ dừng ở mức khôn xiết căn bản . Vấn đề của Lotte cinema là ở chỗ họ “không biết tí gì về bảo mật”, dẫn đến chuyện hệ thống bảo mật quá kém. 

Như các bạn đã thấy, hành vi này là sự thiếu tôn trọng khách hàng và còn có thể gây nguy hại cho người dùng. Tuy nhiên, có vẻ Lotte cinema đã rất khôn ngoan trong khâu pháp lý khi rũ bỏ mọi nghĩa vụ trong phần “Thỏa Thuận”. Tuy thừa 3-0 nhưng vẫn không phải chịu nghĩa vụ gì, hoan hô Lotte cinema. 
 
Vì lý do đạo đức, mình đã gửi nội dung bài viết cho những người có nghĩa vụ trên Lotte cinema một khoảng thời kì khá lâu trước khi ban bố. tuy thế, họ vẫn phớt lờ và không thèm quan tâm. RIP các bạn và các khách hàng của Lotte cinema?. 

Dù vậy, mình vẫn khuyên các bạn không nên thử phá hoại hệ thống. Mình không muốn ngày mai lên Mương 14 lại thấy tin: [Hacker trẻ tuổi bị Lotte cinema bắt. “Tất cả là làm em lỡ xem Tôi đi code dạo”] đâu. 

Lời khuyên rút cục: các bạn vẫn có thể xem phim ở Lotte, nhưng đừng điền bất kì thông báo cá nhân chủ nghĩa gì vào cái hệ thống trời đánh của nó nhé! Thân chào. 

0 nhận xét:

Đăng nhận xét