Phương pháp tấn công ứng dụng web
Analyze Web Applications
Phân tích ứng dụng Web bao gồm việc quan sát chức năng và các thông số để xác định lỗ hổng, điểm truy cập và công nghệ có thể bị khai thác. Các kỹ thuật HTTP requests và HTTP fingerprinting được sử dụng để chẩn đoán các thông số này.
Attack Authentication Mechanism
Khai thác cơ chế xác thực bằng các kỹ thuật khác nhau, kẻ tấn công có thể bỏ qua xác thực hoặc đánh cắp thông tin. Tấn công vào cơ chế xác thực bao gồm:
- Username Enumeration
- Cookie Exploitation
- Session Attacks
- Password Attacks
Authorization Attack Schemes
Kẻ tấn công truy cập ứng dụng web bằng tài khoản đặc quyền thấp, leo thang đặc quyền để truy cập thông tin nhạy cảm. Các kỹ thuật khác nhau được sử dụng như URL, POST dữ liệu, chuỗi truy vấn, cookie, giả mạo tham số, tiêu đề HTTP, v.v.
Session Management Attack
Như đã định nghĩa trước đó, tấn công quản lý phiên được thực hiện bằng cách bỏ qua xác thực để mạo danh người dùng được ủy quyền hợp pháp. Điều này có thể được thực hiện bằng cách sử dụng các kỹ thuật chiếm quyền điều khiển phiên:
- Dự đoán mã phiên
- Giả mạo mã phiên
- Tấn công Man-in-the-Middle
- Phát lại phiên
Perform Injection Attacks
Tấn công Injection về cơ bản là tiêm mã độc, lệnh và tệp bằng cách khai thác các lỗ hổng trong ứng dụng web.
- Web Script Injection
- OS Command Injection
- SMTP Injection
- SQL Injection
- LDAP Injection
- XPath Injection
- Buffer Overflow
- Canonicalization
Attack Data Connectivity
Tấn công kết nối cơ sở dữ liệu tập trung vào việc khai thác kết nối dữ liệu giữa ứng dụng và cơ sở dữ liệu của nó. Điều này yêu cầu chuỗi kết nối để bắt đầu kết nối với cơ sở dữ liệu. Tấn công kết nối dữ liệu bao gồm:
- Connection String Injection
- Connection String Parameters Pollution (CSPP)
- Connection Pool DoS
Mind Map
Biện pháp đối phó
Encoding Schemes
Ứng dụng Web sử dụng các lược đồ mã hóa khác nhau để bảo mật dữ liệu. Các lược đồ mã hóa này được phân loại thành hai loại.
URL Encoding
Mã hóa URL là kỹ thuật mã hóa để xử lý an toàn URL, URL được chuyển đổi thành Định dạng ASCII để truyền tải an toàn qua HTTP. Các ký tự ASCII bất thường được thay thế bằng kí tự “%” theo sau là hai chữ số thập lục phân. Bộ ký tự mặc định trong HTML5 là UTF-8. Biểu đồ sau đây hiển thị một số ký hiệu và mã của chúng.
Character | Windows-1252 | UTF-8 |
---|---|---|
space | %20 | %20 |
! | %21 | %21 |
“ | %22 | %22 |
# | %23 | %23 |
$ | %24 | %24 |
% | %25 | %25 |
& | %26 | %26 |
HTML Encoding
Tương tự, mã hóa HTML là một kỹ thuật biểu diễn các ký tự bất thường với HTML. ASCII là tiêu chuẩn mã hóa ký tự đầu tiên hỗ trợ 128 ký tự chữ và số khác nhau. Các kỹ thuật khác như ANSI và ISO-8859-1 hỗ trợ 256, UTF-8 (Unicode) bao gồm hầu hết mọi ký tự và Biểu tượng.
HTML4
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
HTML5
<meta charset="UTF-8">