OWASP (Open Web Security Project – Dự án bảo mật web mở) là một tổ chức từ thiện phi lợi nhuận tập trung vào việc cải thiện tính bảo mật của phần mềm và ứng dụng web.
Tổ chức này công bố danh sách các lỗ hổng bảo mật web hàng đầu dựa trên dữ liệu từ nhiều tổ chức bảo mật khác nhau.
Các lỗ hổng bảo mật web được ưu tiên dựa trên khả năng khai thác, khả năng phát hiện và tác động đến phần mềm.
Mục đích chính của OWASP Top 10 là giáo dục các nhà phát triển, nhà thiết kế, nhà quản lý, kiến trúc sư và các tổ chức về các lỗ hổng bảo mật quan trọng nhất.
10 lỗ hổng bảo mật hàng đầu theo OWASP Top 10 là:
Mô tả
Injection là lỗ hổng bảo mật cho phép kẻ tấn công thay đổi các câu lệnh SQL ở backend bằng cách thao túng dữ liệu do người dùng cung cấp.
Lỗi injection xảy ra khi dữ liệu đầu vào của người dùng được gửi đến trình thông dịch như một phần của lệnh hoặc truy vấn và lừa trình thông dịch thực hiện các lệnh không mong muốn và cấp quyền truy cập vào dữ liệu trái phép.
Lệnh SQL khi được thực thi bởi ứng dụng web cũng có thể hiển thị cơ sở dữ liệu phía sau.
Ảnh hưởng
Các đối tượng dễ bị tấn công
Ví dụ
Đăng nhập vào ứng dụng mà không có thông tin xác thực hợp lệ.
Tên người dùng hợp lệ nhưng mật khẩu không có sẵn.
URL kiểm tra: http://demo.testfire.net/default.aspx
Tên người dùng: sjones
Mật khẩu: 1=1′ hoặc pass123
Truy vấn SQL được tạo và gửi đến Interpreter như bên dưới
SELECT * FROM Users WHERE User_Name = sjones AND Password = 1=1′ or pass123;
Đề xuất
Mô tả
Cross Site Scripting còn được gọi tắt là XSS.
Lỗ hổng XSS nhắm vào các tập lệnh nhúng trong một trang được thực thi ở phía máy khách tức là trình duyệt của người dùng chứ không phải ở phía máy chủ. Những lỗi này có thể xảy ra khi ứng dụng lấy dữ liệu không đáng tin cậy và gửi đến trình duyệt web mà không có xác thực phù hợp.
Kẻ tấn công có thể sử dụng XSS để thực thi các tập lệnh độc hại trên người dùng trong trường hợp này là trình duyệt nạn nhân. Vì trình duyệt không thể biết tập lệnh có đáng tin cậy hay không, nên tập lệnh sẽ được thực thi và kẻ tấn công có thể chiếm đoạt cookie phiên, làm hỏng trang web hoặc chuyển hướng người dùng đến các trang web không mong muốn và độc hại.
XSS là một cuộc tấn công cho phép kẻ tấn công thực thi các tập lệnh trên trình duyệt của nạn nhân.
Ảnh hưởng
Các đối tượng dễ bị tấn công
Ví dụ
1. http://www.vulnerablesite.com/home?”<script>alert(“xss”)</script>
Khi chạy đoạn mã trên trên trình duyệt, một thông báo sẽ hiển thị nếu trang web có lỗ hổng XSS.
Cuộc tấn công nghiêm trọng hơn có thể được thực hiện nếu kẻ tấn công muốn hiển thị hoặc lưu trữ session cookie.
2. http://demo.testfire.net/search.aspx?txtSearch <iframe> <src = http://google.com width = 500 height 500></iframe>
Khi chạy đoạn mã trên, trình duyệt sẽ tải một khung vô hình trỏ tới http://google.com.
Cuộc tấn công có thể trở nên nghiêm trọng hơn bằng cách chạy một tập lệnh độc hại trên trình duyệt.
Đề xuất
Mô tả
Các trang web thường tạo session cookie và session ID cho mỗi session (phiên sử dụng) hợp lệ và các cookie này chứa dữ liệu nhạy cảm như tên người dùng, mật khẩu, v.v. Khi session kết thúc bằng cách đăng xuất hoặc đóng trình duyệt đột ngột, các cookie này sẽ bị vô hiệu hóa, nghĩa là đối với mỗi session sẽ có một cookie mới.
Nếu cookie không bị vô hiệu hóa, dữ liệu nhạy cảm sẽ tồn tại trong hệ thống. Ví dụ, người dùng sử dụng máy tính công cộng (Cyber Cafe), cookie của trang web dễ bị tấn công sẽ nằm trên hệ thống và bị kẻ tấn công tiếp cận. Kẻ tấn công sử dụng cùng một máy tính công cộng sau một thời gian, dữ liệu nhạy cảm sẽ bị xâm phạm.
Tương tự như vậy, người dùng sử dụng máy tính công cộng, thay vì đăng xuất, họ đột ngột đóng trình duyệt. Kẻ tấn công sử dụng cùng một hệ thống, khi duyệt cùng một trang web dễ bị tấn công, phiên trước đó của nạn nhân sẽ được mở. Kẻ tấn công có thể làm bất cứ điều gì hắn muốn làm từ việc đánh cắp thông tin hồ sơ, thông tin thẻ tín dụng, v.v.
Cần phải kiểm tra để tìm ra sức mạnh của xác thực và quản lý phiên. Khóa, session token, cookie phải được triển khai đúng cách mà không làm ảnh hưởng đến mật khẩu.
Các đối tượng dễ bị tấn công
Ảnh hưởng
Ví dụ
Đề xuất
Mô tả
Tham chiếu đối tượng trực tiếp không an toàn xảy ra khi một nhà phát triển làm lộ một tham chiếu đến một đối tượng triển khai nội bộ, chẳng hạn như tệp, thư mục hoặc khóa cơ sở dữ liệu như trong URL hoặc dưới dạng tham số FORM. Kẻ tấn công có thể sử dụng thông tin này để truy cập các đối tượng khác và có thể tạo ra một cuộc tấn công trong tương lai để truy cập dữ liệu trái phép.
Ảnh hưởng
Các đối tượng dễ bị tấn công
Ví dụ
Việc thay đổi “userid” trong URL sau có thể khiến kẻ tấn công xem được thông tin của người dùng khác.
http://www.vulnerablesite.com/userid=123
được sửa đổi thành http://www.vulnerablesite.com/userid=124
Kẻ tấn công có thể xem thông tin của người khác bằng cách thay đổi giá trị ID người dùng.
Đề xuất
Mô tả
Yêu cầu giả mạo giữa các trang web là yêu cầu giả mạo đến từ nhiều trang web.
Tấn công CSRF là cuộc tấn công xảy ra khi một trang web, email hoặc chương trình độc hại khiến trình duyệt của người dùng thực hiện hành động không mong muốn trên một trang web đáng tin cậy mà người dùng hiện đã xác thực.
Cuộc tấn công CSRF buộc trình duyệt của nạn nhân đã đăng nhập phải gửi yêu cầu HTTP giả mạo, bao gồm session cookie của nạn nhân và bất kỳ thông tin xác thực nào khác được tự động đưa vào, đến một ứng dụng web dễ bị tấn công.
Kẻ tấn công sẽ gửi một liên kết tới nạn nhân khi người dùng nhấp vào URL để đăng nhập vào trang web gốc, dữ liệu từ trang web đó sẽ bị đánh cắp.
Ảnh hưởng
Các đối tượng dễ bị tấn công
Ví dụ
Nạn nhân đăng nhập vào trang web ngân hàng bằng thông tin đăng nhập hợp lệ. Anh ta nhận được email từ kẻ tấn công nói rằng “Vui lòng nhấp vào đây để quyên góp 1 đô la cho mục đích chính đáng”.
Khi nạn nhân nhấp vào đó, một yêu cầu hợp lệ sẽ được tạo để quyên góp 1 đô la vào một tài khoản cụ thể.
http://www.vulnerablebank.com/transfer.do?account= Cause&amount=1
Kẻ tấn công nắm bắt được yêu cầu này và tạo yêu cầu bên dưới và nhúng vào một nút có nội dung “Tôi quyên góp”.
http://www.vulnerablebank.com/transfer.do?account=Attacker&amount=1000
Vì phiên giao dịch đã được xác thực và yêu cầu được gửi qua trang web ngân hàng nên máy chủ sẽ chuyển 1000 đô la cho kẻ tấn công.
Đề xuất
Mô tả
Cấu hình bảo mật phải được xác định và triển khai cho ứng dụng, khung, máy chủ ứng dụng, máy chủ web, máy chủ cơ sở dữ liệu và nền tảng. Nếu được cấu hình đúng, kẻ tấn công có thể truy cập trái phép vào dữ liệu hoặc chức năng nhạy cảm.
Đôi khi những lỗi như vậy dẫn đến sự xâm phạm toàn bộ hệ thống. Việc cập nhật phần mềm cũng là một biện pháp bảo mật tốt.
Ảnh hưởng
Các đối tượng dễ bị tấn công
Ví dụ
Đề xuất
Mô tả
Lưu trữ mật mã không an toàn là một lỗ hổng phổ biến tồn tại khi dữ liệu nhạy cảm không được lưu trữ an toàn.
Thông tin đăng nhập của người dùng, thông tin hồ sơ, thông tin sức khỏe, thông tin thẻ tín dụng, v.v. nằm trong danh mục thông tin dữ liệu nhạy cảm trên trang web.
Dữ liệu này sẽ được lưu trữ trên cơ sở dữ liệu ứng dụng. Khi dữ liệu này được lưu trữ không đúng cách bằng cách như không sử dụng mã hóa hoặc băm*, nó sẽ dễ bị tấn công.
(*Băm là việc biến đổi các ký tự chuỗi thành các chuỗi ngắn hơn có độ dài cố định hoặc một khóa. Để giải mã chuỗi, thuật toán được sử dụng để tạo khóa phải có sẵn)
Ảnh hưởng
Các đối tượng dễ bị tấn công
Ví dụ
Trong một ứng dụng ngân hàng, cơ sở dữ liệu mật khẩu sử dụng các hàm băm không muối (unsalted hashes)* để lưu trữ mật khẩu của mọi người. Một lỗ hổng SQL injection cho phép kẻ tấn công lấy lại tệp mật khẩu. Tất cả các hàm băm không muối có thể bị tấn công bằng cách lừa dối cưỡng chế trong thời gian ngắn trong khi mật khẩu đã muối sẽ mất hàng nghìn năm.
(*Băm không muối – Muối là dữ liệu ngẫu nhiên được thêm vào dữ liệu gốc. Muối được thêm vào mật khẩu trước khi băm)
Đề xuất
Mô tả
Các ứng dụng web kiểm tra quyền truy cập URL trước khi hiển thị các liên kết và nút được bảo vệ. Các ứng dụng cần thực hiện các kiểm tra kiểm soát truy cập tương tự mỗi khi truy cập các trang này.
Trong hầu hết các ứng dụng, các trang, vị trí và tài nguyên được cấp quyền không được hiển thị cho người dùng được cấp quyền.
Bằng cách đoán thông minh, kẻ tấn công có thể truy cập các trang đặc quyền. Kẻ tấn công có thể truy cập các trang nhạy cảm, gọi các chức năng và xem thông tin bí mật.
Ảnh hưởng
Các đối tượng dễ bị tấn công:
Ví dụ
http://www.vulnerablsite.com có thể được sửa đổi thành http://www.vulnerablesite.com/admin
Đề xuất
Mô tả
Xử lý việc trao đổi thông tin giữa người dùng (máy khách) và máy chủ (ứng dụng). Các ứng dụng thường xuyên truyền thông tin nhạy cảm như thông tin xác thực, thông tin thẻ tín dụng và session token qua mạng.
Việc sử dụng các thuật toán yếu hoặc sử dụng chứng chỉ đã hết hạn hoặc không hợp lệ hoặc không sử dụng SSL có thể khiến thông tin liên lạc bị lộ với người dùng không đáng tin cậy, điều này có thể gây nguy hiểm cho ứng dụng web hoặc đánh cắp thông tin nhạy cảm.
Ảnh hưởng
Các đối tượng dễ bị tấn công
Ví dụ
1. Một ứng dụng không sử dụng SSL, kẻ tấn công sẽ chỉ theo dõi lưu lượng mạng và quan sát cookie phiên nạn nhân đã xác thực. Kẻ tấn công có thể đánh cắp cookie đó và thực hiện tấn công Man-in-the-Middle.
Đề xuất
Mô tả
Ứng dụng web sử dụng một số phương pháp để chuyển hướng và đưa người dùng đến các trang khác cho mục đích đã định.
Nếu không có xác thực phù hợp khi chuyển hướng đến các trang khác, kẻ tấn công có thể lợi dụng điều này và chuyển hướng nạn nhân đến các trang web lừa đảo hoặc chứa phần mềm độc hại hoặc sử dụng lệnh chuyển tiếp để truy cập vào các trang trái phép.
Ảnh hưởng
Ví dụ
1. http://www.vulnerablesite.com/login.aspx?redirectURL=ownsite.com
được sửa đổi thành
http://www.vulnerablesite.com/login.aspx?redirectURL=evilsite.com
Đề xuất
Bài viết gốc: https://www.guru99.com/web-security-vulnerabilities.html
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE