Top 10 Lỗ hổng trong Ứng dụng Web thường gặp nhất

10-lo-hong-thuong-gap-trong-ung-dung-web-nhat

“90% lỗ hổng bảo mật bắt nguồn từ ứng dụng web, 90% nhà quản trị chưa có cái nhìn tổng quan về bảo mật WebApp”. Đây là lý do dẫn tới số lượng các cuộc tấn công trên mạng ngày càng nhiều. Cùng đọc bài viết “ Top 10 Lỗ hổng trong Ứng dụng Web thường gặp nhất” dưới đây của SecurityBox để thấu hiểu hơn vấn đề bảo mật cho ứng dụng web.

#1. Lỗ hổng XSS (Cross Site Scripting)

Thông qua lỗ hổng XSS, kẻ tấn công có thể chiếm quyền điều khiển phiên người dùng, gỡ bỏ trang web, và có thể đánh cắp thông tin của người dùng dựa trên trình duyệt. Bản chất của dạng tấn công này là dựa vào trình duyệt. Tin tặc có thể chèn mã JavaScript vào các trang web có lỗi XSS, khi người dùng truy cập vào những trang web này, lập tức mã script của tin tặc sẽ hoạt động lưu lại thông tin người dùng.

#2.Chèn mã độc hại (Injection flaws)

Hacker có thể sử dụng điểm yếu của các truy vấn đầu vào bên trong ứng dụng để chèn thêm dữ liệu không an toàn, từ đó máy chủ có thể bị tấn công bởi một số dạng như: SQL Injection, Xpath Injection, XML Injection, Buffer overflow, LDAP lookups, Shell command Injection.

Hậu quả: Một số hoặc tất cả những dữ liệu quan trọng của tổ chức bạn sẽ bị hacker truy cập trái pháp, chúng có thể sửa đổi, xóa bỏ thông tin hoặc thậm chí lợi dụng để tống tiến. Trong các lỗ hổng trên, SQL Injejection là phương thức tấn công thường gặp nhất trong ứng dụng web.

#3.Tệp tin chứa mã độc

Nguy cơ bị tấn công tiềm ẩn với việc mã hóa trong tích hợp tệp tin từ xa (RFI) có thể cho phép kẻ tấn công tạo sự thỏa hiệp của máy chủ. Dạng tấn công bằng tệp tin chứa mã độc này có thể ảnh hưởng đến PHP, XML và bất kỳ tập tin nào từ người dùng.

#4.CSRF (Cross-Site Request Fogery)

lo-hong-CSRF

Một trong những lỗ hổng bảo mật thường gặp trong ứng dụng web là lỗ hổng CSRF.

Lợi dụng cơ chế tự động đăng nhập vào một số website, tin tặc có thể điều hướng người dùng thực hiện các đoạn chứa mã độc, nhúng vào các website mà người dùng đang trong phiên làm việc. Từ đó, mã độc sẽ chạy trên trình duyệt của người dùng và hacker sẽ thực hiện các hành vi gian lận. Vì vậy, trong một số diễn đàn hoặc website khi bạn đăng nhập tài khoản, tốt nhất không nên lưu mật khẩu, tên người dùng.

#5.Tham chiếu đối tượng trực tiếp không an toàn

Mối đe dọa tiềm ẩn ở đây là những kẻ tấn công có thể lợi dụng những tài liệu tham khảo để  truy cập vào quyền của các đối tượng khác mà không sự cho phép. Ví dụ: A có thể mạo danh là B để truy cập vào hệ thống.

Việc tham chiếu các đối tượng, tệp tin, file, bản ghi cơ sở dữ liệu cần được thực hiện gián tiếp và những thông tin nhạy cảm nên được che giấu. Bên cạnh đó, việc phân quyền nhà quản trị cũng cần cài đặt bảo mật ở chế độ cao nhất, không cho phép người lạ truy cập trái phép. Một khi hacker có thể xác định được cấu trúc thông tin chuyển tới server, chúng có thể thu thập dữ liệu người dùng, ăn cắp tài khoản thẻ tín dụng,….

Ví dụ: tham chiếu không an toàn

http://www.error-site.com/download.aspx?filename=/docs/12345.pdf

#6.Rò rỉ thông tin và xử lý lỗi không đúng cách

Mối đe dọa tiềm ẩn từ việc rò rỉ thông tin và xử lý lỗi không đúng cách (Broken Authentication and Session Management) có thể giúp tin tặc ăn cắp dữ liệu nhạy cảm, hoặc tiến hành các cuộc tấn công nghiêm trọng hơn. Một ứng dụng web không được bảo mật tốt có thể vô ý rò rỉ thông tin về cấu hình, hoạt động bên trong, hoặcvi phạm sự riêng tư thông qua một loạt các vấn đề ứng dụng.

#7.Quản lý xác thực và quản lý phiên yếu

Khâu xác thực (authentication) và trao quyền (authorisation) được sử dụng khá phổ biến trong các ứng dụng web. Nếu một trong 2 khâu này không bảo mật mạnh mẽ thì đây chính là lỗ hổng tiềm ẩn giúp tin tặc xâm nhập vào hệ thống. Mối đe dọa tiềm ẩn ở đây là kẻ tấn công có thể thỏa hiệp mật khẩu, mã khóa hoặc danh tính người dùng. Để hạn chế nguy cơ tấn công, quản trị viên nên thiết lập session thật tốt.

#8.Không hạn chế truy nhập vào URL nội bộ

Một trong những giải pháp nhằm hạn chế sự tấn công từ bên trong nội bộ mà nhà quản trị nên làm là hạn chế sự truy cập vào các URL quan trọng. Bạn có thể hạn chế địa chỉ IP, hạn chế sử dụng phân quyền, sự truy cập trực tiếp vào url.

#9.Không kiểm tra sự điều hướng và chuyển tiếp của URL

Lợi dụng sơ hở này, tin tặc có thể điều hướng đường link gốc đến một trang web hoặc 1 ứng dụng lừa đảo hoặc trang web đen. Khi click vào đường dẫn tới trang web lừa đảo, máy tính của người dùng có thể bị nhiễm mã độc và hacker sau đó có thể ép người dùng tiết lộ thông tin cá nhân.

Ví dụ: Trang đăng nhập:

http://www.error-site.com/logon.aspx?url=/member/home.aspx

có thể bị sửa thành:

http://www.error-site.com/logon.aspx?url=http://hacker-site.com

và lừa người dùng click vào.

#10. Sử dụng các lỗ hổng có sẵn trong thư viện

Thực tế hiện nay, một số tổ chức và doanh nghiệp Việt Nam chưa cập nhật những bản vá lỗi trong ứng dụng web của mình, và cá nhân cũng vậy. Một số lỗi xuất phát từ thư viện ứng dụng, một số nằm trong plugin cài thêm, số khác ở trong module ứng dụng. Cũng chính vì điều này mà hacker nhanh chóng khai thác các lỗ hổng bảo mật và hàng loạt người dùng, thiết bị bị ảnh hưởng.