TheGioiDiDong.com, Lỗi từ tình cờ đến bất ngờ

Tiếp tục series tìm bug nà. Lần này là lỗi bảo mật trên chuỗi cửa hàng của thế giới di dộng, gồm thegioididong.com, vuivui.com, dienmayxanh.com…

Hôm nọ quỡn lướt face, thì ẩn hiện đâu đấy cái link share hay like gì của VuiVui.Com. Cũng nhớ mang máng là nghe qua ở đâu rồi, thôi thì sẵn rảnh, chơi với em nó tẹo xem.

Như thường lệ thì vô trang chủ, mò xem nó xài cái gì, request cái gì, vậy là đập vào mắt mớ cdn của thế giới di động.

Là sao ta. chẳng lẽ 1 thành viên nữa của thế giới di động và điện máy xanh. Ok vui rồi, check thằng này có khi khỏi check thegioididong vì chắc sẽ xài chung source (suy nghĩ của thanh niên ảo tưởng – cơ mà sau này check thì đúng thiệt). Vậy là chiến thôi.

Lỗi XSS

Không mất quá lâu để tìm bug đầu tiên , lỗi từ cái form search luôn 😐 và là XSS.

https://www.vuivui.com/tim-kiem?key=none%27};alert(document.domain);var%20query={keyword:%20%27

Query tìm kiếm được chèn thẳng giữa 2 tag script, nên chỉ cần edit 1 tẹo là alert bung ra

Mà chợt nhận thấy, chơi với vuivui thì.. hông vui lắm. Vậy là nhảy qua trang chính, thegioididong.com => thanh niên này lớn nhất, chắc sẽ có nhiều thứ hay ho hơn…

Đúng như dự đoán ở trên, nó chạy cùng 1 source, lỗi xss như cũ, khác link 1 chút.

https://www.thegioididong.com/tin-tuc/tim-kiem?key=%27};alert(123);varx={x:%27

Chơi một hồi thì cũng kiếm đc kha khá link XSS, từ thegioididong, dienmayxanh, bachhoaxanh…

Mình chỉ tìm kiếm chung chung và không đi sâu vào tìm tất cả các lỗi xss trên những site này 😀

Lỗi về đăng kí/đăng nhập

Ở dienmayxanh.com, không tin được là website lại cấu hình form đăng kí/ đăng nhập tất cả đều thông qua GET.

Để biết xài GET với đăng nhập, đăng kí nguy hiểm như thế nào thì search google nhé @@

Link đăng nhập

https://www.dienmayxanh.com/ctv/ajax/Common/[email protected]&password=123456e

Những lỗi khác

Bên cạnh đó, còn có nhiều lỗi khác mà theo cá nhân, thì có thể cung cấp cho attacker thông tin hữu ích về server, ví dụ như Full Path Disclosure.

Lỗi param có thể lợi dụng để ddos.

Form upload không filter kĩ nên có thể dùng để upload js, html lên CDN

TIMELINE

Để giống như một bài report thì thường người ta hay đưa cái timeline liên hệ / fix lỗi. Thôi thì mình cũng theo.

10/03/2017 – Report bug cho TGDD.

11/03/2017 2:52 PM – TGDD phản hồi lại.

11/03/2017 6:40 PM – Mình cung cấp chi tiết lỗi.

18 /03/2017 – Cùng contact và fix xong các bug.

Các bài học rút ra

Nên filter tất cả những thông tin đc input vào, và ra. Đối với những bạn hay làm backend hệ thống, nên implement 1 class để thực hiện xử lí những việc này.

Cách check XSS của mình rất đơn giản. Gặp form là táng cái mớ này vô:

'';!--"<XSS><b>aaaa</b>=&{()}

Không bao giờ sử dụng phương thức GET để truyền tải thông tin người dùng, username, password.

Đối với những tác vụ cần lấy danh sách thông tin, nên hạn chế số lượng tin được lấy mỗi lần. Nếu không, với những input không hợp lệ, ví dụ yêu cầu lấy 10000 record từ hệ thống, sẽ gây tải rất lớn cho server.

Và nếu rảnh. đọc lời kết ở đây =)))))))))))))

Chỉ được chơi, đừng chơi quá, chỉ được phá, và chỉ phá tiếp sau khi report bug và nhận phản hồi chờ fix nhé.

Không động đến data người dùng, không thực hiện những hành động xấu như delete server =)))) thì sẽ không sao cả.

 

 

A&C

About the Author

A&C

Thanh niên ham chơi hơn ham học, thích bay nhảy hơn đi mần, tinh thần giao lưu kết bạn nhưng ngại tiếp xúc. Mong manh khó vỡ, ảo tưởng sức mạnh >:)

Follow A&C:

Leave a Comment: