Các lỗ hổng bảo mật thông thường (vulnerabitilty)

Sau đây là một số lỗ hổng bảo mật thông thường lập trình viên cần phải hiểu và có thể phòng chống được.

  1. SQL injection
    Câu truy vấn gốc :
    $statement = "SELECT * FROM users WHERE username = '$user' AND password='$password'";

    Câu truy vấn bị inject: (bằng việc thay đổi giá trị của $user và $password)

    $statement = "SELECT * FROM users WHERE username = 'admin'; -- ' AND password
    = 'anything'";
    = 'anything'";

    → Câu truy vấn bị inject sẽ trả về toàn bộ thông tin của admin.
    → Cách phòng chống : (Kiểm tra dữ liệu đầu vào. Tuỳ framework, thư viện sẽ có hỗ trợ).

  2. CSRF và cách phòng chống (CROSS SITE REQUEST FORGERY)
    1. Cách chống chủ yếu :
      1. Edit token (csrf token)
      2. Same origin policy

  3. XSS (CROSS SITE SCRIPTING)
    1. Cách chống :
      1. Validate your input
      2. Escape your output

Leave a Comment

Your email address will not be published. Required fields are marked *