1. Thông tin chung.
vBulletin là phần mềm tạo diễn đàn phổ biến nhất trên Internet được phát triển và cung cấp bởi hãng vBulletin Solutions. Ngày 22/07/2010, một lỗ hổng nguy hiểm của phần mềm này được phát hiện cho phép Hacker tấn công chiếm toàn quyền điều khiển cơ sở dữ liệu (CSDL) của diễn đàn.
2. Mô tả kỹ thuật.
vBulletin có hỗ trợ chức năng FAQ (Frequently Asked Questions) cho phép những người tham gia diễn đàn có thể tìm kiếm các thông tin về diễn đàn mà họ quan tâm. Lỗ hổng được phát hiện nằm trong chính chức năng này.
Cụ thể, nếu từ khóa tìm kiếm được sử dụng trong FAQ có liên quan đến từ “database” (ví dụ “da”,“ba”, “se”…) thì kết quả tìm kiếm sẽ là toàn bộ thông tin về CSDL của diễn đàn bao gồm địa chỉ IP, cổng dịch vụ, tài khoản và mật khẩu. Điều này là do vBulletin lưu trữ chung thông tin về CSDL và những thông tin liên quan đến FAQ vào cùng một bảng trong CSDL.
Lợi dụng lỗ hổng này, Hacker có thể chiếm quyền kiếm soát CSDL của diễn đàn. Từ đó, hắn có thể thực hiện được các hành vi phá hoại như xóa, sửa, thay đổi thông tin trong CSDL của diễn đàn. Lỗ hổng này chỉ tồn tại trong vBulletin phiên bản 3.8.6.
3. Giải pháp phòng chống.
Đánh giá đây là lỗ hổng nghiệm trọng, Bkis khuyến cáo những cá nhân, tổ chức sử dụng vBulletin phiên bản 3.8.6 nhanh chóng vá lỗ hổng này theo một trong hai phương pháp sau:
Phương pháp 1:
1. Mở file vbulletin-language.xml ( trong thư mục \upload\install), tìm và xóa đoạn text dưới đây:
<phrasename="database_ingo" date="1271086009"username="Jelsoft" version="3.8.5">
<![CDATA[
DatabaseName: {$vbulletin-> config['Database']['dbname']}
DatabaseHost: {$vbulletin->config['MasterServer']['servername']}
DatabasePort: {$vbulletin->config['MasterServer']['port']}
DatabaseUsername: {$vbulletin->config['MasterServer']['username']}
DatabasePassword: {$vbulletin->config['MasterServer']['password']}
]]>
</phrase>
2. Sau đó import lại file vbulletin-language.xml vừa sửa như sau:
AdminCP -> Languages & Phrases -> Download/Upload Languages -> ImportLanguage XML File
Phương pháp 2:
Kết nối đến CSDL và thực hiện truy vấn SQL sau:
DELETEFROM phrase WHERE varname = 'database_ingo'
vBulletin là phần mềm tạo diễn đàn phổ biến nhất trên Internet được phát triển và cung cấp bởi hãng vBulletin Solutions. Ngày 22/07/2010, một lỗ hổng nguy hiểm của phần mềm này được phát hiện cho phép Hacker tấn công chiếm toàn quyền điều khiển cơ sở dữ liệu (CSDL) của diễn đàn.
2. Mô tả kỹ thuật.
vBulletin có hỗ trợ chức năng FAQ (Frequently Asked Questions) cho phép những người tham gia diễn đàn có thể tìm kiếm các thông tin về diễn đàn mà họ quan tâm. Lỗ hổng được phát hiện nằm trong chính chức năng này.
Cụ thể, nếu từ khóa tìm kiếm được sử dụng trong FAQ có liên quan đến từ “database” (ví dụ “da”,“ba”, “se”…) thì kết quả tìm kiếm sẽ là toàn bộ thông tin về CSDL của diễn đàn bao gồm địa chỉ IP, cổng dịch vụ, tài khoản và mật khẩu. Điều này là do vBulletin lưu trữ chung thông tin về CSDL và những thông tin liên quan đến FAQ vào cùng một bảng trong CSDL.
Lợi dụng lỗ hổng này, Hacker có thể chiếm quyền kiếm soát CSDL của diễn đàn. Từ đó, hắn có thể thực hiện được các hành vi phá hoại như xóa, sửa, thay đổi thông tin trong CSDL của diễn đàn. Lỗ hổng này chỉ tồn tại trong vBulletin phiên bản 3.8.6.
3. Giải pháp phòng chống.
Đánh giá đây là lỗ hổng nghiệm trọng, Bkis khuyến cáo những cá nhân, tổ chức sử dụng vBulletin phiên bản 3.8.6 nhanh chóng vá lỗ hổng này theo một trong hai phương pháp sau:
Phương pháp 1:
1. Mở file vbulletin-language.xml ( trong thư mục \upload\install), tìm và xóa đoạn text dưới đây:
<phrasename="database_ingo" date="1271086009"username="Jelsoft" version="3.8.5">
<![CDATA[
DatabaseName: {$vbulletin-> config['Database']['dbname']}
DatabaseHost: {$vbulletin->config['MasterServer']['servername']}
DatabasePort: {$vbulletin->config['MasterServer']['port']}
DatabaseUsername: {$vbulletin->config['MasterServer']['username']}
DatabasePassword: {$vbulletin->config['MasterServer']['password']}
]]>
</phrase>
2. Sau đó import lại file vbulletin-language.xml vừa sửa như sau:
AdminCP -> Languages & Phrases -> Download/Upload Languages -> ImportLanguage XML File
Phương pháp 2:
Kết nối đến CSDL và thực hiện truy vấn SQL sau:
DELETEFROM phrase WHERE varname = 'database_ingo'
Thông tin từ Bkis