<![CDATA[Latest posts for the topic "New bug of Mobifone SMS"]]> /hvaonline/posts/list/13.html JForum - http://www.jforum.net New bug of Mobifone SMS http://www.mobifone.com.vn/ Bug: Free SMS Found by: KDOT //---------------------------------- Sơ lược: -Khai thác dịch vụ gửi tin nhắn miến phí qua mạng của Mobifone để gửi tin nhắn với số lượng không hạn chế, không mất tiền, thậm chí gửi nhiều tin cùng một lúc tới một số máy (SPAM SMS -BOMB SMS) Đánh giá: -Tương đối nguy hiểm -Có thể bị lợi dụng để gây thiệt hại cho nhà cung cấp (là Mobifone - do hoàn toàn miễn phí) -Gây thiệt hại cho người sử dụng (nếu bị khai thác tính năng SPAM SMS - BOMB SMS) Chi tiết: Tôi nói luôn, có thể nhiều người sẽ nghi ngờ khi nghe nói đến gửi tin nhắn miễn phí qua mạng. Bản thân tôi cũng không tin khi mới phát hiện ra lỗi này, tuy nhiên, sau hơn một tháng, kiên trì với khoảng hơn 1000 tin nhắn, tôi đã tin chắc là site của Mobifone bị lỗi. Vấn đề nằm ở giao thức POST và GET trong site của Mobifone, chỉ bằng vài công cụ đơn giản tôi đã GET được toàn bộ tham số để gửi một tin nhắn đến một thuê bao khác khi sử dụng dịch vụ nhắn tin miễn phí của Mobi. Nó có dạng như sau: Code:
http://www.mobifone.com.vn/vietnamese/sms/result.jsp?smsTplId=&mSelect=&pbList=&CCode=84&phonenum=84904xxxxxx&message=abc%0D%0AMobiFone+them+468+tram+phat+song+moi&advFlg=ON&chargeFlg=1
Ngạc nhiên là khi gõ nguyên dòng lệnh như trên vào (tức là sử dụng giao thức GET,đưa toàn bộ các tham số lên địa chỉ) người dùng vẫn có thể gửi tin nhắn bình thường như khi sử dụng form gửi tin nhắn trong site của Mobifone (dùng giao thức POST). Đây là lỗi quan trọng nhất, từ nó dẫn đến việc khai thác các lỗi tiếp theo. Chúng ta quan tâm đến 4 tham số: 1.phonenum: chính là số máy nhận tin nhắn. 2. Message: đây chính là nội dung tin nhắn. 3. advFlg: cờ hiệu, cho biết đây là loại tin có sử dụng quảng cáo hay không. Cờ này sẽ quyết định thuê bao có bị trừ tiền hay không. 4. chargeFlg: lượng tin miễn phí bị trừ đi trong ngày của thuê bao hiện tại. Thông thường, khi người sử dụng gửi tin nhắn miễn phí qua mạng thì: 1. phonenum sẽ là số của Mobi có dạng 8490xxxxxxx hoặc 8493xxxxxxx 2. Trong phần cuối của Message sẽ là nội dung quảng cáo do Mobifone thêm vào. Chẳng hạn: "Mobifone thêm 468 trạm thu phát sóng".... 3.advFlag = ON 4. chargeFlg = 1 Cách khai thác: 1. thay phonenum bằng bất kỳ số máy di dộng nào tùy bạn, không cớ gì là Mobi, Vina hay Viettel... 2. Chỉ cần xóa đoạn text quảng cáo trên trong đoạn địa chỉ trên là người dùng có thể gửi tin nhắn miễn phí một cách đường hoàng mà không hề có quảng cáo. 3. giữ nguyên advFlg = ON để đảm bảo khi gửi tin nhắn sẽ không bị trừ tiền. 4.chargeFlg = 0 để đảm bảo số tin nhắn miễn phí còn lại trong ngày không bị trừ đi, luôn luôn giữ ở mức là 5 (như ban đầu), tức là có thể gửi tin nhắn theo cách trên với số lượng không hạn chế! Vậy đoạn địa chỉ sau hoàn toàn có thể được sử dụng để gửi tin nhắn đến một thuê bao khác mà không mất phí, không QC, không bị hạn chế số lượng. Code:
http://www.mobifone.com.vn/vietnamese/sms/result.jsp?smsTplId=&mSelect=&pbList=&CCode=84&phonenum=849xxxxxxxx&message=abc&advFlg=ON&chargeFlg=0
Vấn đề là ở chỗ: 1. Mobifone đã sơ hở khi không kiểm soát 2 giao thức là POST và GET mà đánh đồng chúng với nhau. 2. Việc chèn nội dung quảng cáo không nên thực hiện ở phía web browser (một đoạn Javascript) mà nên thực hiện ở phía server. 3. Việc ra quyết định thực hiện các hành động kông nên chỉ dựa vào một tham số (như trên đã nói) mà nên cùng lúc kiểm tra đồng thời nhiều tham số, nếu cùng thỏa mãn thì mới ra quyết định hành động tương ứng. (Chẳng hạn như cặp biến advFlag và chargeFlg phải là (ON,1) mới đảm bảo người dùng được phép gửi tin miễn phí, ngoài ra, tất cả đều phải Deny). 4. Khi đã biết được chuỗi GET để gửi tin nhắn như trên, kẻ xấu hoàn toàn có thể lợi dụng để viết một trang web đơn giản sử dụng JS, tạo một vòng lặp, liên tục gửi tin đến một số thuê bao => đấy là SPAM SMS. Trên đây là một số tìm hiểu và nhận định của tôi. Mong các bạn ủng hộ và cho ý kiến để cùng đưa ra giải pháp khắc phục. By: KDOT]]>
/hvaonline/posts/list/10217.html#58558 /hvaonline/posts/list/10217.html#58558 GMT
New bug of Mobifone SMS /hvaonline/posts/list/10217.html#58585 /hvaonline/posts/list/10217.html#58585 GMT Re: New bug of Mobifone SMS /hvaonline/posts/list/10217.html#58586 /hvaonline/posts/list/10217.html#58586 GMT New bug of Mobifone SMS /hvaonline/posts/list/10217.html#58606 /hvaonline/posts/list/10217.html#58606 GMT Re: New bug of Mobifone SMS

darthtuan wrote:
Nó vẫn cho phép có dấu cách đấy chứ.  
Đã là gửi theo GET thì khi bạn cho dấu cách vào thì thông tin sẽ bị mất mát, bạn thử xem :P) ]]>
/hvaonline/posts/list/10217.html#58656 /hvaonline/posts/list/10217.html#58656 GMT
New bug of Mobifone SMS

ntvinhie47 wrote:
Mình cũng đã từng tìm hiểu về vấn đề gửi SMS này, và mình thấy không có gì là lỗi bảo mật ở đây cả, sau đây là một số ý kiến của mình: 1. Nếu bạn dùng GET thì cũng chả sao cả, vẫn gửi được tin nhắn nhưng các tham số bị giới hạn. Ví dụ: nếu có một texteare để nhập vào nội dung tin nhắn thì bạn bắt buộc phải gõ liền, ko có dấu cách (hoặc thay bằng bất cứ kí tự gì để dễ đọc như _,...) 2. Việc quảng cáo hay không thì chả ảnh hưởng gì, vì nếu có quảng cáo thì server sẽ kiểm tra và không trừ tiền, ngược lại thì có. 3. Mình chưa thử với mobiphone nhưng với viettel thì cho dù có để số tin nhắn miễn phí còn lại là bao nhiêu đi nữa cũng vô ích vì ở server sẽ lại kiểm tra lại lần nữa. 4. Trước khi gửi có thể server sẽ kiểm tra cookie do đó bạn cần phải đăng nhập rồi mới có thể thực hiện được việc gửi tin nhắn. Ngoài ra có thể dùng Http Live header để biết được gói tin gửi đi như thế nào ;)  
1. Cái này bạn darthtuan đã trả lời bạn rồi. Trình duyệt sẽ tự động thay dấu cách bằng %20, và khi máy di động nhận được tin nhắn trên, nó sẽ hiển thị lại dấu cách như bình thường. Không có chuyện "mất mát" gì như bạn nói đâu. 2&3. Đấy là vấn đề tôi đang nói đến. Nếu như Mobifone làm như bạn nói thì tôi đã chẳng viết bài này ở đây làm gì. Tôi cũng đã thử check Viettel và Vina, họ không mắc lỗi tương tự. 4. Tôi có bảo là không phải đăng nhập đâu. Người dùng vẫn sử dụng TK số mobile như bình thường như khi họ sử dụng dịch vụ trong trang của mobifone mà. Vấn đề ở đây là họ sẽ không bị trừ tiền. ]]>
/hvaonline/posts/list/10217.html#58684 /hvaonline/posts/list/10217.html#58684 GMT
New bug of Mobifone SMS

LeVuHoang wrote:
Cách này Hoàng thử lâu rồi, MobiFone không trừ ngay mà đợi 1 khoảng thời gian khá lâu (vài ngày ?) mới trừ 1 lần :) 
Bạn nói đúng, Mobifone trừ tiền rất chậm, khoảng 1-2 ngày. Do đó, tôi đã phải dành ra một khỏang thời gian khá dài (hơn 1 tháng) để test thật kỹ bug trên. Và sau hơn một tháng đấy, với khoảng hơn 1000 tin nhắn, TK vẫn không hề bị trừ tiền mà giữ nguyên mức ban đầu. Các bạn có thể tin tưởng rằng, trước khi nêu ra bug này, tôi đã test rất kỹ, chứ không chỉ là "nhận định xuông" đâu.]]>
/hvaonline/posts/list/10217.html#58688 /hvaonline/posts/list/10217.html#58688 GMT
Re: New bug of Mobifone SMS Code:
<input type=hidden name=chargeFlg value=1>
Code:
checkdata('MobiFone giam 10% cuoc noi mang tu 1/5');
Có sửa code lại chút, là vầy, phải thỏa cả 2 thì miễn phí, trừ 1 tin mỗi lần nt, thiếu 1 trong 2 (đổi số value=1 thành số khác 1 cũng thuộc trường hợp này) cũng bị trừ như thường, chả bít phải vậy hông :mrgreen: Đã check, trên trang ds các bản tin đã gửi thấy nó ghi có tính cước (nếu ko thỏa), còn có trừ hay ko thì chưa bít, mới ngồi có nửa giờ chưa thấy trừ :P) ]]>
/hvaonline/posts/list/10217.html#58744 /hvaonline/posts/list/10217.html#58744 GMT
New bug of Mobifone SMS

kdot wrote:
Các bạn có thể tin tưởng rằng, trước khi nêu ra bug này, tôi đã test rất kỹ, chứ không chỉ là "nhận định xuông" đâu. 
Hoàng không rõ, nhưng theo test của Hoàng cách đây vài tháng thì sau 1 thời gian sẽ không dùng được nữa (hoặc có thể do SIM của Hoàng hết tiền ?) :)]]>
/hvaonline/posts/list/10217.html#58848 /hvaonline/posts/list/10217.html#58848 GMT
New bug of Mobifone SMS /hvaonline/posts/list/10217.html#58941 /hvaonline/posts/list/10217.html#58941 GMT New bug of Mobifone SMS

ntvinhie47 wrote:
Mình vừa thử, gửi xong một GET request thì trả về thông báo bắt đăng nhập. 
Đăng nhập vô trước đã, vô trang nhắn tin rồi copy đường link dán vô ]]>
/hvaonline/posts/list/10217.html#58976 /hvaonline/posts/list/10217.html#58976 GMT
New bug of Mobifone SMS /hvaonline/posts/list/10217.html#58982 /hvaonline/posts/list/10217.html#58982 GMT New bug of Mobifone SMS /hvaonline/posts/list/10217.html#60476 /hvaonline/posts/list/10217.html#60476 GMT New bug of Mobifone SMS /hvaonline/posts/list/10217.html#64720 /hvaonline/posts/list/10217.html#64720 GMT Re: New bug of Mobifone SMS /hvaonline/posts/list/10217.html#64774 /hvaonline/posts/list/10217.html#64774 GMT New bug of Mobifone SMS /hvaonline/posts/list/10217.html#65201 /hvaonline/posts/list/10217.html#65201 GMT Re: New bug of Mobifone SMS /hvaonline/posts/list/10217.html#92226 /hvaonline/posts/list/10217.html#92226 GMT Re: New bug of Mobifone SMS /hvaonline/posts/list/10217.html#96236 /hvaonline/posts/list/10217.html#96236 GMT Re: New bug of Mobifone SMS /hvaonline/posts/list/10217.html#96393 /hvaonline/posts/list/10217.html#96393 GMT Re: New bug of Mobifone SMS /hvaonline/posts/list/10217.html#116090 /hvaonline/posts/list/10217.html#116090 GMT Re: New bug of Mobifone SMS

CK wrote:
post hay get thì khác quái gì nhau đâu. :( 
Nếu không khác thì người ta tạo ra làm gì 2 cái chứ :) Bồ chịu khó coi kĩ lại HTTP method và HTML spec http://www.w3.org/MarkUp/html-spec/html-spec_toc.html]]>
/hvaonline/posts/list/10217.html#116137 /hvaonline/posts/list/10217.html#116137 GMT