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

Báo cáo đồ án cơ sở ngành mạng Đề tài phần Lập trình mạng: Xây dựng website mô phỏng kỹ thuật tấn công XSS, SQL Injection

39 1 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

Định dạng
Số trang 39
Dung lượng 3,84 MB
File đính kèm Source-20230611T203857Z-001.zip (5 MB)

Nội dung

Báo cáo đồ án cơ sở ngành mạng đề tài nguyên lý hệ điều hành tìm hiểu kỹ thuật lập trình hook xây dựng ứng dụng gõ tắt văn bản lập trình mạng xây dựng website mô phỏng kỹ thuật tấn công xss, sql injection Báo cáo đồ án cơ sở ngành mạng đề tài nguyên lý hệ điều hành tìm hiểu kỹ thuật lập trình hook xây dựng ứng dụng gõ tắt văn bản lập trình mạng xây dựng website mô phỏng kỹ thuật tấn công xss, sql injection Báo cáo đồ án cơ sở ngành mạng đề tài nguyên lý hệ điều hành tìm hiểu kỹ thuật lập trình hook xây dựng ứng dụng gõ tắt văn bản lập trình mạng xây dựng website mô phỏng kỹ thuật tấn công xss, sql injection Báo cáo đồ án cơ sở ngành mạng đề tài nguyên lý hệ điều hành tìm hiểu kỹ thuật lập trình hook xây dựng ứng dụng gõ tắt văn bản lập trình mạng xây dựng website mô phỏng kỹ thuật tấn công xss, sql injection

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Bộ môn Mạng & Truyền Thông  BÁO CÁO ĐỒ ÁN CƠ SỞ NGÀNH MẠNG ĐỀ TÀI: Nguyên lý hệ điều hành: Tìm hiểu kỹ thuật lập trình Hook Xây dựng ứng dụng gõ tắt văn Lập trình mạng: Xây dựng website mô kỹ thuật công XSS, SQL Injection MỤC LỤC MỤC LỤC DANH SÁCH HÌNH VẼ .4 DANH SÁCH TỪ VIẾT TẮT .5 MỞ ĐẦU PHẦN I: NGUYÊN LÝ HỆ ĐIỀU HÀNH CHƯƠNG CƠ SỞ LÝ THUYẾT .7 Tổng quan đề tài Giới thiệu hook Cơ chế hoạt động hook Cách sử dụng 4.1 Cài đặt hook 4.2 Giải phóng hook .9 4.3 Gọi hook 10 4.4 Giả lập phím 10 Qui tắc tạo lập chữ viết tắt .11 5.1 Tạo lập theo tiếng 11 5.2 Tạo lập theo từ 11 5.3 Tạo lập theo chữ viết tắt tiếng anh 12 5.4 Tạo lập theo sở thích cá nhân 12 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG .13 Phân tích yêu cầu 13 1.1 Yêu cầu chức .13 1.2 Yêu cầu giao diện người dùng 13 Phân tích chức mơ tả thuật tốn 13 2.1 Thêm chữ viết tắt 13 2.2 Xóa chữ viết tắt .13 2.3 Sửa chữ viết tắt .14 2.4 Gõ tắt văn .14 CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 16 Môi trường phát triển thực 16 Kết thực thi chương trình 16 Đánh giá nhận xét 17 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 18 PHẦN II: LẬP TRÌNH MẠNG 19 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 19 Giới thiệu .19 1.1 Sql injection 19 1.1.1 Sql Injection gì? 19 1.1.2 Các dạng công Sql Injection 19 1.1.3 Cách phòng tránh lỗi Sql Injection 19 1.2 Tấn công xss (cross-site-scripting) 20 1.2.1 Xss gì? 20 1.2.2 Cách thức hoạt động xss 20 1.2.3 Cách phòng tránh xss .21 Mơ hình xây dựng website 21 Cơ chế hoạt động 22 3.1 Một số dạng công Sql Injection 22 3.1.1 Dạng công vượt kiểm tra lúc đăng nhập .22 3.1.2 Dạng công sử dụng câu lệnh select 23 3.2 Một số dạng công xss 23 3.2.1 Store-xss 23 3.2.2 Reflected-xss 25 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG .26 Phân tích yêu cầu 26 Phân tích chức .26 2.1 Chức trang web 26 2.2 Mô công web xây dựng 26 2.2.1 Tấn công sql injection 26 2.2.2 Tấn công xss 28 Cơ sở liệu 28 CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ 30 Môi trường triển khai .30 Kết thực 30 2.1 Tấn công sql injection lấy tài khoản, mật người dùng 31 2.2 Tấn cơng lấy cookie xss thơng qua tính bình luận 33 Đánh giá nhận xét 34 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 35 KẾT LUẬN CHUNG 36 TÀI LIỆU THAM KHẢO 37 DANH SÁCH HÌNH VẼ Hình Giao diện chương trình 16 Hình Kết thực thi chương trình 16 Hình Tệp liệu đầu vào 17 Hình Minh hoạ kịch cơng XSS 21 Hình Mơ hình client-server 22 Hình Ví dụ store-xss .24 Hình Ví dụ store-xss .24 Hình Ví dụ reflected-xss 25 Hình Ví dụ reflected-xss 25 Hình 10 Giao diện trang bán hàng Minishop 30 Hình 11 Tìm cột lỗi 31 Hình 12 Tìm bảng database trang web 31 Hình 13 Tìm cột bảng Customer 32 Hình 14 Kết thu tên đăng nhập mật tất khách hàng 32 Hình 15 Người dùng bị công .33 Hình 16 Cookie thu từ người dùng .33 DANH SÁCH TỪ VIẾT TẮT Từ viết tắt Diễn giải XSS Cross-site-scripting SQL Structured query language MS word Microsoft word DLL Dynamic link library HTML Hypertext Markup Language ID Identification PK Primary key MỞ ĐẦU Cơ sở ngành mạng kiến thức chuyên ngành quan trọng lĩnh vực công nghệ thông tin, đặc biệt ngành quản trị mạng Có thể xem hướng rộng mở cho sinh viên việc nắm bắt kỹ thuật cần thiết quan trọng Dưới hướng dẫn Thầy Nguyễn Tấn Khơi, em chọn đề tài Tìm hiểu kỹ thuật lập trình Hook, xây dựng ứng dụng gõ tắt văn cho phần nguyên lý hệ điều hành Xây dựng website mô kỹ thuật công XSS, SQL INJECTION cho phần lập trình mạng Thơng qua đề tài này, em hiểu rõ phần nguyên lý hoạt động xử lý thông điệp hệ điều hành biết cách thức công trang web có lỗ hổng SQL cách để phịng tránh hiệu Do kiến thức hạn hẹp nên thực đồ án cịn gặp nhiều khó khăn, khơng tránh khỏi sai sót Rất mong nhận thơng cảm góp ý q thầy để em có thêm nhiều kiến thức bổ ích cho thân Em xin chân thành cảm ơn! PHẦN I: NGUYÊN LÝ HỆ ĐIỀU HÀNH TÊN ĐỀ TÀI: TÌM HIỂU KỸ THUẬT LẬP TRÌNH HOOK XÂY DỰNG ỨNG DỤNG GÕ TẮT VĂN BẢN CHƯƠNG CƠ SỞ LÝ THUYẾT Tổng quan đề tài Hiện phát triển mặt, lượng thông tin tăng nhanh nên ngôn ngữ nói ngơn ngữ viết tượng nói tắt, viết tắt trở nên phổ biến điều làm giảm bớt thời gian đồng thời gây khó hiểu cho người nghe người đọc Trong q trình soạn thảo máy tính ta thường hay lặp lặp lại từ hay cụm từ nhiều lần mà phải gõ gõ lại gây tốn thời gian phiền toái cho người sử dụng Hiện có nhiều phần mềm hỗ trợ gõ tắt chẳng hạn MS Word có tính “autocorrect option” hay phần mềm gõ tiếng việt tiếng Unikey hỗ trợ tính gõ tắt văn Bên cạnh phần mềm hay tính tích hợp phần mềm em nhận thấy thân nên tìm hiểu xây dựng ứng dụng hỗ trợ gõ tắt văn ứng dụng tương tự tính gõ tắt phần mềm Unikey làm Đó lý em thực đề tài xây dựng ứng dụng gõ tắt thông qua hook Giới thiệu hook Hook chế mà nhờ hàm chặn kiện (message, mouse actions, keystrokes) trước chúng gửi đến hàng đợi ứng dụng Các hàm thực số thao tác kiện, vài trường hợp định nghĩa lại hủy bỏ kiện mà chặn Một điểm quan trọng cần lưu ý hàm gọi Windows ứng dụng Windows hỗ trợ nhiều loại Hook khác nhau, loại nhắm đến việc chặn bắt loại thông điệp cụ thể Ví dụ, ứng dụng sử dụng WH_KEYBOARD để giám sát di chuyển thơng điệp bàn phím hệ thống, nhờ loại Hook mà chương trình can thiệp vào tạo khả gõ tiếng việt soạn thảo văn Một loại Hook khác WH_MOUSE cho phép theo dõi thông điệp liên quan đến hoạt động chuột Cơ chế hoạt động hook Hệ thống trì chuỗi hook (hook chain) cho loại hook Mỗi chuỗi danh sách liên kết trỏ đặc biệt, trỏ hàm callback ứng dụng có sẵn, cịn gọi hàm hook (hàm lọc, filter function) Khi có thơng điệp sinh thuộc loại hook đó, hệ thống đẩy vào hàm hook chuỗi, hàm (qua tất hook chuỗi) Cơng việc hàm hook có hể phức tạp hay đơn giản tùy thuộ vào loại hook Hàm hook cho số loại giám sát, số khác sửa đổi thơng điệp dừng lại việc xử lý thông điệp chuỗi hool trước chứng đến hook đến cửa sổ đích Cách sử dụng 4.1 Cài đặt hook Ta cài đặt thủ tục hook vào chuỗi hook việc gọi hàm SetWindowsHookEx kiểu hook gọi thủ tục, việc cài đặt hook thực tiến trình hệ thống Nếu sử dụng hook tồn cục phải đặt thư viện liên kết động (DLL) Ứng dụng muốn sử dụng thư viện liên kết động phải lấy handle thư viện Để nhận Handle thư viện liên kết động ta sử dụng hàm LoadLibraryvới tham số tên thư viện Sau có Handle DLL, ta lấy địa chỉcủa thủ tục hook thư viện liên kết động thông qua hàm GetProcAddress Sau có thủ tục hook, sử dụng hàm SetWindowsHookEx để cài đặt thủ tục hook vào chuỗi hook Cấu trúc HHOOK WINAPI SetWindowsHookEx( in int idHook, in HOOKPROC lpfn, in HINSTANCE hMod, in DWORD dwThreadId ); Các tham số có ý nghĩa sau + idHook: xác định loại hook mà ta muốn cài đặt (ví dụ: WH_KEYBOARD, WH_MSGFILTER…) + lpfn : địa hàm lọc mà ta muốn gắn với hook + hMod : handle module chứa hàm lọc (là handle file DLL trường hợp Hook toàn cục) + dwThreadID : định danh thread ứng với hook cài đặt (nếu = Hook có phạm vi tồn hệ thống bao hảm thread tồn tại) 4.2 Giải phóng hook Hook nên bỏ không cần thiết cách sử dụng hàm UnhookWindowsHookEx Với thread-specific hook, việc sử dụng hàm UnhookWindowsHookEx giải phóng thủ tục hook Tuy nhiên với hook tồn tục (system-wide hook) hàm trả tự cho hàm DLL Việc gọi hàm LoadLibrary gọi ngữ cảnh tất tiến trình, nhiên hàm FreeLibrary khơng thể thực với tiến trình khác Vì vậy, khơng có cách để giải phóng DLL Hệ thống giải phóng DLL tất tiến trình liên kết tới DLL phải kết thúc gọi FreeLibrary Giải pháp đặt cho vấn đề xây dựng hàm cài đặt thư viện DLL Bằng việc liên kết tới DLL, ứng dụng cài đặt hook Và DLL phải có hàm giải phóng hook để giải phóng không cần đến Cấu trúc: BOOL WINAPI UnhookWindowsHookEx( in HHOOK hHook );

Ngày đăng: 12/06/2023, 03:42

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

TÀI LIỆU LIÊN QUAN

w