Các vấn đề an ninh trong giao thức HTTP (Phần 2).

Thảo luận trong 'Web Security' bắt đầu bởi Kaito KID, 17/04/15, 12:04 PM.

  1. Kaito KID

    Kaito KID VIP Members

    Tham gia: 02/07/13, 02:07 PM
    Bài viết: 41
    Đã được thích: 14
    Điểm thành tích:
    16
    [h=1]Tiếp tục bài trước hôm nay mình xin giới thiệu một số vấn đề an ninh trong giao thức http.
    Các vấn đề an ninh trong giao thức HTTP (Phần 1).


    5. Các kiểu tấn công Command Injection, Code Injection, Query Injection
    [/h]Web server thường sử dụng các tham số trong URI làm đầu vào để thực hiện các câu lệnh hệ thống, các câu truy vấn cơ sở dữ liệu. Tuy nhiên, dữ liệu nhận được trong request không phải lúc nào cũng tin tưởng được. Kẻ tấn công có thể tạo và sửa đổi các thành phần trong request (chẳng hạn phương thức, các trường trong header, body…), để thực hiện các câu lệnh hệ thống, truy vấn đến cơ sở dữ liệu…
    Ví dụ, SQL Injection là một kiểu tấn công phổ biến, trong đó web server nhận các tham số trong URI là một phần của câu truy vấn SQL. Do đó, kẻ tấn công có thể lừa web server để thực hiện các câu truy vấn SQL bất hợp pháp, nhằm đánh cắp hoặc phá hoại cơ sở dữ liệu.
    Nhìn chung, không nên sử dụng trực tiếp dữ liệu do người dùng gửi lên để thực hiện các thao tác trên server. Những dữ liệu này cần phải đi qua các bộ lọc, trong đó định nghĩa như thế nào là hợp lệ, như thế nào là bất hợp lệ, từ đó loại bỏ đi các dữ liệu không mong muốn.
    [h=1]6. Lộ thông tin cá nhân[/h]Client thường chứa nhiều thông tin cá nhân, bao gồm cả những thông tin do người dùng cung cấp để tương tác với server (chẳng hạn username, password, nơi ở, địa chỉ email,…) và các thông tin về hoạt động duyệt web của người dùng (lịch sử, dấu trang,…). Khi triển khai, cần chú ý ngăn chặn các điểm có thể để lộ những thông tin riêng tư này.
    [h=1]7. Lộ thông tin nhạy cảm trong URI[/h]URI, theo thiết kế, là để chia sẻ với mọi người dùng, không được đảm bảo an toàn. URI thường được hiển thị trong mã nguồn của website, và được lưu trong danh sách bookmark mà không có các cơ chế bảo vệ. Do đó, sẽ là không an toàn nếu trong URI có chứa các thông tin nhạy cảm, thông tin cá nhân,…
    Nên tránh việc sử dụng phương thức GET để gửi các thông tin cá nhân lên server, vì chúng sẽ được hiển thị trong URI. Thay vào đó, hãy sử dụng phương thức POST.
    [h=1]8. Lộ thông tin phần mềm sử dụng[/h]Các trường User-Agent, Via, Server trong header thường cho biết thông tin về các phần mềm mà bên gửi sử dụng. Theo lý thuyết, điều đó cho phép kẻ tấn công có thể dễ dàng hơn trong việc khai thác các lỗ hổng đã biết của các phần mềm này.
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    Cord thích bài này.