Tắt Quảng Cáo [X] Đăng Nhập để ẩn Tất Cả Quảng Cáo # **FamilyMart Hacked** Không tồn tại hệ thống nào an toàn 100%, family mart cũng không ngoại lệ * Family Mart là gì? FamilyMart là chuỗi cửa hàng tiện lợi thứ 3 tại Nhật, sau 7-Eleven và Lawson. FamilyMart do công ty TNHH FamilyMart sở hữu và quản lý. Hệ thống FamilyMart đã bị hack ra sao thì sau đây là chi tiết nhé. Nếu nói về việc tìm ra lỗ hổng bảo mật thì trước tiên phải tải app FamilyMart trên apk hoặc ios. Dưới đây mình test trên nền tảng IOS. > Chức năng chịu nhiều lỗ hổng nhất đó chính là cập nhật thông tin cá nhân. Khi mình test, cập nhật thông tin cá nhân thành công, sẽ có 3 endpoint API được thực thi và 3 API cũng chính là lỗ hổng mình sẽ đề cập bên dưới **Bug 1: Disclosing sensitive customer information** POST /membership_api/jaxws/PointInqueryService ( Ảnh 1 ) > POST /membership_api/jaxws/PointInqueryService HTTP/1.1 Host: famipoint.vn Connection: close <?xml version="1.0" encoding="utf-8"?> <soap:Envelope> <soap:Header> <AuthHeader> <memberNo>2500201149730</memberNo <pinCode>0000</pinCode <corpCode>300</corpCode> <mode>0</mode> </AuthHeader> </soap:Header> <soap:Body> <pointInquiry> <arg0> <companyCode>0</companyCode <exclusiveMode>0</exclusiveMode <memberNo>2500201149730</memberNo <orgCode>0</orgCode <purchaseSerialNo>0</purchaseSerialNo <terminalNo>0</terminalNo> </arg0> </pointInquiry> </soap:Body> </soap:Envelope> Tham số truyền vàotheo dạng xml, sẽ có 2 phần. soap:Header và soap:Body Header có nhiệm vụ xác thực người dùng có tồn tại trên hệ thống hay không bằng cách kiểm tra *memberNo *và *pinCode.* Body có nhiệm vụ xử lý truy vấn cần thiết nếu header hợp lệ. Các bạn có thể thấy ảnh 2, khi xác thực thành công với memberNo và pinCode, hệ thống sẽ truy vấn tìm thông tin cá nhân của phần body theo tham số memberNo * Vậy bug ở đây là gì? Đó chính là HỆ THỐNG KHÔNG KIỂM TRA memberNo ĐƯỢC XÁC THỰC CÓ KHỚP VỚI memberNo ĐƯỢC TRUY VẤN KHÔNG. Bằng cách này, chúng ta có thể thay tham số ở phần body memberNo, bằng những id khác. Điều này dẫn đến tất cả mọi người chỉ cần xác thực thành công, thì bất kì ai cũng có thể truy vấn đến memberNo của người khác * Tác động? Tiết lộ thông tin cá nhân của hơn 200k khách hàng đang sử dụng app FamilyMart có đăng kí thông tin đầy đủ Tới đây chỉ cần brute force trong một khoảng nhất định ( vd: 2500101149730 đến 2500101159730 ), vậy là 10.000 thông tin khách hàng đã bị tiết lộ ) **Bug 2: Modify customer information and takeover account** POST /membership_api/jaxws/UpdateMemberInfo Sau khi truy vấn thành công, nhằm che xóa dấu vết ta nên đổi luôn thông tin khách hàng cho ng4u` =)) Với bug này, các thực hiện cũng tương tự như trên . Vẫn có header vẫn có body. Vẫn ko chịu xác thực khi truy vấn tài khoản khác. Ta sẽ thay đổi memberNo thành bất kì id nào nhưng đặc biệt có 1 tham số rất thú vị đó là *pinCode. *( Ảnh 3 ) Yes, nó sẽ đổi luôn cả pincode khi update thông tin cá nhân với pincode là của kẻ tấn công, còn memberNo sẽ là của victim. Vừa thay đổi thông tin cá nhân vừa đổi luôn pass người ta Thành công lấy được tài khoản FamilyMart. * Trong tài khoản này có gì mà cần phải lấy? Đấy chính là điểm. Điểm này được dùng để giảm giá thanh toán giảm giá khi mua hàng, thậm chí là free. * Tác động? Chiếm đoạt tài khoản khách hàng, thay đổi tất cả thông tin, thậm chí email, cmnd,.... Nạn nhân sẽ không thể nào lấy lại tài khoản của mình. **Bug 3: Hacking Send Mail Service** POST /membership_api/jaxws/SendMailService Với bug này kiểu kẻ tấn công sẽ gửi email giả mạo/tấn công/lừa đảo tới victim thông qua email của FamilyMart. ( Ảnh 4 ) ( [email protected] ) Vẫn cú pháp quen thuộc header và body. Header chỉ để xác thực cho vui. Body của xml là các tham số như body: Nội dung email subject: Tiêu đề email to: được gửi tới email nào ( Ảnh 5 ) Tới đây mọi việc trở nên dễ dàng, xác thực đã xong ,giờ chỉ cần điền bất kì nội dung, tiêu đề nào gửi đến nạn nhân với tham số ( to ) là xong. Nếu không cảnh giác, người dùng có thể làm theo vì tưởng đây là mail của FamilyMart. ( ảnh 6 ) **Kết thúc:** Sau khi khai thác thành công 3 lỗi này, mình cũng có gửi mail cho bên phía FamilyMart, và không thấy phản hồi, liên tục nhiều lần, nhưng vẫn không có kết quả. Đầu tiên mình sử dụng bug 1 để tìm thông tin nhân viên, thông qua đuôi email @famima.vn, thì mình biết đây chắc là nhân viên bên đó, Vì mình có bug 3, nên thông qua đó gửi email cho bên phía nhân viên của familyMart. Và cuối cùng sau mấy tiếng đồng hồ, lỗi này đã được fix. Mong rằng bài viết này sẽ hữu ích.! #j2team_share #j2team_discussion
cái câu được rất nhiều anh em trong nhóm quan tâm thì lại không được đề cập đến là có được "bâu ty" không , không cần biết nhiều hay ít, có hay ko cũng là động lực để ae ngâm cứu