1. Trang chủ
  2. » Công Nghệ Thông Tin

Kỹ thuât lập trình l02

53 0 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

Đề tài xây dựng HTTP Request là một chủ đề trong lĩnh vực An ninh mạng và Phát triển web, tập trung vào việc xây dựng các yêu cầu http (http request) để thực hiện các hoạt động như tấn công web, kiểm thử bảo mật hoặc phát triển ứng dụng web. Trong một số trường hợp, việc xây dựng http request có thể được sử dụng để tấn công các ứng dụng web bằng cách tạo ra các yêu cầu giả mạo hoặc các yêu cầu độc hại. Để phòng ngừa các tấn công này, các nhà phát triển và chuyên gia bảo mật cần phải nghiên cứu và hiểu rõ cách xây dựng http request, từ đó có thể tìm ra các lỗ hổng bảo mật và triển khai các biện pháp bảo vệ phù hợp. Đề tài ứng dụng xử lý http request là việc tạo một ứng dụng giúp cho việc gửi và nhận yêu cầu http trở nên dễ dàng hơn, tối ưu hóa tốc độ và hiệu suất.

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN BÁO CÁO BÀI TẬP MÔN KỸ THUẬT LẬP TRÌNH ĐỀ TÀI: ỨNG DỤNG XỬ LÝ HTTP REQUEST Ngành: An tồn thơng tin Mã số: 7.48.02.02 Sinh viên thực hiện: Phan Anh Duy AT170615 Phạm Ngọc Thái AT170645 Trần Anh Tuấn AT170654 Trần Đức Thắng AT170646 Hoàng Hữu Ánh AT170604 Người hướng dẫn: TS Nguyễn Mạnh Thắng Khoa An toàn thông tin – Học viện Kỹ thuật mật mã Hà Nội, 2023 Mục Lục Danh Mục Hình Vẽ Tóm Tắt Nội Dung Đề Tài Lời Nói Đầu Chương I : Công nghệ Web lỗ hổng Web liên quan http Giới thiệu Công nghệ Web lỗ hổng web 1.1 Công nghệ web 1.2 Lỗ hổng web liên quan đến http Tìm hiểu ứng dụng xây dựng HTTP Request 2.1 Giải thích API tương tác hệ thống 2.2 HTTP 2.3 SSL/TLS kết hợp HTTP Tổng quan HTTP Request 3.1.Cấu trúc HTTP Request 3.2.Cấu trúc HTTP Response 3.3 Ý nghĩa số Status-Code 3.4 Cách thức hoạt động HTTP Request Response 3.5 Tại cần xử lý HTTP Request 3.6 Các phương thức HTTP Request Chương II : Thư viện xử lý HTTP Request Giới thiệu thư viện 1.1 Thư viện Requests 1.2 Thư viện Urllib 1.3 Thư viện httplib2 So sánh ưu nhược điểm ba thư viện Quản lý Exception 3.1 Quản lý Exception HTTP Request 3.2 Vai trò Exception ( bắt ngoại lệ ) HTTP Request 3.3 Ứng dụng try-except vào mơ hình client-server Chương III : Xây dựng http client với https 1.HTTPS Quy trình khai thác lỗ hổng 2.1 Khái quát 2.2 DEMO khai thác lỗ hổng Triển khai mơ hình client-server Lấy liệu trang web Kết Luận Tài Liệu Tham Khảo Phụ Lục Danh Mục Hình Vẽ Hình 1.1 Cơng nghê Web Hình 1.2 HTTP Hình 1.3 HTTP Request Hình 1.4 Cấu trúc HTTP Request Hình 1.5 Cấu trúc HTTP Response Hình 1.6 Cách thức hoạt động Hình 2.1 Thư viện Request Hình 2.2 Thư viện Urllib Hình 2.3 Thư viện httplib2 Hình 3.1 HTTP HTTPS Tóm Tắt Nội Dung Đề Tài Đề tài xây dựng HTTP Request chủ đề lĩnh vực An ninh mạng Phát triển web, tập trung vào việc xây dựng yêu cầu http (http request) để thực hoạt động công web, kiểm thử bảo mật phát triển ứng dụng web Trong số trường hợp, việc xây dựng http request sử dụng để công ứng dụng web cách tạo yêu cầu giả mạo yêu cầu độc hại Để phịng ngừa cơng này, nhà phát triển chuyên gia bảo mật cần phải nghiên cứu hiểu rõ cách xây dựng http request, từ tìm lỗ hổng bảo mật triển khai biện pháp bảo vệ phù hợp Đề tài ứng dụng xử lý http request là việc tạo một ứng dụng giúp cho việc gửi và nhận yêu cầu http trở nên dễ dàng hơn, tối ưu hóa tốc độ và hiệu suất Ứng dụng này cung cấp các tính caching, chuyển hướng tự động, xử lý lỗi và tự động tạo thông báo lỗi Các ứng dụng xử lý http request viết ngơn ngữ lập trình Python, Java, PHP, Ruby, v.v Nó sử dụng cơng cụ thư viện Flask Django để xây dựng ứng dụng web Ứng dụng xử lý http request công cụ quan trọng để xử lý yêu cầu từ trình duyệt ứng dụng khác, trả lời với liệu tương ứng tạo trang web điều khiển động Nó tích hợp vào dự án web mobile để tăng tính linh hoạt tiện lợi cho việc gửi/nhận yêu cầu.Trong đề tài này, sử dụng ngôn ngữ lập trình Python để làm báo cáo, tập trung vào ba phần chính là: Chương I, Công nghệ Web lỗ hổng web liên quan http Chương 2, thư viện xử lý của http request sẽ tìm hiểu kỹ về ba thư viện chính là requests, urllib và httplb2 Chương 3, xây dựng http client với https Quy Trình khai thác lỗ hổng, Triển khai mơ hình client – server để hiểu rõ cách thức hoạt động cuối ứng dụng phương thức http request để lấy liệu trang web cụ thể Lời Nói Đầu Ngày nay, xu phát triển mạnh mẽ công nghệ thông tin, mạng truyền liệu lĩnh vực then chốt, phần thiếu đời sống, mang lại lợi ích to lớn kinh tế xã hội lẫn an ninh, quốc phòng Sự đời phát triển nhanh chóng mạng máy tính xóa bỏ rào cản khoảng cách địa lý, cho phép chia sẻ tài nguyên, lưu trữ quản lý liệu tập trung, thực tính tốn phân tán, v.v Mạng máy tính tảng cung cấp mơ hình thương mại điện tử, tốn điện tử cung cấp môi trường kết nối cộng đồng, chia sẻ, giải trí tồn cầu Mạng máy tính Internet đóng vai trị quan trọng phát triển kinh tế, giáo dục, v.v Với am hiểu máy tính hay làm việc lĩnh vực cơng nghệ thơng tin khơng cịn xa lạ với http request Thuật ngữ sử dụng nhiều, đóng vai trị quan trọng việc kết nối thiết bị với HTTP request là một những yếu tố quan trọng các ứng dụng Web và Internet hiện Nó là cách để các máy tính gửi yêu cầu và nhận dữ liệu qua mạng Trong đó nó còn có vai trò quan trọng cuộc sống hiện này truy cập trang web, tải về nội dung, gửi dữ liệu đến máy chủ,… Tính cấp thiết của một ứng dụng xử lý http request cuộc sống ngày rất cao Việc sử dụng mạng Internet đã trở thành một phần không thể tách rời của cuộc sống chúng ta, và http request là cách để các máy tính và thiết bị trao đổi dữ liệu với qua mạng Ứng dụng xử lý http request cần phải đáp ứng nhu cầu về tốc độ và độ tin cậy cao của các ứng dụng web và các dịch vụ trực tuyến Nó cũng phải đáp ứng nhu cầu về bảo mật và riêng tư của người dùng, vì tính bảo mật cao cũng là một yếu tố quan trọng thiết kế và phát triển các ứng dụng xử lý http request Qua bản cáo này, mong muốn đưa đến cho mọi người một cái nhìn tổng quát nhất về Ứng dụng xử lý HTTP REQUEST Giúp cho người nghe, người đọc có thể hình dung cách thức hoạt động, cách xử lý cũng vai trò của nó cuộc sống hiện này Chương I: Công nghệ Web lỗ hổng Web liên quan http Giới thiệu Công nghệ Web lỗ hổng web 1.1 Công nghệ web Công nghệ web tập hợp công nghệ tiêu chuẩn sử dụng để phát triển hoạt động ứng dụng web Các công nghệ web cung cấp cơng cụ, giao thức, ngơn ngữ lập trình sở liệu cho phép phát triển ứng dụng web đa dạng phức tạp Một số công nghệ web phổ biến bao gồm: + HTML (Hypertext Markup Language): Là ngôn ngữ đánh dấu văn sử dụng để tạo nội dung trang web + CSS (Cascading Style Sheets): Là ngôn ngữ định dạng sử dụng để định dạng trang trí trang web + JavaScript: Là ngơn ngữ lập trình sử dụng để tạo chức động trang web, tương tác người dùng, kiểm tra liệu, v.v + Server-side scripting: Bao gồm ngôn ngữ lập trình PHP, Python, Ruby, v.v sử dụng để xử lý tạo nội dung động máy chủ + Database management systems (DBMS): Các hệ quản trị sở liệu sử dụng để lưu trữ quản lý liệu ứng dụng web + Web servers: Các máy chủ web Apache, Nginx, v.v sử dụng để phục vụ trang web xử lý yêu cầu từ trình duyệt Công nghệ web liên quan đến tiêu chuẩn giao thức HTTP (Hypertext Transfer Protocol), HTTPS (Hypertext Transfer Protocol Secure), SSL/TLS (Secure Sockets Layer/Transport Layer Security), v.v để đảm bảo an toàn bảo mật cho ứng dụng web Hình 1.1 Cơng nghê Web 1.2 Lỗ hổng web liên quan đến http Lỗ hổng liên quan đến HTTP (Hypertext Transfer Protocol) vấn đề bảo mật thường gặp trang web Dưới số lỗ hổng phổ biến liên quan đến HTTP: + Lỗ hổng XSS (Cross-site scripting): Đây lỗ hổng cho phép công viên chèn mã độc vào trang web lừa người dùng khác truy cập vào trang web để thực hành động độc hại + Lỗ hổng CSRF (Cross-site request forgery): Đây lỗ hổng cho phép công viên sử dụng thông tin đăng nhập người dùng khác để thực hành động độc hại trang web + Lỗ hổng SQL injection: Đây lỗ hổng cho phép công viên chèn mã độc SQL vào trang web truy cập vào thông tin nhạy cảm người dùng liệu khác sở liệu + Lỗ hổng Man-in-the-middle (MITM): Đây lỗ hổng cho phép công viên theo dõi gián điệp giao dịch người dùng trang web, lấy cắp thơng tin đăng nhập liệu khác Các lỗ hổng liên quan đến cách trang web xử lý yêu cầu phản hồi thông tin máy khách máy chủ thông qua giao thức HTTP Để tránh lỗ hổng này, nhà phát triển web cần áp dụng biện pháp bảo mật phù hợp, kiểm tra đầu vào liệu, mã hóa thơng tin, sử dụng giải pháp bảo mật cho giao tiếp cập nhật thường xuyên phần mềm hệ thống Tìm hiểu ứng dụng xây dựng HTTP Request 2.1 Giải thích API tương tác hệ thống * Định nghĩa : API viết tắt cụm từ "Application Programming Interface", có nghĩa giao diện lập trình ứng dụng Nó tập hợp giao thức, quy tắc công nghệ cho phép ứng dụng khác giao tiếp trao đổi liệu với * Hoạt động: Kiến trúc API thường giải thích dạng máy chủ máy khách Ứng dụng gửi yêu cầu gọi máy khách, ứng dụng gửi phản hồi gọi máy chủ API hoạt động theo cách khác nhau, tùy vào thời điểm lý chúng tạo bao gồm: API SOAP, API RPC, API Websocket, API REST Trong đó, API REST phổ biến linh hoạt web * Tương tác hệ thống: + API cung cấp cách thức tương tác hệ thống ứng dụng, giúp chúng liên kết, tương tác truyền liệu cho cách hiệu Các API cung cấp cho ứng dụng khác chức năng, dịch vụ tài nguyên khác nhau, lấy liệu, xử lý liệu, cập nhật thông tin, đăng nhập, v.v + Khi sử dụng API để tương tác với hệ thống, ứng dụng gửi yêu cầu tới hệ thống thông qua giao thức định, thông thường HTTP HTTPS Yêu cầu chứa thông tin địa URL, tham số phương thức HTTP (GET, POST, PUT, DELETE, ) + Sau nhận yêu cầu, hệ thống xử lý phản hồi lại cho ứng dụng thông qua định dạng liệu cụ thể JSON, XML CSV Phản hồi chứa liệu yêu cầu thơng báo lỗi có vấn đề xảy 2.2 HTTP + HTTP (HyperText Transfer Protocol) giao thức truyền tải siêu văn sử dụng www dùng để truyền tải liệu Web server đến trình duyệt Web ngược lại qua cổng 80 + HTTP hoạt động theo mơ hình Client (máy khách) – Server (máy chủ) Việc truy cập website tiến hành dựa giao tiếp đối tượng Khi truy cập trang web qua giao thức HTTP, trình duyệt thực phiên kết nối đến server trang web thơng qua địa IP hệ thống phân giải tên miền DNS cung cấp Máy chủ sau nhận lệnh, trả lệnh tương ứng giúp hiển thị website, bao gồm nội dung như: văn bản, ảnh, video, âm thanh,… + Trong q trình kết nối trao đổi thơng tin, trình duyệt thừa nhận địa IP đến từ server website mà ta muốn truy cập mà khơng có biện pháp xác thực Các thông tin gửi qua giao thức HTTP (bao gồm địa IP, thông tin nhập vào website…) khơng mã hóa bảo mật Đây kẽ hở mà nhiều hacker lợi dụng để đánh cắp thông tin người dùng, thường gọi cơng sniffing Hình 1.2 HTTP 2.3 SSL/TLS kết hợp HTTP * SSL chữ viết tắt Secure Sockets Layer (Lớp socket bảo mật) Một loại bảo mật giúp mã hóa liên lạc website trình duyệt Cơng nghệ lỗi thời thay hoàn toàn TLS * TLS phiên SSL phát triển IETF (Internet Engineering Task Force) TLS có khả bảo mật đáng tin cậy so với SSL, hỗ trợ nhiều phiên khác để đáp ứng yêu cầu ứng dụng khác TLS sử dụng rộng rãi internet để đảm bảo tính tồn vẹn liệu truyền tải bảo vệ thông tin cá nhân người dùng * SSL/TLS kết hợp HTTP + Khi kết hợp SSL/TLS HTTP, ta có giao thức HTTPS (HTTP Secure) HTTPS sử dụng SSL/TLS để tạo kênh truyền tải liệu an toàn máy khách máy chủ, sử dụng HTTP để truyền tải yêu cầu phản hồi hai thiết bị + Khi người dùng truy cập trang web sử dụng HTTPS, trình duyệt thiết lập kênh truyền tải liệu an tồn trình duyệt người dùng máy chủ sử dụng SSL/TLS Sau đó, yêu cầu phản hồi trang web truyền tải qua kênh + Việc sử dụng HTTPS giúp bảo vệ thông tin cá nhân người dùng, đảm bảo tính tồn vẹn liệu truyền tải ngăn chặn công giả mạo trang web trộm thơng tin đăng nhập Các trình duyệt phổ biến Chrome, Firefox Safari hỗ trợ HTTPS cung cấp cảnh báo cho người dùng trang web không sử dụng giao thức Tổng quan HTTP Request HTTP Request hiểu cách đơn giản thông tin gửi từ khách hàng (client) lên server Server có nhiệm vụ tìm xử lý loại dữ liệu, thông tin, client mong muốn HTTP Request tồn file text dạng XML hoặc dạng Json Hình 1.3 HTTP Request 10

Ngày đăng: 24/04/2023, 19:14

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w