OWASP Testing Guide - Web Application Security Testing 1

Testing: Giới thiệu và nhiệm vụ:

Phần này sẽ mô tả phương pháp OWASP web application security testing và giải thích các test tìm các vulnerabilities trong ứng dụng

What is Web Application Security Testing?

A Security test là một pháp pháp đánh giá độ bảo mật của hệ thống máy tính hoặc mạng bằng các phương pháp xác nhận và xác minh sự bảo mật. Việc Test bảo mật cho ứng dụng web tập trung vào xác minh tính bảo mật của ứng dụng web.

What is a Vulnerability?

Là một lỗ hổng (flaw) hoặc điểm yếu (weakness) trong một thiết kế hệ thống, hoặc bản cài đặt, điều hành hoặc quản lý có thể khai thác nhằm vào bảo mật hệ thống.

What is a Threat?

Một threat có thể là bất cứ thứ gì (Một mã độc bên ngoài, một người dùng hệ thống, một hệ thống không ổn định, etc…) điều này có thể làm hại các tài sản trong ứng dụng (các tài nguyên có giá trị, như là dữ liệu trong database hoặc trong một file hệ thống) bằng cách tìm ra các vulnerability

What is a Test?

Một test là một hành động để chứng minh rằng ứng dụng cần phải trang bị bảo mật

What is the OWASP testing methodology?

Security testing sẽ không bao giờ là một môn khoa học chính xác, nơi mà một dnh sách đầy đủ của tất cả vấn đề nên được test có thể định nghĩa, Thay vào đó, security testing chỉ là một kĩ thuật phù hợp với việc kiểm tra bảo mật của ứng dụng web trong hoàn cảnh nhất định. Mục đích của dự án này là thu thập tất cả các kĩ thuật, giải thích các kĩ thuật và giữ cho guide này được cập nhật thường xuyên. OWASP Web Application Security Testing là phương pháp dựa trên black box approach. The tester không biết thứ gì về hệ thống cần test.

The mô hình bao gồm:

  • Tester: Người mà thực hiện hành động test
  • Công cụ và phương pháp: Là phần chính cho dự án Testing Guide
  • Ứng dụng: The black box to test.

Bài test sẽ chia thành 2 phase:

Phase 1: Passive mode: (bị động)

Trong pasive mode, tester sẽ cố gắng hiểu logic ứng dụng và chơi với ứng dụng. Các công cụ có thể được sử dụng để thu thập thông tin. Ví dụ, một HTTP proxy có thể được sử dụng để quan sát tất cả các HTTP request và response. Ở cuối phase này, tester nên hiểu được các điểm truy cập vào ứng dụng (gates) (VD: HTTP header, parameters, và cookies). Phần thu thập thông tin sẽ giải thích cách để tao một passive mode test.

Ví dụ để tester có thể folloing:

1
https://www.example.com/login/Authentic_Form.html

Link này có thể dẫn đến một form đăng nhập nơi mà ứng dụng yêu cầu Username và password.

The following parameters trình bày 2 cổng truy cập tới ứng dụng:

1
http://www.example.com/Appx.jsp?a=1&b=1

Trường hợp này, ứng dụng sẽ show 2 cổng (param a và b). Tất cả các cổng có thể được tìm thấy trong phase. Một file excel có với cấu trúc thư mục của ứng dụng và tất cả các điểm truy cập sẽ rất hữu dụng cho phase 2

Phase 2: Active mode (chủ động):

Trong phase này tester bắt đầu test sử dụng các phương pháp được mô tả trong các mục dưới đây.

Có thể chia active test thành 11 danh mục nhỏ hơn:

  • Information Gathering
  • Configuration and Deployment Management Testing
  • Identity Management Testing
  • Authorization Testing
  • Session Management Testing
  • Input Validation Testing
  • Error Handing
  • Cryptography
  • Business Login Testing
  • Client Side Testing

Testing for Information Gathering

Hiểu được cách cấu hình deploy tới server hosting là phần quan trọng của bản thân việc testing. Sau tất cả một dãy ứng dụng chỉ mạnh như là phần yếu nhất. Nền tảng ứng dụng là rất rộng và đa dạng, nhưng có vài lỗi cấu hình có thể được khai thác theo cùng một cách