SECURITY TESTING CROSS-SITE SCRIPTING (XSS)

QA/QC Jun 22, 2022

I. Tấn công mạng là gì?

Là hành động xâm nhập trái phép vào hệ thống mạng hạ tầng – mạng máy tính hoặc cơ sở dữ liệu, website, thiết bị điện tử của bất kì tổ chức cá nhân nào qua mạng internet, 3G/4G…

II. Đối tượng tấn công?

- Các doanh nghiệp

- Tổ chức

- Cơ quan nhà nước

- Cá nhân

III. XSS – Cross Site Script

- XSS ( Cross Site Script) là một kĩ thuật tấn công bảo mật khá nguy hiểm với các ứng dụng web

- Hiểu đơn giản là một đoạn mã độc ( thường là Javascript/ HTML) là hacker chèn vào hệ thống thông qua việc thực thi đoạn script này để ăn cắp thông tin phía client hoặc nặng hơn là chiếm quyền truy cập

IV. Phân biệt SQL Injection và XSS

  • SQL Injection:

+ Địa điểm: Mã độc được thực thi ở sever

+ Phương thức: Sử dụng SQL

  • XSS:

+ Địa điểm: Mã độc được thực thi ở máy Client

+ Phương thức: Sử dụng JavaScript hoặc HTML

V. Mô hình hoạt động của XSS

Hacker sẽ tiêm mã độc vào server. Những mã độc này thường được viết = ngôn ngữ lập trình như JavaScript, HTML.
Khi user request vào server, song song với đó mã độc cũng được thực thi, lúc này hacker có thể đánh cắp các thông tin của người dùng hoặc chiếm luôn quyên truy cập.

VI. Phân loại lỗ hổng XSS

Có 3 loại XSS chính:

1. Reflected – XSS

- Dạng tấn công thường gặp nhất trong các loại hình XSS

- Hình thức tấn công: Hacker gửi trực tiếp link có chữa mã độc cho người dùng click vào link này thì trang web sẽ được load chung với các đoạn script độc hại.

- Mục đích:

+ Tấn công trực tiếp và nạn nhân nhắm đến thường là quản trị viên

+ Ăn cắp cookie, chiếm session,… của nạn nhân hoặc cài keylogger trojan… vào máy tính nạn nhân để session của người dung để truy cập dữ liệu và chiếm quyền user trên website.

2. Stored Cross-Site Scripting

- Hình thức tấn công: Hacker chèn trực tiếp mã độc vào CSDL của website, lợi dụng lỗ hổng bảo mật khi dữ liệu gửi lên server không kiểm tra kỹ mà thực hiện lưu trực tiếp vào database

- Mục đích:

+ Tấn công vào nhiều nạn nhân cùng lúc

+ Khi người dùng truy cập vào trang web thì đoạn mã độc sẽ được thực thi chung với quá trình load trang web nhằm tùy ý tạo các phần tử HTML để lấy cắp thông tin.

3. Dom based Cross-Site Scripting

- Hình thức tấn công:

+ Dom based XSS là kỹ thuật khai thác XSS dựa trên việc thay đổi cấu trúc DOM của tài liệu, cụ thể là HTML

+ Hacker tự tấn công trên DOM, không tương tác được với sever

- Mục đích: Thu thập, lấy cắp dữ liệu

VII. Phát hiện XSS

- Kiểm thử tự động

- Kiểm thử thủ công:

1. Lập sơ đồ trang web theo từng URL khác nhau

2. Xác định và liệt kê các input đầu vào của Website

3. Suy nghĩ và liệt kê các testcase kiểm thử

4. Bắt đầu thử nghiệm và chú ý đến kết quả đầu ra

5. Thay đổi các testcase liên tục

VIII. Ngăn ngừa XSS:

- Lọc đầu vào ( Input fitering) và Lọc đầu ra ( Output filtering): Quy ước sẵn một danh sách hợp lệ => gặp yêu cầu không hợp lệ => không thực hiện

- Input/Output Encoding: Mã hóa dữ liệu ( thường thực hiện ở máy chủ)

- Sử dụng Framework.

Tags

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.