[Bảo mật] Lỗ hổng chết “web” với đường dẫn download file

[Bảo mật] Lỗ hổng chết “web” với đường dẫn download file

Bạn thấy đường dẫn Download file bên dưới bình thường chứ?!

www.golden-lotus.vn/download.php?file=files/download/liendanh/dp-1.pdf

Thật ra thì cái vụ này tình cờ phát hiện hôm qua, không hiểu sao hổm nay có duyên nợ với “Download” và “Upload“. Sáng qua bị ức chế vì team code làm việc không có tâm. Giờ ôm nguyên đống code như đống… Mất cả buổi để sửa code vụ up tài liệu mà không phải do mình viết ra!

Chiều đang search tài liệu thì bắt gặp cái link này. Cái kiểu cấu trúc link download có cấu trúc dạng này rất phổ biến.

download.php?file=….

Mình đã từng gặp rất nhiều lần rồi, nhưng do hôm qua tâm trạng không vui nên sinh ra đa nghi. Vọc thử thế là phát hiện ra một loạt site dính lỗ hổng chết người này.

Nếu bạn là WebDev hoặc chủ đầu tư thì HÃY CẨN THẬN nếu web của bạn cho phép download tài nguyên theo kiểu này.

Bình thường ư?! Nếu bạn nghĩ vậy thì mình sẽ chỉ cho bạn xem mình có thể làm gì với kiểu link này nhé!

Chỉ cần một chiếc điện thoại cũng đủ làm điêu đứng website của bạn.

Sáng nay, mình tiến hành khai thác lỗ hổng này. Tuy nhiên vì đang ngồi trong phòng họp nên đành dùng điện thoại.

Đầu tiên, với kiểu đường dẫn này có nghĩa là “bạn có thể duyệt đến và down bất kỳ tài nguyên nào trên server miễn là biết đường dẫn trỏ đến file đó.

download.php?file=[url tài nguyên]

Do vậy tôi tiến hành down thử file index.php, đây là file mà web nào cũng phải có. Và kết quả như mong đợi, website này không hề check xem người dùng đang truy cập download file gì.

download file index.php
download file index.php

Tiến hành mở file index.php ra xem có thể khai thác thông tin cấu hình hay gì không, và tôi nhận được như sau:

thông tin file index.php
thông tin file index.php

À, hóa ra trang khi vô trang web này, người dùng sẽ được redirect về trang trang-chu.php

Tiếp tục với thủ thuật như trên, tôi down file trang-chu.php này về và kết quả nhận được như sau:

thông tin file trang-chu.php
thông tin file trang-chu.php

Ngay dòng thứ 2, tôi đã thấy thứ tôi cần. Đó là file cấu hình của website – config.php, trong đây tôi đoán sẽ có thông tin về user, pass kết nối database,…

Và như những lần trước, tôi không gặp khó khăn gì trong việc download file quan trọng này

download file config.php
download file config.php

Sau khi mở lên, tôi nhận được

Thông tin file config.php
Thông tin file config.php

Ở file này, tôi tiến hành truy tìm cụm từ pass xem có hay không, và kết quả tôi nhận được là:

thông tin database
thông tin database

Tiếp tục suy đoán, thường thì các website php này thường dùng mysql là Database, dùng phpmyadmin để quản trị database. Thế là tôi thử truy cập phpmyadmin

Và thật may là việc truy cập đến phpmyadmin hoàn toàn không bị chặn, giờ thì với username và password thu thập được ở bước trên, tôi tiến hành đăng nhập

đăng nhập phpmyadmin
đăng nhập phpmyadmin

Kết quả mỹ mãn, tôi hoàn toàn có thể đăng nhập vào!

đăng nhập phpmyadmin
đăng nhập phpmyadmin

Trong các bảng này thì tôi quan tâm nhất bảng admin, trong đây sẽ chứa thông tin quản trị viên.

Thông tin quản trị
Thông tin quản trị

 

Vậy đấy, chỉ với một URL đơn giản như trên cũng có thể khiến Website của bạn bị tổn thương NẶNG NỀ. Bạn thắc mắc vô được Database thì sao ư?

Chắc hẳn bạn sẽ nghĩ à, hacker sẽ phá hoại, xóa hết dữ liệu của bạn,..bla bla.. Vâng, có thể là vậy nhưng đó là việc làm của bọn trẻ trâu. Còn đại đa số thì họ sẽ vẫn để site bạn sống đó, nhưng sẽ mang ký sinh là những đoạn script, mã độc họ cấy lên các bài viết trên trang của bạn. Biến site bạn thành zoombie, đánh cắp thông tin người truy cập…, đối với các Seoer thì họ sẽ dùng site bạn làm site vệ tin, cắm backlink bẩn,…

Cụ thể hơn tôi sẽ viết trong những bài tiếp theo…

Tóm lại thì DO THẰNG CODE KHÔNG CÓ TÂM!!!!

Bạn hoàn toàn có thể chặn kịch bản xấu này bằng cách check mỗi khi người dùng truy cập, download bất cứ tài nguyên nào từ webbsite của bạn. Set quyền truyên cập các thư mục quan trọng như config, phpmyadmin,…bla bla…

Giờ thì đi ngủ! haha

[

Mình đã thông báo cho admin trang này rồi mà không thấy phản hồi, nhìn website cũng chưa có thông tin gì, tuy vậy ai thích vọc thì vọc chứ đừng có phá người ta, mình dẫn ra để cùng nhau học tập, rút kinh nghiệm và code CÓ TÂM hơn!

Thân!

]

-soiqualang.chentreu