1. Trang chủ
  2. » Tất cả

Luận văn tốt nghiệp bảo đảm an toàn thông tin bằng kiếm soát lỗ hổng trong dịch vụ web

73 6 0

Đ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 đề Nghiên Cứu Bảo Đảm An Toàn Thông Tin Bằng Kiểm Soát Lỗ Hổng Trong Dịch Vụ Web
Tác giả Hoàng Thị Thu Trang
Người hướng dẫn PGS.TS Trịnh Nhật Tiến
Trường học Trường Đại Học Dân Lập Hải Phòng
Chuyên ngành Công Nghệ Thông Tin
Thể loại đồ án tốt nghiệp
Năm xuất bản 2007
Thành phố Hải Phòng
Định dạng
Số trang 73
Dung lượng 5,97 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: KHÁI NIỆM CƠ SỞ (8)
    • 1.1. KHÁI NIỆM VỀ BẢO VỆ WEB (8)
    • 1.2. ỨNG DỤNG WEB (0)
      • 1.2.1. Khái niệm ứng dụng web (13)
      • 1.2.2. Hoạt động của ứng dụng web (14)
    • 1.3. MỘT SỐ CÔNG CỤ BẢO VỆ WEB (16)
  • Chương 2: CÁC KỸ THUẬT TẤN CÔNG LỢI DỤNG LỖ HỔNG (60)
    • 2.1. CHÈN THAM SỐ (0)
      • 2.1.1. Chỉnh sửa HTTP Header (19)
      • 2.1.2. Chỉnh sửa địa chỉ URL (22)
      • 2.1.3. Chỉnh sửa trường ẩn Form (23)
      • 2.1.4. Thao tác trên cookie (25)
    • 2.2. CHÈN MÃ LỆNH TRÊN TRÌNH DUYỆT (0)
      • 2.2.1. Phương pháp tấn công XSS (28)
      • 2.2.2. Biện pháp phòng tránh (32)
    • 2.3. CHÈN CÂU LỆNH TRUY VẤN (0)
      • 2.3.1. Tấn công vượt qua kiểm tra đăng nhập (34)
      • 2.3.2. Tấn công dựa vào câu lệnh SELECT (0)
      • 2.3.3. Tấn công dựa vào câu lệnh INSERT (0)
      • 2.3.4. Tấn công dựa vào Store-Procedure (0)
      • 2.3.5. Biện pháp phòng tránh (40)
    • 2.4. TẤN CÔNG DỰA VÀO “KIỂU QUẢN LÝ PHIÊN LÀM VIỆC… (42)
      • 2.4.1. Tấn công kiểu “ấn định phiên làm việc” (43)
      • 2.4.2. Tấn công kiểu “đánh cắp phiên làm việc” (47)
      • 2.4.3. Biện pháp phòng tránh (48)
    • 2.5. TẤN CÔNG “TỪ CHỐI DỊCH VỤ” (49)
      • 2.5.1. Khái niệm DoS (49)
      • 2.5.2. Biện pháp phòng tránh………………………………………………… 53 2.6. NGÔN NGỮ PHÍA TRÌNH CHỦ (55)
    • 2.7. TẤN CÔNG “TRÀN BỘ ĐỆM” (58)
  • Chương 3: TỔNG KẾT KỸ THUẬT TẤN CÔNG CỦA HACKER (0)
    • 3.1. THU THẬP THÔNG TIN Ở MỨC HẠ TẦNG CỦA MỤC TIÊU… (60)
    • 3.2. KHẢO SÁT ỨNG DỤNG WEB (63)

Nội dung

Một ví dụ điển hình là cuộc tấn công vào phần mềm thương mạicủa IBM tháng 3/2001, hai hacker đã tìm thấy lỗ hổng trên ứng dụng mà bất cứ ai với một trình duyệt Web cũng có thể lấy tài kh

KHÁI NIỆM CƠ SỞ

KHÁI NIỆM VỀ BẢO VỆ WEB

Bảo vệ web không còn là khái niệm xa lạ đối với những người lập trình web, những nhà quản trị mạng,…

Mục tiêu bảo vệ web gồm có:

Bảo mật: Thông tin không được đọc trái phép.

Bảo toàn: Thông tin không bị sửa đổi một cách trái phép.

Bảo đảm tính sẵn sàng:

Người dùng hợp pháp có quyền truy cập hay sử dụng thông tin.

Hai đối tượng chính trong sử dụng dịch vụ web là người dùng và người quản trị hệ thống.

Trong dịch vụ web, an toàn mạng đảm bảo rằng server phải thực thi các yêu cầu trong thời gian ngắn để đảm bảo tính sẵn sàng Bảo vệ dữ liệu gửi đến là yếu tố quan trọng nhằm tránh virus hoặc các tác nhân xấu làm thay đổi thông tin, đảm bảo tính toàn vẹn của dữ liệu Ngoài ra, server cần giữ bí mật thông tin cá nhân của người dùng để duy trì tính bảo mật và tránh rò rỉ dữ liệu nhạy cảm trên mạng.

Hệ thống quản trị đề cao các yêu cầu bảo mật như đảm bảo tính toàn vẹn bằng cách ngăn chặn người dùng thay đổi nội dung trên server, tính bí mật và bắt buộc trong việc giới hạn quyền truy cập thông tin thuộc về người dùng, tính sẵn sàng nhằm tránh các cuộc tấn công gây gián đoạn dịch vụ, và tính xác thực bằng cách xác nhận danh tính người dùng để chịu trách nhiệm với hành động của mình.

Đối tượng tấn công mạng (Intruder) là cá nhân hoặc tổ chức sử dụng các công cụ phá hoại như phần mềm hoặc phần cứng để dò tìm các điểm yếu, lỗ hổng bảo mật trên hệ thống Họ thực hiện các hoạt động xâm nhập trái phép nhằm chiếm đoạt tài nguyên mạng, gây hậu quả nghiêm trọng cho an ninh hệ thống thông tin.

Một số đối tượng tấn công mạng:

Trong lĩnh vực an ninh mạng, tin tặc (hacker) là những người xâm nhập trái phép hệ thống mạng bằng cách sử dụng các công cụ phá mật khẩu và khai thác điểm yếu của các thành phần truy cập Họ thường lợi dụng các lỗ hổng bảo mật để truy cập dữ liệu hoặc kiểm soát hệ thống mà không được phép Hiểu rõ về các phương thức tấn công của hacker giúp nâng cao nhận thức về an toàn thông tin và phòng ngừa các cuộc tấn công mạng hiệu quả.

Kẻ giả mạo (Masquerader) là người giả mạo thông tin trên mạng, gây nguy hiểm đến an ninh mạng Các hình thức giả mạo phổ biến bao gồm giả mạo địa chỉ IP, tên miền và định danh người dùng, nhằm mạo danh và truy cập trái phép vào hệ thống Việc nhận diện và ngăn chặn các hành vi giả mạo là yếu tố quan trọng để bảo vệ dữ liệu và giảm thiểu rủi ro an ninh mạng.

Kẻ nghe trộm (Eavesdropping) là đối tượng xâm nhập vào mạng để theo dõi và thu thập thông tin nhạy cảm Họ sử dụng các công cụ sniffer để dò tìm dữ liệu truyền qua mạng, sau đó phân tích và debug để lấy các thông tin có giá trị Việc này đe dọa đến an ninh mạng và gây rủi ro cho dữ liệu cá nhân lẫn doanh nghiệp Hiểu rõ cách thức hoạt động của kẻ nghe trộm giúp nâng cao khả năng phòng ngừa và bảo vệ thông tin quan trọng trên Internet.

Mục đích của các hành động này là ăn cắp thông tin có giá trị về kinh tế hoặc phá hoại hệ thống mạng Những hành vi này có thể nhằm mục đích chủ đích hoặc đơn thuần là những thử nghiệm không cẩn thận nhằm kiểm tra các chương trình bảo mật Việc này gây hậu quả nghiêm trọng đến an ninh mạng và gây tổn thất về tài chính cho các tổ chức Do đó, việc phòng chống các cuộc tấn công mạng và nâng cao nhận thức bảo mật là rất cần thiết để bảo vệ dữ liệu và hệ thống của doanh nghiệp.

Lỗ hổng bảo mật là những điểm yếu hoặc nhược điểm tồn tại trong hệ thống hoặc dịch vụ, qua đó kẻ tấn công có thể xâm nhập trái phép Những lỗ hổng này giúp hacker thực hiện các hành động phá hoại hoặc chiếm đoạt tài nguyên một cách bất hợp pháp, làm giảm tính an toàn của hệ thống và gây thiệt hại cho người dùng Việc phát hiện và khắc phục lỗ hổng bảo mật là cực kỳ quan trọng để đảm bảo an toàn thông tin và duy trì hoạt động ổn định của hệ thống.

Các nguyên nhân gây ra các lỗ hổng bảo mật rất đa dạng, bao gồm lỗi từ chính hệ thống, phần mềm cung cấp không đảm bảo an toàn, và yếu tố con người như quản trị viên thiếu kiến thức hoặc kỹ năng không phù hợp Để bảo vệ hệ thống an toàn, việc xác định và khắc phục các nguyên nhân này là vô cùng cần thiết.

Mức độ ảnh hưởng của các lỗ hổng là khác nhau: sâu sắc tới toàn bộ hệ thống,….

 Một số hình thức tấn công mạng

Dựa vào lỗ hổng bảo mật trên mạng: lỗ hổng này thường là những điểm yếu của dịch vụ mà hệ thống cung cấp.

Sử dụng các công cụ để phá hoại: ví dụ các chương trình phá khóa mật khẩu để truy cập bất hợp pháp vào chương trình.

Kẻ tấn công có thể sử dụng kết hợp cả hai hình thức tấn công để đạt được mục đích của mình, gây ra những tác động nghiêm trọng đến hệ thống Mức độ nguy hiểm của các cuộc tấn công này phụ thuộc vào phương pháp tấn công được thực hiện, làm tăng khả năng gây thiệt hại lớn đối với hệ thống của bạn.

Các mức tấn công hệ thống:

Mức 1: Tấn công vào một số dịch vụ mạng: web, email,… dẫn đến Nguy cơ lộ thông tin về cấu hình mạng

Mức 2: Kẻ phá hoại dùng tài khoản của người dùng hợp pháp để chiếm đoạt tài nguyên hệ thống Kẻ phá hoại có thể thay đổi quyền truy nhập qua các lỗ hổng bảo mật hoặc đọc các thông tin trong tập tin liên quan đến truy nhập hệ thống như: /etc/passwd (Linux) và SAM file (windows).

Các mức 3, 4, 5 của kẻ phá hoại không chỉ sử dụng quyền của người dùng thông thường mà còn có thêm quyền cao hơn, nhằm kích hoạt các dịch vụ hoặc truy cập thông tin khác trên hệ thống Điều này cho thấy sự nguy hiểm và phức tạp của các cuộc tấn công ở các cấp này Việc bảo vệ hệ thống cần chú trọng vào việc kiểm soát quyền truy cập và phát hiện các hoạt động bất thường để ngăn chặn các hành vi xâm phạm dữ liệu Hiểu rõ về các cấp độ quyền truy cập giúp nâng cao khả năng phòng thủ và đảm bảo an toàn cho hệ thống công nghệ thông tin.

Mức 6: Kẻ tấn công chiếm được quyền root hoặc admin trên hệ thống.

 Các mức bảo vệ an toàn mạng

Để đảm bảo an toàn thông tin mạng, cần áp dụng nhiều mức bảo vệ khác nhau nhằm tạo ra các lớp phòng thủ vững chắc trước các hoạt động xâm phạm Bảo vệ thông tin trên mạng chủ yếu tập trung vào việc bảo vệ dữ liệu lưu trữ trên các máy tính, đặc biệt là trong các server mạng, nhằm ngăn chặn các cuộc tấn công và mất mát dữ liệu quan trọng.

Các lớp rào chắn bảo vệ thông tin các trạm của mạng:

Lớp thứ nhất: qui định quyền truy nhập các thông tin của mạng và quyền hạn trên tài nguyên đó, cụ thể là các tệp tin.

Lớp thứ hai trong bảo mật mạng sử dụng hạn chế theo tài khoản truy nhập, yêu cầu đăng ký tên người dùng và mật khẩu tương ứng để truy cập Phương pháp này được xem là phổ biến nhất vì nó đơn giản, tiết kiệm chi phí và hiệu quả trong việc bảo vệ dữ liệu Người dùng muốn truy cập mạng phải có thông tin đăng nhập hợp lệ, trong khi người quản trị hệ thống có trách nhiệm kiểm soát mọi hoạt động mạng và xác định quyền truy cập của từng người dùng dựa trên các yếu tố về thời gian và không gian.

Lớp thứ ba: sử dụng các phương pháp mã hóa Dữ liệu được biến đổi từ dạng đọc được sang dạng “khó” đọc, theo một thuật toán nào đó.

Lớp thứ tư trong hệ thống bảo mật là lớp bảo vệ vật lý nhằm ngăn chặn truy cập trái phép vào hệ thống Các biện pháp truyền thống như kiểm soát ra vào phòng máy, sử dụng hệ thống khoá máy tính, và cài đặt hệ thống báo động khi phát hiện truy cập trái phép giúp đảm bảo an toàn tuyệt đối cho dữ liệu Việc bảo vệ vật lý đóng vai trò quan trọng trong chiến lược an ninh tổng thể của doanh nghiệp, giúp ngăn chặn các hành vi xâm nhập từ bên ngoài.

ỨNG DỤNG WEB

Khi một trang web được tồn tại trên Internet, nó được lưu trữ trên một máy chủ web (webserver), chịu trách nhiệm chứa đựng các trang web để người dùng có thể truy cập Webserver đóng vai trò trung tâm trong việc lưu trữ và phân phối nội dung của website đến các khách hàng truy cập Ứng dụng web là dạng ứng dụng chủ/khách (client/server) sử dụng giao thức HTTP (phiên bản 1.2.2) để tương tác với người dùng hoặc các hệ thống khác một cách hiệu quả và bảo mật.

Trình khách (hoặc trình duyệt web) là phần mềm dùng để truy cập và tương tác với các trang web, nổi bật nhất là Internet Explorer hoặc Netscape Navigator Ngoài ra, còn có các chương trình đóng vai trò đại lý người dùng, hoạt động như trình duyệt tự động để gửi nhận thông tin qua các trang web Người dùng trải nghiệm các dịch vụ trực tuyến như trao đổi mua bán, tham gia diễn đàn hoặc gửi nhận email thông qua trình duyệt hoặc các chương trình tự động này.

Các kỹ thuật xây dựng ứng dụng Web ngày càng phát triển nhanh chóng, chuyển từ sử dụng CGI truyền thống chạy trên trình chủ Web và kết nối cơ sở dữ liệu đơn giản trên cùng máy chủ sang các công nghệ hiện đại như Java, cho phép các ứng dụng Web vận hành trên máy chủ phân tán Hiện nay, các ứng dụng Web thường được viết bằng các ngôn ngữ như Java, giúp kết nối đến nhiều nguồn dữ liệu khác nhau, nâng cao khả năng mở rộng và hiệu suất hoạt động Sự tiến bộ này đã giúp giảm thiểu giới hạn của các ứng dụng Web truyền thống, đồng thời mở rộng khả năng xử lý dữ liệu và tích hợp hệ thống phức tạp hơn.

Một ứng dụng web thường có kiến trúc:

Hình 1: Kiến trúc của ứng dụng Web

Lớp trình bày chịu trách nhiệm hiển thị dữ liệu cho người dùng, đảm bảo giao diện thân thiện và trực quan Bên cạnh đó, lớp này còn tích hợp các ứng dụng giúp tạo bố cục cho trang web một cách linh hoạt và hiệu quả, nâng cao trải nghiệm người dùng.

Lớp ứng dụng là phần xử lý chính của ứng dụng Web, chịu trách nhiệm xử lý yêu cầu của người dùng, đưa ra quyết định và gửi kết quả đến lớp trình bày Nó thường được phát triển bằng các kỹ thuật lập trình như CGI, Java, PHP hoặc ColdFusion, và được triển khai trên các máy chủ như IBM WebSphere, WebLogic, Apache hoặc IIS để đảm bảo hoạt động ổn định và hiệu quả.

Lớp dữ liệu: thường là các hệ quản trị CSDL (DBMS-database management system) chịu trách nhiệm quản lý các file dữ liệu và quyền sử dụng.

Hình 2: Mô hình hoạt động của một ứng dụng Web

Mô hình hoạt động của một ứng dụng web thường có:

 Trình khách (trình duyệt (client)): Internet Explorer, Netscap Navigator.

 Trình chủ (Server): Apache, IIS, ….

 Hệ quản trị CSDL : SQL Server, MySQL, Access….

Khi người dùng truy cập một trang web, trình duyệt sẽ gửi yêu cầu HTTP như GET hoặc POST tới server web Server web có thể thực thi các chương trình được viết bằng nhiều ngôn ngữ như Perl, C/C++, hoặc xử lý các trang ASP, JSP theo yêu cầu của trình duyệt khách Quá trình này đảm bảo trang web được tải đúng cách và phản hồi phù hợp từ server.

Chương trình xử lý các tác vụ dựa trên cài đặt của nó, bao gồm tính toán, kết nối đến cơ sở dữ liệu (CSDL), và lưu trữ thông tin từ trình khách gửi đến Sau đó, hệ thống gửi về trình khách một luồng dữ liệu định dạng theo giao thức HTTP Việc này đảm bảo quá trình truyền dữ liệu diễn ra chính xác, hiệu quả và phù hợp với tiêu chuẩn truyền thông web.

( là cách thức trình khách/ trình chủ giao tiếp với nhau, và qui định cấu trúc dữ liệu trao đổi trên đường truyền), gồm 2 phần:

+ Header mô tả các thông tin về gói dữ liệu và các thuộc tính, trạng thái trao đổi giữa trình duyệt và WebServer.

The response body contains the data sent from the server to the client, which can include an HTML file, an image, a video, or any type of text content.

Luồng thông tin giữa trình chủ và trình khách là hợp lệ theo hình 2, khiến tường lửa trở nên không hiệu quả trong việc ngăn chặn các cuộc tấn công khi tin tặc tìm thấy lỗ hổng trong ứng dụng web Hiện nay, các kỹ thuật tấn công chủ yếu tập trung vào khai thác các sơ suất và lỗ hổng trong quá trình phát triển ứng dụng của các nhà lập trình web, thay vì tấn công trực tiếp vào hệ thống mạng hay hệ điều hành Tuy nhiên, các lỗ hổng này còn được lợi dụng để mở rộng phạm vi tấn công vào các hệ thống khác, tăng nguy cơ bảo mật cho toàn bộ hệ thống mạng.

MỘT SỐ CÔNG CỤ BẢO VỆ WEB

Tường lửa là một công cụ bảo vệ hệ thống mạng chống lại truy cập trái phép, giúp ngăn chặn xâm nhập và bảo vệ nguồn thông tin nội bộ quan trọng Nó đóng vai trò thiết yếu trong việc hạn chế các truy cập không mong muốn vào hệ thống, đảm bảo an toàn cho dữ liệu và tài nguyên mạng Việc sử dụng tường lửa giúp duy trì an ninh mạng, giảm thiểu rủi ro bị tấn công hoặc mất mát dữ liệu Đây là thành phần không thể thiếu trong chiến lược bảo vệ hệ thống CNTT của doanh nghiệp hoặc tổ chức.

Firewall Internet là hệ thống gồm phần cứng và phần mềm được đặt giữa mạng nội bộ của tổ chức, công ty hoặc quốc gia (Intranet) và internet nhằm kiểm soát và bảo vệ dữ liệu khỏi các mối đe dọa từ bên ngoài Firewall giúp ngăn chặn truy cập trái phép, đảm bảo an toàn thông tin cho hệ thống mạng nội bộ Việc triển khai Firewall là bước thiết yếu trong chiến lược bảo mật mạng của các tổ chức và doanh nghiệp hiện nay.

Hình 3: Truy cập thông qua tường lửa

Tường lửa đóng vai trò quan trọng trong việc kiểm soát truy cập, xác định rõ các dịch vụ nội bộ nào được phép truy cập từ bên ngoài, đồng thời xác định ai từ bên ngoài có thể truy cập vào các dịch vụ bên trong Ngoài ra, tường lửa còn quy định rõ các dịch vụ bên ngoài nào được phép truy cập bởi người dùng bên trong mạng, đảm bảo an toàn và kiểm soát chặt chẽ lưu lượng truy cập.

Một hoặc nhiều hệ thống máy chủ kết nối với các bộ định tuyến (router) hoặc có chức năng router.

Các phần mềm quản lý an ninh hoạt động trên hệ thống máy chủ, giúp kiểm soát truy cập và bảo vệ dữ liệu hiệu quả Thường thì chúng bao gồm các hệ quản trị xác thực (Authentication) để xác nhận danh tính người dùng, hệ quản trị cấp quyền (Authorization) nhằm phân quyền truy cập phù hợp, cùng với hệ quản trị kế toán (Accounting) để ghi lại hoạt động hệ thống Việc tích hợp các phần mềm này giúp đảm bảo an ninh hệ thống máy chủ, tăng cường bảo vệ thông tin và duy trì sự an toàn tối ưu cho doanh nghiệp.

Nhiệm vụ cơ bản của FireWall là bảo vệ:

+ Dữ liệu: Những thông tin cần được bảo vệ do những yêu cầu: Bảo mât, tính toàn vẹn, tính kịp thời.

+ Danh tiếng của công ty sở hữu các thông tin cần bảo vệ.

+ Chống lại những tấn công từ bên ngoài.

- Cách thứ nhất là dùng phương pháp dò mật khẩu trực tiếp: đoán mật khẩu thủ công hoặc dùng các công cụ phá mật khẩu

+ Giả mạo địa chỉ IP.

Tường lửa chỉ giúp ngăn chặn sự xâm nhập của thông tin không mong muốn bằng cách xác định rõ các địa chỉ mạng, nhưng không đủ thông minh để phân tích và đánh giá nội dung của từng loại thông tin, cũng như phân biệt giữa nội dung tốt hay xấu.

Không thể ngăn chặn cuộc tấn công, nếu không đi qua nó

Nó không thể chống lại các cuộc tấn công từ đường dial-up (dịch vụ quay số) hoặc ngăn chặn rò rỉ thông tin do dữ liệu bị sao chép trái phép lên đĩa mềm, gây nguy hiểm cho an ninh dữ liệu.

Dữ liệu không thể bị phòng thủ trước các cuộc tấn công mạng, đặc biệt khi các chương trình độc hại xâm nhập qua email, vượt qua tường lửa và bắt đầu hoạt động trong hệ thống mạng được bảo vệ, gây ra các nguy cơ lớn về an ninh thông tin.

Không thể làm nhiệm vụ rà quét virut trên các dữ liệu được truyền qua nó.

1.3.2 Mạng riêng ảo (VPN-Virtual Private Network)

VPN là một mạng gồm các máy tính kết nối qua Internet, sử dụng phương pháp xác thực bằng mật khẩu và mã hoá dữ liệu để tạo thành một mạng riêng ảo an toàn Công nghệ VPN giúp bảo vệ thông tin và duy trì quyền riêng tư khi trao đổi dữ liệu qua mạng công cộng Nhờ vào các biện pháp mã hoá và xác thực, VPN tạo ra một môi trường mạng riêng biệt giả lập, đảm bảo an toàn và bảo mật cho người dùng.

Hệ thống VPN được phân chia một cách logic dựa trên nền tảng hạ tầng chung hoặc công cộng, sử dụng các công nghệ đảm bảo an toàn dữ liệu và tính riêng tư Mạng VPN có thể được triển khai trên Internet, giao thức IP hoặc hạ tầng ATM của nhà cung cấp dịch vụ, phù hợp với yêu cầu về bảo mật và hiệu suất Quy trình xây dựng mạng riêng ảo này giúp tự triển khai tài nguyên một cách hiệu quả, đồng thời đảm bảo tính an toàn trong việc truyền tải dữ liệu.

Hình 4: cấu trúc mạng riêng ảo

VPN thiết lập kết nối điểm-điểm, truyền dữ liệu qua một ống ảo (tunnel) an toàn, giúp bảo mật thông tin liên lạc qua mạng chung Ống ảo này xuất hiện như một liên kết riêng biệt giữa hai người dùng, đảm bảo an toàn và bảo mật cao hơn khi truyền dữ liệu VPN không duy trì liên kết cố định mà chỉ kết nối khi cần thiết, giúp tối ưu hóa tài nguyên mạng và nâng cao hiệu quả sử dụng mạng.

Chương 2: CÁC KĨ THUẬT TẤN CÔNG LỢI DỤNG

“LỖ HỔNG” VÀ BẢO VỆ WEB

2.1 TẤN CÔNG KIỂU “CHÈN THAM SỐ” (Parameter Tampering)

2.1.1 Chỉnh sửa HTTP Header (HTTP Header malipulation)

HTTP Header là phần quan trọng trong giao tiếp giữa trình khách (client) và trình chủ (server) Nó chứa các thông tin cần thiết như yêu cầu (HTTP requests) mà trình khách gửi đến server để yêu cầu dữ liệu hoặc dịch vụ, cũng như phản hồi (HTTP responses) từ server gửi về trình khách sau khi xử lý yêu cầu Hiểu rõ về HTTP Header giúp tối ưu hoá hiệu suất truyền tải dữ liệu và nâng cao hiệu quả của website.

Trong HTTP header, thường có nhiều dòng chứa tên tham số và giá trị riêng biệt Một số tham số có thể được sử dụng trong cả phần header yêu cầu và header trả lời, trong khi những tham số khác chỉ dành riêng cho từng loại header Việc hiểu rõ cách sử dụng các tham số này giúp tối ưu hóa quá trình truyền tải dữ liệu giữa client và server.

GET /tintuc/homnay.asp HTTP/1.1 Accept: */*

Accept_Language: en-us Connection: Keep-Alive Host: localhost

Referer: http://localhost/lienket.asp User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Accept-Encoding: gzip, deflate

Dòng đầu cho biết phương thức yêu cầu (GET hoặcPOST), địa chỉ yêu cầu (/tintuc/homnay.asp) và phiên bản HTTP/1.1.

Accept-Language: Cho biết ngôn ngữ dùng trong trang web. Host: Cho biết địa chỉ của máy chủ.

Referer: Cho biết địa chỉ của trang web tham chiếu tới.

User-Agent: thông tin từ máy người dùng.

Accept-Encoding: kiểu mã hóa dữ liệu.

Header của HTTP request sẽ kết thúc bằng một dòng trống.

HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Thu, 13 Jul 2000 05:46:53 GMT Content-Length: 2291

Content-Type: text/html Set-Cookie:

Dòng đầu là dòng trạng thái, để cho biết phiên bản HTTP được dùng (HTTP/1.1), mã trạng thái (200) và trạng thái (OK).

Server: trình duyệt máy chủ sử dụng.

Date: thời gian trả lời yêu cầu.

Tiếp theo là một dòng trống để báo hiệu kết thúc header, tiếp theo là phần thân của HTTP response.

Thông thường, chỉ có trình duyệt và trình chủ trao đổi HTTP Header, còn hầu hết các ứng dụng web không thực hiện điều này Hacker có thể tự viết chương trình để kiểm soát HTTP header, như xem nội dung hoặc tạo mới, hoặc sử dụng các proxy miễn phí nhằm thay đổi dữ liệu gửi từ trình duyệt Ngoài ra, hacker còn có thể tấn công trực tiếp bằng cách đăng nhập từ xa và gửi HTTP Request đến trình chủ, gây nguy hiểm cho hệ thống web.

Ví dụ 1: su-2.05# telnet localhost 80

Trying 127.0.0.1 Connected to localhost Escape character is '^]' GET / HTTP/1.0 Referer: www.redhat.com/login.asp

User-Agent:

Date: Mon, 17 Dec 2001 20:39:02 GMT Server:

Header Referer chứa URL của trang web gửi yêu cầu, giúp xác định nguồn gốc của yêu cầu Một số ứng dụng kiểm tra thành phần này trong header để xác minh rằng yêu cầu được gửi từ trang web chính thức của họ, nâng cao tính bảo mật và kiểm soát truy cập.

CÁC KỸ THUẬT TẤN CÔNG LỢI DỤNG LỖ HỔNG

TỔNG KẾT KỸ THUẬT TẤN CÔNG CỦA HACKER

Ngày đăng: 14/03/2023, 11:40

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w