1. Trang chủ
  2. » Luận Văn - Báo Cáo

Web penetration testing

65 10 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Web Penetration Testing
Tác giả Bùi Lê Đình Khang, Nguyễn Hoàng Kha
Người hướng dẫn ThS. Phạm Đình Thắng
Trường học Trường Đại Học Ngoại Ngữ - Tin Học TP. HCM
Chuyên ngành Khoa học máy tính và Công nghệ Thông Tin
Thể loại Đề tài tốt nghiệp
Năm xuất bản 2019
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 65
Dung lượng 2,64 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1: CƠ SỞ LÝ THUYẾT (5)
    • 1.1. Kiểm thử bảo mật (Security Testing) (5)
      • 1.1.1. Bảo mật (Security) là gì ? (5)
      • 1.1.2. Kiểm thử bảo mật (Security Testing) là gì ? (5)
      • 1.1.3. Quy trình của kiểm thử bảo mật (5)
    • 1.2. Khái niệm về Penetration Testing (5)
      • 1.2.1. Penetration Testing là gì ? (5)
      • 1.2.2. Khái niệm bảo mật cơ bản ? (6)
      • 1.2.3. Các phương pháp kiểm thử trong Pentest (6)
      • 1.2.4. Tiêu chuẩn thực hiện Pentest (8)
  • CHƯƠNG 2: QUY TRÌNH KIỂM THỬ (9)
  • CHƯƠNG 3: THỰC NGHIỆM WEB PENTEST (20)
    • 3.1. Giới thiệu đối tượng Pentest (20)
      • 3.1.1. Thông tin chung (20)
    • 3.2. Thực nghiệm (20)
      • 3.2.1. Thu thập thông tin (20)
      • 3.2.2. Kiểm thử cấu hình và quản lý (27)
      • 3.2.3. Kiểm thử quản lý nhận dạng (36)
      • 3.2.4. Kiểm thử xác thực (41)
      • 3.2.5. Kiểm thử phân quyền (48)
      • 3.2.6. Kiểm thử quản lý phiên (52)
      • 3.2.7. Kiểm thử giá trị đầu vào (57)
      • 3.2.8. Kiểm thử xử lý lỗi (59)
  • CHƯƠNG 4: KẾT QUẢ (61)
  • CHƯƠNG 5: KẾT LUẬN (64)
  • TÀI LIỆU THAM KHẢO (65)

Nội dung

CƠ SỞ LÝ THUYẾT

Kiểm thử bảo mật (Security Testing)

1.1.1 Bảo mật (Security) là gì ?

Bảo mật là những biện pháp cần thiết để bảo vệ an toàn và giữ bí mật cho ứng dụng, nhằm ngăn chặn các hành động không lường trước có thể gây ảnh hưởng hoặc phá hủy ứng dụng Những hành động này có thể xảy ra một cách cố ý hoặc vô ý.

1.1.2 Kiểm thử bảo mật (Security Testing) là gì ?

Kiểm thử bảo mật là quá trình phát hiện các lỗ hổng và điểm yếu trong hệ thống, nhằm bảo vệ an toàn cho các ứng dụng và hệ thống trong tổ chức Mục tiêu của kiểm thử bảo mật là ngăn chặn rò rỉ thông tin và tổn thất về an ninh, đảm bảo rằng không có sơ hở nào có thể bị khai thác.

1.1.3 Quy trình của kiểm thử bảo mật

Có 4 bước chính trong quá trình kiểm thử bảo mật, quá trình này được lặp đi lặp lại nhiều lần.

Khái niệm về Penetration Testing

Penetration Testing (pentest) là phương pháp kiểm tra an ninh hệ thống công nghệ thông tin bằng cách mô phỏng các cuộc tấn công Pentest giúp đánh giá mức độ an toàn của hệ thống thông qua việc tấn công và xem xét các dịch vụ để phát hiện các lỗ hổng bảo mật tiềm ẩn hoặc dấu vết của các cuộc tấn công đã xảy ra.

Trang 2 thương Người thực hiện một thử nghiệm xâm nhập được gọi là người kiểm tra xâm nhập hoặc pentester

1.2.2 Khái niệm bảo mật cơ bản ?

Lỗ hổng bảo mật, hay còn gọi là vulnerabilities, là những điểm yếu trong phần mềm, phần cứng hoặc hệ điều hành, tạo cơ hội cho các cuộc tấn công vào hệ thống Những lỗ hổng này có thể đơn giản như việc sử dụng mật khẩu yếu, hoặc phức tạp hơn như lỗi tràn bộ đệm và các lỗ hổng SQL injection.

Kẻ tấn công có thể lợi dụng các lỗ hổng trong phần cứng, phần mềm hoặc chuỗi lệnh để thực hiện các hành vi không mong muốn trên hệ thống máy tính Những hành động này bao gồm leo thang đặc quyền, tấn công từ chối dịch vụ và đánh cắp thông tin nhạy cảm.

Mã khai thác (Payload) là các thành phần phần mềm giúp kiểm soát hệ thống máy tính sau khi khai thác thành công lỗ hổng bảo mật.

1.2.3 Các phương pháp kiểm thử trong Pentest

Tấn công từ ngoài vào (Black-box Pentest) là phương pháp kiểm tra an ninh mà không cần thông tin trước về hệ thống Các chuyên gia pentester sẽ nhập vai như những tin tặc mũ đen, nỗ lực thâm nhập vào mạng nội bộ và ngoại vi của khách hàng bằng mọi cách có thể.

Pentester sẽ thực hiện mô phỏng một cuộc tấn công thực sự vào ứng dụng, tập trung vào việc xác định các lỗ hổng bảo mật theo tiêu chuẩn của OWASP và WASC Quá trình thử nghiệm này nhằm phát hiện những lỗ hổng nguy hiểm tiềm tàng trong ứng dụng của khách hàng, đồng thời đánh giá thiệt hại khai thác có thể xảy ra và mức độ nghiêm trọng của chúng.

Tấn công từ trong ra (White-box Pentest) là phương pháp đánh giá an ninh mạng dựa trên thông tin về mạng nội bộ và ngoại được cung cấp bởi khách hàng Việc xác định rủi ro và mối đe dọa từ nhân viên, khách hàng hoặc đối tác thương mại là rất quan trọng, và thử nghiệm hộp trắng có thể giúp doanh nghiệp hiểu rõ hơn về các mối đe dọa này Nhân viên, khách hàng và đối tác thương mại thường nắm giữ nhiều thông tin quan trọng về doanh nghiệp, như việc tồn tại của Intranet hoặc Extranet, trang web, và có thể có thông tin đăng nhập vào hệ thống Những thông tin này có thể được lợi dụng để thực hiện các cuộc tấn công nhắm mục tiêu vào cơ sở hạ tầng của tổ chức, mà có thể không được phát hiện trong thử nghiệm Black Box.

Kiểm định hộp xám (Gray-box hay Crystal-box) giả định rằng tin tặc có thể tiếp cận hệ thống như một nhân viên doanh nghiệp thông qua tài khoản người dùng thông thường Phương pháp này cho phép đánh giá các lỗ hổng bảo mật từ góc độ nội bộ, giúp cải thiện khả năng phòng ngừa và phản ứng trước các mối đe dọa.

1.2.4 Tiêu chuẩn thực hiện Pentest Đánh giá ứng dụng web – OWASP (Open-source Web Application Security Project): OWASP là một chuẩn mở cho phép tổ chức/ doanh nghiệp tiến hành xây dựng, phát triển, duy trì hoạt động của các ứng dụng trên nền tảng web một cách bảo mật nhất Quá trình đánh giá dựa trên các tiêu chí đã được cộng đồng bảo mật xác nhận OWASP bao gồm 10 lỗ hổng được đánh giá một cách chi tiết và cập nhật thường xuyên với thực tế các nguy cơ mà một ứng dụng web thường gặp Đánh giá mạng và hệ thống – OSSTMM (Open Source Security Testing Methodology Manual): OSSTMM là một chuẩn mở cung cấp phương pháp kiểm tra bảo mật một hệ thống đang hoạt động của doanh nghiệp Từ phiên bản 3.0, OSSTMM đưa ra phương pháp kiểm định cho hầu hết các thành tố trong hệ thống như: con người, hạ tầng vật lý, mạng không dây, truyền thông và các mạng sử dụng truyền dữ liệu

QUY TRÌNH KIỂM THỬ

2.1.1 OSSTMM – Open Source Security Testing Methodology Manual

Open Source Security Testing Methodology Manual (OSSTMM) là một chuẩn mở cung cấp một phương pháp kiểm tra an ninh toàn diện cho một hệ thống mạng

Trong bối cảnh môi trường mạng ngày càng phức tạp với sự phát triển của các công nghệ như điều khiển thiết bị từ xa, ảo hóa và điện toán đám mây, việc đảm bảo an ninh mạng đã vượt ra ngoài các thử nghiệm đơn giản trên máy tính và máy chủ Phiên bản 3 của OSSTMM audit đã mở rộng phạm vi đánh giá, bao gồm các yếu tố con người, đường truyền vật lý, thiết bị không dây, thiết bị viễn thông và dữ liệu mạng, nhằm đáp ứng đầy đủ các thách thức an ninh hiện nay.

OSSTMM phù hợp với nhiều hình thức kiểm tra bảo mật như: đánh giá lỗ hổng, kiểm thử thâm nhập, kiểm thử hộp trắng,

Phương pháp đánh giá này được thực hiện triệt để và kết quả báo cáo đầy đủ, có định lượng và đáng tin cậy

OSSTMM áp dụng phương pháp RAV (Risk Assessment Values) để xác định mức độ rủi ro Dựa vào các hoạt động an ninh, việc kiểm soát rủi ro và các giới hạn, RAV có khả năng tính toán giá trị bảo mật thực tế Điểm số RAV phản ánh trạng thái an ninh hiện tại của đối tượng.

Mặt khác, những báo cáo của OSSTMM được trình bày dưới dạng STAR nên đội ngũ quản lý dễ dàng phân tích, đánh giá hệ thống

Quy trình kiểm thử của OSSTMM dễ dàng phù hợp với những quy định của các ngành công nghiệp, ngành kinh doanh và pháp luật, chính phủ

2.1.2 OWASP – Open Web Application Security Project

The Open Web Application Security Project (OWASP) is a community-driven initiative aimed at enhancing application security awareness within organizations.

Tổ chức phòng thủ cho các thiết bị mạng không chỉ ngăn chặn mã độc xâm nhập mà còn ngăn cản truy cập trái phép vào hệ thống Tuy nhiên, các ứng dụng web vẫn có thể bị tấn công trước khi hệ thống bị xâm phạm Do đó, việc kiểm tra và đánh giá các nguy cơ bảo mật trên ứng dụng là cần thiết OWASP được thiết lập với mục tiêu này.

The Open Web Application Security Project (OWASP) is a nonprofit organization that has established the OWASP standards to facilitate effective and detailed penetration testing.

Cung cấp các công cụ và tiêu chuẩn hàng đầu thế giới về An Toàn Thông Tin, cùng với các thư viện và quy định cần thiết để kiểm soát và quản lý an ninh thông tin hiệu quả.

Cung cấp những tài liệu hàng đầu về bảo mật ứng dụng, pentest, kiểm tra mã nguồn và lập trình một cách an toàn nhất.

Tiêu chuẩn đánh giá an ninh mạng OWASP cung cấp các kỹ thuật đánh giá chi tiết, giúp pentester tiết kiệm thời gian và thực hiện kiểm tra một cách hiệu quả.

OWASP hỗ trợ các công cụ kiểm thử cho webapp tự động như: WebScarab, Wapiti, JbroFuzz, SQLiX

Ngoài tiêu chuẩn pentest OWASP còn có tiêu chuẩn đánh giá mạng và hệ thống OSSTTM, NIST…

Configuration and Deployment Management Testing

2.1.3 ISSAF – Information Systems Security Assessment Framework

ISSAF là một khung được cung cấp bởi Nhóm bảo mật hệ thống thông tin mở (OISSG), một tổ chức phi lợi nhuận có trụ sở tại London

Khi pentesting phát triển, các công ty cần nhận thức rõ về các dịch vụ cần thiết, tài sản dễ bị tổn thương và các mối đe dọa tiềm ẩn Việc này đòi hỏi cả người quản lý và khách hàng của pentesters phải hiểu rõ để đáp ứng hiệu quả nhu cầu của khách hàng.

Phương pháp kiểm thử xâm nhập ISSAF đánh giá an ninh của các thành phần mạng, hệ thống và ứng dụng, tập trung vào các công nghệ như thiết bị định tuyến, chuyển mạch, tường lửa, hệ thống phát hiện và phòng thủ xâm nhập, mạng riêng ảo, máy chủ ứng dụng web và cơ sở dữ liệu.

ISSAF được biết đến như một nguồn tài nguyên quý giá cho việc đánh giá các kiểm soát bảo mật hiện tại và kết nối các nhiệm vụ liên quan Đối với những pentester mới, ISSAF là một kho tàng thông tin hữu ích Tuy nhiên, các pentester đã qua đào tạo nên xem xét chuyển sang OSSTMM hoặc các phương pháp kiểm tra khác để tận dụng tối đa lợi ích từ mỗi phương pháp.

- Mô hình kiểm thử được tham khảo theo mô hình OWASP (Open Web Application Security Protocol)

CONFIGURATION AND DEPLOYMENT MANAGEMENT TESTING

Thu thập bằng công cụ tìm kiếm _ URL trang web, địa chỉ ip, domain, server, DNS

Kiểm thử máy chủ web _ Kiểm thử HTTP version, server, Framework

Kiểm thử file Robots.txt _ Khai thác những URL nhạy cảm được ẩn đi

Kiểm thử các ứng dụng trên máy chủ web _ Kiểm thử port đang mở, hosting, DNS server, Reverse- IP

Kiểm thử HTTP Header _ Kiểm thử HTTP request - response

Kiểm thử tài nguyên trang web

_ Kiểm thư danh sách các trang web, file mở rộng Kiểm thử các Framework _ Kiểm thử cookies, source code

(kiểm thử cấu hình và quản lý)

Kiểm thử cấu hình mạng/ cơ sở hạ tầng _ Kiểm thử địa chỉ ip, port đang mở, lỗ hổng có thể bị tấn công

Kiểm thử cấu hình nền tảng ứng dụng _ Kiểm thử những lỗi trong máy chủ Kiểm thử xữ lý phần mở rộng _ Kiểm thử file Robots.txt

Kiểm thử các phương thức HTTP

_ Kiểm thử những phương thức HTTP được hỗ trợ

Kiểm thử HSTS _ Kiểm thử HTTP Strict

Kiểm thử chính sách tên miền _ Kiểm thử file crossdomain.xml

(kiểm thử quản lý nhận dạng)

Kiểm thử quy trình đăng ký người dùng _Kiểm thử quy trình đăng ký là thủ công hay tự động.

_Nếu thủ công có thể bỏ qua bước này.

_Nếu tự động kiểm tra các thông tin được yêu cầu dùng để đăng ký.

Kiểm thử khả năng liệt kê tài khoản và đoán tài khoản yếu

_ Kiểm thử khả năng đoán tài khoản yếu.

_ Kiểm thử chính sách đặt tên tài khoản.

_Cơ chế sử dụng thông tin đăng nhập (email,sdt ).

_ Kiểm thử khả năng liệt kê tên tài khoản tồn tại.

_Xem phản hồi của website với tên tài khoản hợp lệ và tên tài khoản không hợp lệ.

Kiểm thử đường truyền thông tin đăng nhập bao gồm việc xác định phương thức truyền tin, liệu là GET hay POST, và kiểm tra xem đường truyền có được mã hóa bằng HTTPS hay không, nhằm đảm bảo an toàn cho dữ liệu người dùng.

Kiểm thử mật khẩu của tài khoản được tạo mới _ Mật khẩu được cấp từ

+ Hệ thống tự động + Quản trị viên + Người dùng

Kiểm thử cơ chế khóa tài khoản vi phạm _ Kiểm thử số lần đăng nhập thất bại tối đa.

_ Kiểm thử cơ chế xử phạt.

_ Kiểm thử cơ chế mở khóa tài khoản.

Kiểm thử độ an toàn khi tài khoản được lưu trong browser _ Kiểm thử thông tin đăng nhập có chứa trong cookie không.

_ Kiểm tra hàm mã hóa.

_ Kiểm thử các request có chứa thông tin đăng nhập.

Kiểm thử vùng nhớ đệm của browser

_ Kiểm thử website có yêu cầu browser không lưu trữ các trang có chứa thông tin nhạy cảm không?

_ Yêu cầu đăng nhập lại đối với các trang chứa thông tin nhạy cảm.

Kiểm tra chính sách đặt mật khẩu _ Kiểm thử các thông tin nào được phép và không được phép để đặt làm mật khẩu.

_ Người dùng bắt buộc sử dụng các dạng ký tự nào trong mật khẩu

Kiểm tra câu hỏi và câu trả lời bí mật của người dùng _ Kiểm thử độ phức tập của câu hỏi bí mật và câu trả lời bí mật.

_ Câu hỏi và câu trả lời do ai cung cấp ?

Kiểm thử tham số truyền tải thư mục _Kiểm thử những tham số có trong URL trang web

Kiểm thử vượt phân quyền _Kiểm thử những trang có thể vượt phân quyền _Kiểm tra cookies

Kiểm thử leo thang phân quyền _Kiểm thử URL của trang web

(kiểm thử phiên quản lý)

Kiểm thử các thuộc tính của cookies

_ Secure attributes _ HTTPonly attributes _ Domain attributes _ Path attributes _ Expires attributes

Kiểm thử cookies xác thực _ Kiểm thử cơ chế phát sinh cookie.

_ Kiểm thử cookie trước khi đăng nhập và sau khi đăng nhập.

Kiểm thử chức năng đăng xuất và hạn sử dụng của session

_ Kiểm thử cookie sau khi đăng xuất.

+ Cookie còn hiệu lực không?

+ Có thuận lợi cho người dùng sử dụng không ? + Cookie có được tạo mới không ?

+ Cookie cũ có thể sử dụng lại không?

_ Kiểm thử hạn sử dụng của session.

+ Hạn sử dụng của session ?+ Hạn sử dụng của session khi không có tương tác ?

(kiểm thử giá trị đầu vào)

Kiểm thử Cross Site Scripting

_ Kiểm thử các tham số hoặc các lỗ hổng các thể chèn XSS

Kiểm thử SQL Injection _ Kiểm thử lỗ hổng SQL injection

Kiểm thử LDAP Injection _ Kiểm thử lỗ hổng LDAP

Kiểm thử XML Injection _ Kiểm thử lỗ hổng XML

(kiểm thử xử lý lỗi)

Kiểm thử trang thông báo lỗi là một phần quan trọng trong quy trình phát triển phần mềm, giúp xác định các mục cần kiểm tra để đảm bảo tính chính xác và hiệu quả của thông báo lỗi Kiểm thử xử lý lỗi trực tiếp cần được thực hiện trong nhiều trường hợp khác nhau để đảm bảo rằng hệ thống có thể xử lý các tình huống lỗi một cách chính xác và nhanh chóng.

THỰC NGHIỆM WEB PENTEST

Giới thiệu đối tượng Pentest

3.1.1 Thông tin chung: Đối tượng penetration testing là trang web: http://daotao.huflit.edu.vn

Trong domain có phần hậu tố là “edu.vn” người kiểm tra có thể thấy đây là trang web thuộc về giáo dục và đào tạo

Trang web này là cổng thông tin đào tạo chính thức của Trường Đại học Dân lập Ngoại ngữ - Tin học TP.Hồ Chí Minh, tọa lạc tại 155 Sư Vạn Hạnh, phường 13, quận 10, TP Hồ Chí Minh.

Trang web chủ yếu phục vụ sinh viên bằng cách cung cấp các chức năng như đăng ký môn học, tra cứu thời khóa biểu, thông tin học phí, lịch thi và điểm thi.

Tên miền huflit.edu.vn được đăng ký vào ngày 18/07/2003 và sẽ hết hạn vào ngày 18/07/2024 Trong hệ thống tên miền này, có các subdomain như daotao.huflit.edu.vn (cổng thông tin đào tạo), fit.huflit.edu.vn (trang web của khoa Công nghệ Thông tin) và lib.huflit.edu.vn (trang web quản lý thư viện).

Thực nghiệm

Là quá trình kiểm nghiệm thực tế các lý thuyết được công bố trong mô hình kiểm thử

3.2.1.1 Kiểm tra bằng công cụ tìm kiếm

 Sử dụng công cụ tìm kiếm online

Trang web daotao.huflit.edu.vn là cổng thông tin chính thức của trường Đại học Ngoại Ngữ - Tin Học Thành phố Hồ Chí Minh Website này được thiết kế nhằm phục vụ sinh viên trong việc đăng ký môn học, tra cứu thời khóa biểu và thông tin học phí.

 Thông tin trang web o Trang web http://daotao.huflit.edu.vn là 1 subdomain của trang http://huflit.edu.vn chung với những trang khác như

 http://fit.huflit.edu.vn

The HUFLIT Library, established on July 18, 2003, is set to expire on July 18, 2024, and is registered under PA Vietnam Co., Ltd The library's website utilizes DNS servers reverse2.digipower.net.vn and reverse1.digipower.net.vn, with a reverse DNS of mx5157.digipower.com.vn Online Data Service is the internet service provider for the library.

3.2.1.2 Kiểm thử máy chủ web

- Công nghệ trang web đang sử dụng: o Hệ điều hành: Windows server o Web Framework: ASP.NET version 2.0

Trang 19 o Server: Microsoft – IIS/8.5 o Thư viện Javascript: jQuery 2.2.3 o HTTP version: HTTP/1.1

 Rủi ro: Kẻ tấn công có thể sử dụng những thông tin này để thực hiện những cuộc tấn công đến trang web

3.2.1.3 Kiểm thử ứng dụng trên máy chủ web

 Kiểm thử file robots.txt o File robots.txt là file cho phép và ngăn chặn quyền truy cập của các bot tìm kiếm vào trong trang web

 Kiểm thử các port đang sử dụng Nmap -sS daotao.huflit.edu.vn

 Trang web sử dụng những cổng 80 (HTTP), cổng 1433 (MS SQL Server),…

 Trang web sử dụng cơ sở dữ liệu SQL Server 2014 trên cổng 1433

3.2.1.4 Kiểm thử HTTP Request – Response

 HTTP header truyền tải những thông tin như: trình duyệt người dùng, kiểu nội dung, cookies và được trả về công nghệ máy chủ đang sử dụng

3.2.1.5 Kiểm thử tài nguyên trang web

 Tìm những trang web con trong trang web

 Việc người kiểm thử map các đường dẫn con của trang web giúp cho việc quản lý một cách bao quát hơn không bỏ sót

 Trang web sử dụng cookies do máy chủ cung cấp, phát sinh tự động và không chứa thông tin người dùng

 Kiểm thử thư mục mở rộng

 Phần mở rộng trên URL giúp cho người kiểm thử biết được nền tảng và công nghệ đang sử dụng VD: *.aspx => Microsoft ASP.NET

 Trang web sử dụng tham số “page” để gọi những trang cần thiết khi người dùng yêu cầu

3.2.2 Kiểm thử cấu hình và quản lý

3.2.2.1 Kiểm thử cấu hình mạng / cơ sở hạ tầng

 Kiểm thử địa chỉ ip trang web, nslookup

 Kiểm thử các cổng (port) đang mở

 Kiểm thử các lỗ hổng có thể bị tấn công

 Kiểm thử địa chỉ ip trang web, nslookup

 Trang web có địa chỉ ip là: 112.78.5.157

 Nslookup đến trang web kiểm tra việc trả về địa chỉ ip sau khi phân giải tên miền

 Kiểm thử các cổng (port) đang mở Nmap –sS daotao.huflit.edu.vn

 Kiểm thử các port trang web đang sử dụng nhằm để biết, tối ưu và ngăn chặn những truy cập trái phép từ những port đó

 Kiểm thử các lỗ hổng có thể bị tấn công o Kiểm thử HTTP response

 Trang web chưa được cấu hình những bảo mật HTTP header: X-Frame-Options (bảo vệ trước các cuộc tấn công Clickjacking), X-XSS-Protection (giảm bớt các

Trang 25 cuộc tấn công XSS), X-Content-Type-Options (ngăn chặn các cuộc tấn công lừa đảo hoặc XSS)

 Trang web mở những port thông dụng như port 80, 8081 (HTTP), port 1433 (MS-SQL-S),…

 Trang web sử dụng những công nghệ web phổ biến như server (IIS 8.5), hệ điều hành (Windows Server), web framework (ASP.NET),…

 Trang web chưa cấu hình bảo mật HTTP header

3.2.2.2 Kiểm thử cấu hình nền tảng ứng dụng

 Kiểm thử các lỗi trong máy chủ

 Máy chủ web không có những lỗi về phía máy chủ

3.2.2.3 Kiểm thử xử lý phần mở rộng

 Kiểm thử file robots.txt

 Kiểm thử file robots.txt o Kiểm thử file: http://daotao.huflit.edu.vn/robots.txt

 Trang web không sử dụng file robots

 Trang web có các dạng file như: *.js, *.aspx, *.htm, *.axd, *.ashx

3.2.2.4 Kiểm thử giao diện quản trị

 Kiểm thử giao diện quản trị viên

 Trang web được thiết kế bởi công ty phần mềm Anh Quân

Giao diện đăng nhập thành viên trên trang web

Giao diện quản lý bằng WinForm

Sơ đồ lấy dữ liệu của trang web

Dữ liệu được quản lý thông qua giao diện Windows Form, và khi quản trị viên đăng nhập, người kiểm tra không thể truy cập vào giao diện đăng nhập trên trang web.

3.2.2.5 Kiểm thử các phương thức HTTP

 Kiểm tra phương thức HTTP trang web hỗ trợ

Nmap –p 80 script http-methods daotao.huflit.edu.vn

Các phương thức HTTP được hỗ trợ o Phương thức GET

Sử dụng phương thức GET để truyển dữ liệu giá trị là trang giới thiệu

“page=gioithieu” lên máy chủ

Phương thức GET o Phương thức POST

Sử dụng phương thức POST để truyền dữ liệu như thông tin đăng nhập người dủng lên máy chủ

 Trang web sử dung phương thức POST để truyền thông tin đăng nhập lên server

 Kiểm thử HTTP response o HSTS là cụm từ viết tắt của HTTP Strict Transport Security

Nó là bảo mật nâng cao giúp chuyển hướng tất cả các truy cập trên website từ HTTP sang HTTPS

 Khi trang web có sử dụng HSTS trong HTTP header sẽ trả lại dòng lệnh như sau:

 Trang web không sử dụng HSTS 3.2.2.7 Kiểm thử chính sách tên miền

 Kiểm thử file crossdomain.xml

 Trang web không sử dụng chính sách tên miền chéo

Quy trình kiểm thử Đánh giá Nội dung Yêu cầu

Kiểm thử cấu hình mạng – cơ sở hạ tầng

Không đạt Kiểm thử những cấu hình của trang web như: ip, nslookup, port, các công nghệ web, http header

- Trang web cần cấu hình những bảo mật http header

- Cần hạn chế đưa ra những thông tin nền tảng ứng dụng web

Kiểm thử cầu hình nền tảng ứng dụng Đạt Kiểm thử những lỗi thuộc về phía máy chủ

Kiểm thử file mở rộng Đạt Kiểm thử xử lý những phần mở rộng của trang web ( file aspx, js, doc, pdf, ashx,…)

Kiểm thử giao diện đăng nhập và trang quản trị Đạt Kiểm thử giao diện đăng nhập và quản trị của quản trị viên

Kiểm thử các phương thức của HTTP Đạt Kiểm thử các phương thức truyền thông tin lên server của trang web

Kiểm thử chuyển hướng bảo mật HTTP

Không đạt Kiểm thử chứng chỉ bảo mật của trang web

Cần cấu hình giao thức bảo mật, HSTS

Kiểm thử chính sách tên miền Đạt Trang web không cấu hình chính sách tên miền chéo

3.2.3 Kiểm thử quản lý nhận dạng

3.2.3.1 Kiểm thử quá trình đăng ký tài khoản người dùng

 Kiểm thử tài khoản người dùng được cấp từ quản trị viên hay do người dùng tự tạo

 Nếu là thủ công do quản trị viên cấp có thể bỏ qua bước này

 Nếu do người dùng tự tạo, cần kiểm tra các thông số được yêu cầu để tạo tài khoản

 Tài khoản người dùng của sinh viên do quản trị viên cấp thủ công

 Quy trình kiểm thử này không cần thiết cho website

 Kiểm thử website có quy trình tạo tài khoản yếu

 Ví dụ: trang web https://nhattao.com

Form đăng ký tài khoản

Cho phép đăng ký với mật khẩu yếu

 Website sử dụng email, số điện thoại, tên để làm thông tin đăng nhập Trong đó

“Tên” không có chính sách an toàn, không được yêu cầu độ phức tạp

 Mật khẩu do người dùng tự do nhập, không có ràng buộc về độ phức tạp

 Tài khoản mới có mật khẩu yếu sẽ dễ bị tấn công brute-force.

 Cần có chính sách yêu cầu người dùng sử dụng mật khẩu kết hợp các ký tự thường, ký tự hoa, ký tự số và đặt biệt

 Quy định số lượng ký tự tối thiểu ít nhất là 8

 Không sử dụng “tên” hoặc nickname công khai làm thông tin đăng nhập

3.2.3.2 Kiểm thử tên tài khoản

 Kiểm thử chính sách đặt tên tài khoản

 Kiểm thử khả năng liệt kê tài khoản tồn tại trong cơ sở dữ liệu.

 Kiểm thử khả năng đoán tên tài khoản

Website áp dụng chính sách đặt tên tài khoản dựa trên thông tin sinh viên, bao gồm năm nhập học, bậc học và mã số khoa tương ứng.

Trang 34 o VD: 15DH110109 o 15 là năm nhập học o DH là bậc đại học o 110109 là mã số

 Kiểm thử khả năng tồn tại của tài khoản o Sử dụng chức năng đăng nhập với các yêu cầu sau và xem xét phản hồi từ máy chủ:

 Sai tài khoản và mật khẩu

 Đúng tài khoản, sai mật khẩu

 Sai tài khoản, đúng mật khẩu

Lỗi trả về sau khi đăng nhập sai

 Tất cả các trường hơp đều trả về kết quả “Sai thông tin đăng nhập” o Sử dụng chức năng quên mật khẩu

 Thông báo tài khoản nào không đúng (không tồn tại)

Kiểm thử đoán tên tài khoản không thể thực hiện thành công đối với một đối tượng cụ thể, vì mã số được cấp phát cho đối tượng đó là ngẫu nhiên và không liên quan đến bất kỳ thông tin cá nhân nào của họ.

 Không thể kiểm tra sự tồn tại của tài khoản bằng chức năng đăng nhập

 Có thể kiểm tra sự tồn tại của tài khoản bằng chức năng quên mật khẩu

 Có thể tạo một danh sách các tài khoản có khả năng được sử dụng dựa vào chính sách đặt tên tài khoản của website

 Kiểm thử website có thể đoán được sự tồn tại của tài khoản bằng chức năng đăng nhập

 Ví dụ: trang web https://nhattao.com

 Đối với tài khoản đúng, máy chủ web sẽ trả về thông báo “ Nhập sai mật khẩu Vui lòng thử lại”

 Đối với tài khoản sai, máy chủ trả về thông báo tài khoản không tồn tại

Người kiểm thử có thể xác định tài khoản tồn tại trong cơ sở dữ liệu của máy chủ thông qua việc đọc thông báo mà máy chủ trả về.

Quy trình kiểm thử Đánh giá Nội dung Yêu cầu

Kiểm thử quá trình đăng ký tài khoản thông tin người dùng

Trang web không có chức năng tự tạo tài khoản

- Tài khoản được cấp bởi quản trị viên

Kiểm thử tên tài khoản Đạt - Không thể đoán tài khoản của từng đối tượng cụ thể

- Có thể kiểm tra sự tồn tại của tài khoản bất kì bằng chức năng quên mật khẩu

3.2.4.1 Kiểm thử đường truyền xác thực

 Website sử dụng đường truyền thông tin là HTTP hay HTTPS

 Website sử dụng phương thức truyền tin GET hay POST

 Xem thông tin header của gói tin yêu cầu đăng nhập được gửi lên server

 Đường truyền sử dụng là HTTP và phương thức truyền thông tin là POST

 Thông tin đăng nhập chứa trong gói tin có dạng như sau:

 Vì đường truyền là HTTP nên thông tin được truyền đi sẽ không được mã hóa

 Hacker có thể dễ dàng bắt gói tin và đọc được thông tin đăng nhập một cách dễ dàng

 Trang web nên sử dụng đường truyền HTTPS cho việc đăng nhập tài khoản.

3.2.4.2 Kiểm thử thông tin đăng nhập mặc định

 Kiểm thử mật khẩu của tài khoản được tạo mới

 Mật khẩu được cấp từ hệ thống tự động, quản trị viên hay người dùng tự nhập

 Thông tin đăng nhập của sinh viên được quản trị viên tạo và gửi cho từng sinh viên

 Tài khoản chỉ có thể được tạo bởi quản trị viên website

 Người dùng ngoài không thể tự ý tạo tài khoản

3.2.4.3 Kiểm thử cơ chế xử phạt với tài khoản đăng nhập sai liên tiếp

 Kiểm thử việc sử phạt đối với tài khoản đăng nhập thất bại nhiều lần

 Sử dụng 1 tài khoản có tồn tại và mật khẩu sai đăng nhập nhiều lần

 Tài khoản không bị khóa sau nhiều lần đăng nhập sai

 Website không có cơ chế khóa tài khoản

 Website không có quy định số lần đăng nhập sai

 Website cần có chính sách sử phạt đối với tài khoản thực hiện đăng nhập thất bại nhiều lần

 Yêu cầu về vi phạm: o Số lần đăng nhập thất bại là bao nhiêu?

 Cách thức khóa và mở khóa tài khoản o Khóa tài khoản và tự động mở lại sau 1 khoản thời gian

Trang 39 o Khóa tài khoản và yêu cầu người dùng liên hệ với quản trị viên để mở lại o Khóa địa chỉ IP gửi yêu cầu và tự động mở sau 1 khoản thời gian o Thời gian tự động mở khóa sau khi vi phạm?

3.2.4.4 Kiểm thử các lỗ hổng bypass

 Trang web không tồn tại các lỗ hổng bypass

3.2.4.5 Kiểm thử cookies được lưu trong trình duyệt web

 Mật khẩu có được lưu trong cookie không? Mật khẩu nếu được lưu có mã hóa không?

 Kiểm thử hàm mã hóa

 Thông tin đăng nhập chỉ được gửi khi đăng nhập, không gửi cùng các request khác của browser

Cookies trước khi đăng nhập

Cookies sau khi đăng nhập

 Cookies không chứa thông tin đăng nhập người dùng

3.2.4.6 Kiềm tra bộ nhớ cache của browser

Kiểm thử bộ nhớ cache có thể lưu trữ thông tin nhạy cảm ngay cả sau khi người dùng đã đăng xuất Để đảm bảo an toàn, người dùng cần phải đăng nhập lại nếu muốn truy cập vào các trang chứa thông tin nhạy cảm.

 Kiểm thử máy chủ có yêu cầu browser không lưu trữ dữ liệu của trang chứa thông tin nhạy cảm không?

 Sau khi đăng nhập thành công, chúng ta thực hiện mở các mục chứa thông tin nhạy cảm như thông tin cá nhân, lý lịch…

 Tiếp đến, thực hiện hành động thoát tài khoản và sử dụng nút

“back” để trở về các trang chứa thông tin nhạy cảm

 Có thể sử dụng nút “Back” để xem các thông tin mà người dùng đã xem với quyền của người đó Dù họ đã đăng xuất

 Thiết lập cho server yêu cầu browser không được phép lưu các trang có chứa thông tin nhạy cảm.

 Yêu cầu người dùng đăng nhập lại nếu muốn truy cập vào trang chứa thông tin nhạy cảm.

3.2.4.7 Kiểm thử chính sách đặt mật khẩu

 Kiểm thử website có yêu cầu độ phức tạp cho mật khẩu không?

 Để kiểm thử, ta sử dụng chức năng thay đổi mật khẩu để kiểm thử

 Thông tin yêu cầu gồm mật khẩu cũ và mật khẩu mới

 Ta sẽ nhập mật khẩu mới với 1 ký tự

 Mật khẩu mới được chấp nhận

 Website không có chính sách đặt mật khẩu an toàn

 Người dùng có thể dễ dàng đặt mật khẩu theo ý mình và không an toàn

 Cần có chính sách quy định mật khẩu đối với các tài khoản

 Mật khẩu yêu cầu sử dụng các ký tự thường, hóa, số và đặt biệt để tăng tính bảo mật cho mật khẩu

 Quy định độ dài tối thiểu của mật khẩu là 8.

3.2.4.8 Kiểm thử câu hỏi và câu trả lời bí mật của người dùng

 Dạng câu hỏi là có sẵn hay do người dùng tự thêm vào?

 Dạng câu trả lời là có sẵn hay do người dùng tự thêm vào?

 Website không sử dụng chức năng này.

3.2.4.9 Kiểm thử chức năng lấy lại mật khẩu

 Chức năng là tự động hay do quản trị viên thực hiện

 Có gửi yêu cầu xác nhận trước khi thực hiện quy trình này không?

 Cần xác minh thông tin mật khi lấy lại mật khẩu

 Phương thức nhận mật khẩu mới

 Quy trình lấy lại mật khảu an toàn

Quy trình kiểm thử Đánh giá Nội dung Yêu cầu

Kiểm thử đường truyền xác thực

Không đạt - Sử dụng đường truyền

- Sử dụng đường truyền được mã hóa HTTPS

Quá trình tạo mới tài khoản Đạt - Tài khoản được cấp bởi admin website

Cơ chế xử phạt Không đạt - Không có cơ chế sử phạt đối với tài khoản đăng nhập sai nhiều lần liên tục

- Thêm cơ chế khóa tài khoản

- Quy định số lần đăng nhập sai cho phép

Lỗi bypass Đạt - Không tìm thấy lỗ hổng bypass

Kiểm thử cookie được lưu trong trình duyệt web Đạt - Website không lưu thông tin đăng nhập trong cookie

Bộ nhớ cache của browser

Không đạt - Browser vẫn lưu trang chứa thông tin cá nhân mà người dùng đã xem trước đó với quyền của họ, dù người dùng đã đăng xuất

- Máy chủ web phải có lệnh yêu cầu không lưu trang chứa thông tin cá nhân của người dùng Độ phức tạp của mật khẩu

Không đạt - Người dùng có thể sử dụng mật khẩu yếu như:

- Thêm chức năng mật khẩu phức tạp

- Quy định độ dài mật khẩu.(>=8 ký tự)

- Mật khẩu phải sử dụng ký tự thường, hoa, số và ký tự đặt biệt

Kiểm thử câu hỏi và câu trả lời bí mật

Chức năng lấy lại mật khẩu Đạt - Người dùng sử dụng email đã cung cấp cho hệ thống để nhận password

3.2.5.1 Kiểm thử các tham số truyền tải

 Kiểm thử các tham số

 Kiểm thử các tham số

 Truyền vào những đường dẫn vào trang chứa file luu thông tin người dùng

 Trang web không thể truyền những đường dẫn nhạy cảm để truy cập vào máy chủ

3.2.5.2 Kiểm thử vượt phân quyền

 Kiểm thử những trang web có thể vượt phân quyền

 Kiểm thử những trang web có thể vượt phân quyền

Tên file Quá trình Nội dung file Đánh giá

Page=thaydoittcn Không thể truy cập Form thay đồi thông tin người dùng

Yêu cầu có tài khoản

Page=dkmonhoc Không thể truy cập Form chức năng của trang web

Yêu cầu có tài khoản

 Trang web được phân quyền những trang quan trọng

Cookies trước khi đăng nhập

Cookies sau khi đăng nhập

 Cookies của trang web là 1 chuỗi tự phát sinh và cũng là session (phiên làm việc) của trang web

 Cookies của trang web có chứa thông tin tài khoản của người dùng và không được tự động làm mới sau khi đăng nhập

 Người tấn công có thể bắt cookies bằng những phần mềm bắt gói tin như Wireshark và dùng cookies để vượt phân quyền lên cao hơn

 Trang web có những trang web được phân quyển rõ ràng

 Cookies của trang web không chứa những thông tin người dùng

3.2.5.3 Kiểm thử leo thang phân quyền

 Kiểm tra URL của trang web

 Kiểm tra URL của trang web sau khi đăng nhập

 Trang web không chứa thông tin người dùng trên thanh URL của trang web không thể leo thang phân quyền

 Trang web không thể leo thang phân quyền

Quy trình kiểm thử Đánh giá Nội dung Yêu cầu

Traversal Đạt Kiểm thử lỗ hổng đường dẫn đến những thư mục quan trọng trên máy chủ

Cần hạn chế đưa ra những tham số trên URL

Kiểm thử vượt phân quyền xác thực Đạt Kiểm thử những trang web, tham số thể vượt quyền

Kiểm thử leo thang phân quyền Đạt Trang web không lộ những thông tin ở những nơi nhạy cảm

3.2.6 Kiểm thử quản lý phiên

3.2.6.1 Kiểm thử các thuộc tính của cookie

 Secure attributes: thuộc tính bảo mật

 HttpOnly attributes: không sử dụng được lệnh Document.cookie

 Domain attributes: tên miền máy chủ nhận cookies

 Path attributes: đường đẫn đến nơi cookies có hiệu lực

 Expires attributes: hạn sử dụng của cookie

 Thuộc tính secure không được set

 Path: không được cấu hình chặt chẽ

 Expiration: không có giới hạn thời gian

 Đường truyền thông tin không đảm bảo an toàn do thông tin không được mã hóa

 Đường đẫn là thư mục gốc “/” nên các ứng dụng kém bảo mật trên cùng 1 máy chủ dễ bị tấn công

 Thời gian hết hạng của cookies không được set, cookies sẽ được lưu trên trình duyệt web vô thời hạn

 Cần cấu hình Secure để mã hóa đường truyền thông tin

 Cấu hình đường dẫn tới nơi chứa dịch vụ đang cung cấp

 Quy định thời gian để cookies tự động xóa trên trình duyệt web

3.2.6.2 Kiểm thử cookies xác thực của người dùng

 Kiểm thử nguồn gốc của cookies xác thực người dùng

Khi người dùng truy cập vào website, họ sẽ nhận được một cookie Sau đó, khi thực hiện đăng nhập, trình duyệt sẽ gửi thông tin đăng nhập cùng với cookie này đến máy chủ web.

Máy chủ web không thiết lập cookie mới cho người dùng, dẫn đến việc cookie được gửi kèm với thông tin đăng nhập là cookie xác nhận người dùng.

 Người dùng có thể lấy cookie đó để truy cập vào website

 Cookies xác thực người dùng không đảm bảo an toàn

Hacker có thể lợi dụng cookies đã biết để yêu cầu người dùng bình thường đăng nhập Sau khi người dùng thành công đăng nhập, hacker sẽ sử dụng cookies đó để truy cập vào tài khoản của họ.

 Máy chủ cần phát sinh 1 cookies mới làm cookies xác thực người dùng khi người dùng đăng nhập thành công.

3.2.6.3 Kiểm thử cơ chế phát sinh cookies

 Kiểm thử cơ chế phát sinh cookie tương ứng với các chức năng yêu cầu sử dụng cookie

 Đường truyền cookie phải được mã hóa

 Request từ máy client tới máy chủ là POST

 Tự tạo một cookie mới “123456789123456789123456”

 Sử dụng cookie này với chức năng đăng nhập

 Kết quả, đăng nhập thành công vào hệ thống với cookie tự tạo

 Cơ chế phát sinh cookie không hiệu quả

 Website không có cơ chế kiểm thử cookie khi thực hiện chức năng đăng nhập

 Website phải có cơ chế kiểm thử cookie khi thực hiện chức năng đăng nhập và các chức năng khác nếu có.

 Kiểm thử giao diện đăng xuất có thuận tiện cho người dùng dễ dàng sử dụng không ?

 Kiểm thử chức năng chấm dứt session khi thực hiện đăng xuất

 Thời gian tự động chấm dứt session khi không có hoạt động trên website

 Kiểm thử cookie có được tạo mới sau khi đăng xuất không?

 Cookie đã được sử dụng có thể sử dụng lại không?

 Sau khi thực hiện đăng xuất, session không còn chức năng truy cập quyền của người dùng

 Sau khi đăng xuất cookie vẫn có thể được sử dụng lại để đăng nhập tiếp

 Hạn sử dụng session là 5 phút

 Cookie không được thay đổi sau khi đăng xuất

 Website không có chức năng tạo mới cookies sau khi đăng xuất

 Website không có chức năng vô hiệu hóa cookie đã được sử dụng

 Cần có chức năng vô hiệu các cookie đã được sử dụng để hạng chế hacker có thể sử dụng lại cookies đó

 Thêm cơ chế tự động phát sinh cookies mới sau khi đăng xuất

Quy trình kiểm thử Đánh giá Nội dung Yêu cầu

Thuộc tính cookie Không đạt - Thuộc tính secure không được set

- Thuộc tính path chưa được cấu hình chặt chẻ

- Thuộc tính path cần được cấu hình cụ thể để đảm bảo an toàn cho các ứng dụng cùng chung 1 server

Cookie xác thực người dùng

Không đạt - Máy chủ web sử dụng cookie do người dùng cung cấp

- Không có cơ chế phát sinh cookie mới khi người dùng đăng nhập thành công

- Thiết cập cơ chế cấp phát cookie mới sau khi người đùng đăng nhập thành công

Chức năng phát sinh cookie

Không đạt - Người dùng có thể sửa đổi cookie và đăng nhập thành công với cookie đó

- Có hàm phát sinh cookie với độ phức tạp cao

Không đạt - Cookie không được thay đổi sau khi đăng xuất

- Cookie vẫn có thể được sử dụng lại để đăng nhập

- Phải có chức năng làm mới lại cookie trên browser sau mỗi lần đăng xuất

- Loại bỏ cookie đã được sử dụng, không thể đăng nhập lại với cookie đó

3.2.7 Kiểm thử giá trị đầu vào

3.2.7.1 Kiểm thử Cross Site Scripting

 Kiểm thử website có tồn tại bât kì lỗ hổng XSS nào không ?

 Tiến hành quét toàn bộ website

 Sau khi quét, ta thu được một lỗ hổng XSS với địa chỉ và tham số chuyền vào như sau

 Truy cập địa chỉ trên:

Tham số được sử dụng để truyền dữ liệu vào là Page, do đó, bất kỳ dữ liệu nào được truyền sau tham số Page sẽ được hiển thị trên trình duyệt của website.

 Tạo điều kiện thuận lợi cho các hacker có thể tấn công XSS

- Tiến hành thực thi khai thác XSS

 Website có chức năng kiểm tra giá trị đầu vào trước khi thực thi

 Website có tồn tại lỗ hổng XSS

 Website có chức năng kiểm tra giá trị đầu vào.

 Kiểm thử trang web dính lỗi XSS https://www.ravagedband.com/index.php?page=%3Cscript%3Ealert(1);%3C/scri pt%3E

- Trang web có tham số: page

- Giá trị truyền vào: alert(1);

 Trang web có thể bị khai thác lỗi XSS nhằm lấy cắp thông tin người dùng như: cookies, thông tin đăng nhập,…

3.2.8 Kiểm thử xử lý lỗi

 Kiểm thử trang thông báo lỗi

 Kiểm thử xử lý lỗi trực tiếp

 Kiểm thử trang thông báo lỗi

 Trang web trả về lỗi khi người dùng cố gằng truyền vào những giá trị nguy hiểm vd: alert(XSS);

Trang web sẽ trả về lỗi khi người dùng cố gắng truy cập vào các trang bị tường lửa chặn, như /admin hay /upload, nhằm ngăn chặn người dùng cấp thấp xem và kết nối.

 Kiểm thử xử lý lỗi trực tiếp

 Trang web trả về lỗi “sai thông tin” đăng nhập khi người dùng đăng nhập sai tài khoản hoặc sai mật khẩu

 Trang web có trang xử lý lỗi

 Trang web được phân quyền rõ ràng ở những trang nhạy cảm

Quy trình kiểm thử Đánh giá Nội dung Yêu cầu

Kiểm thử trang thông báo lỗi Đạt

Các trang thông báo lỗi được thiết lập để lọc các yêu cầu và thông tin nhạy cảm Việc kiểm thử xử lý lỗi trực tiếp giúp loại bỏ những trường hợp sai và nguy hiểm, đảm bảo an toàn cho hệ thống.

KẾT QUẢ

- Qua quá trình kiểm thử website tồn tại các lỗ hổng nguy hiểm có thể khai thác sau:

Lỗ hổng Mức độ nguy hiểm Khả năng khai thác Yêu cầu Đường truyền thông tin đăng nhập

_ Có thể sử dụng các công cụ bắt gói tin để bắt gói tin đăng nhập chứa thông tin username, password được gửi lên server (Wireshark,…)

_ Sử dụng đường truyền có mã hóa được cấp bởi một tổ chức có uy tín

Cơ chế khóa tài khoản vi phạm

_ Người tấn công có thể lợi dụng lỗ hổng này để tấn công brute force các tài khoản có mật khẩu yếu

_ Thêm cơ chế khóa tài khoản vi phạm khi đăng nhập sai nhiều lần

Vùng nhớ đệm Browser Cao

_ Lỗ hổng này cho phép truy cập lại trang chứa thông tin cá nhân của người dùng trước

_ Cấu hình lệnh cho server yêu cầu browser không được lưu các trang có chứa thông tin mật

Chính sách đặt mật khẩu Cao

_ Đối với người dùng thiếu kinh nghiệm về bảo mật thông tin, họ sẽ tạo cơ hội cho các hacker dễ dàng tấn công lấy mật khẩu

_ Thêm chính sách đặt mật khẩu, đảm bảo mật khẩu có độ phức tạp nhức định

Chức năng đăng xuất Cao

_ Tạo cơ hội cho hacker có thể lập danh sách các cookie hợp pháp và sử dụng chúng để lấy cắp thông tin của người dùng khác

_ Yêu cầu tạo cookie mới sau khi đăng nhập

_ Vô hiệu hóa cookie cũ, không thể sử dụng lại để đăng nhập

_ Tạo cơ hội cho hacker có thể chiếm phiên làm việc của người dùng

_ Có chức năng khởi tạo cookie mới làm cookie xác thực người dùng

_ Lỗ hổng này tạo cơ hội cho hacker khai thác được những lỗ hổng trên HTTP Header như Clickjacking, cuộc tấn công XSS, tấn công lừa đảo

_ Cấu hình cho HTTP header những bảo mật như: X-Frame-Options, X-XSS-Protection, X- Content-Type-Options

_ Trang web không có sử dụng bảo mật đường truyền khi gửi thông tin lên server dễ dàng bị bắt lấy gói tin

_ Cấu hình chứng chỉ bảo mật đường truyền và HSTS

Các thuộc tính Cookies Trung bình _ Các thuộc tính cookies cấu hình chưa chặt chẽ

_ Cần cấu hình các thuộc tính chỉ dẫn đến các đối tượng cụ thể mà cookie có hiệu lực

Scripting Trung bình _ Website tồn tại 1 lỗ hổng

_ Vá lỗ hổng XSS được tìm thấy Đánh giá sơ bộ:

- Website đạt độ an toàn 60%

- Các lỗ hổng chủ yếu tập trung vào việc rò rỉ thông tin cá nhân và thông tin đăng nhập

- Cần có các biện pháp triển khai khắc phục các lỗ hổng ngay lập tức để tránh việc rò rỉ thông tin người dùng

Ngày đăng: 01/09/2023, 21:50

HÌNH ẢNH LIÊN QUAN

Hình và quản - Web penetration testing
Hình v à quản (Trang 15)
Sơ đồ lấy dữ liệu của trang web - Web penetration testing
Sơ đồ l ấy dữ liệu của trang web (Trang 31)
Hình chưa chặt chẽ. - Web penetration testing
Hình ch ưa chặt chẽ (Trang 63)