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

Đề tài các phương thức tấn công và phòng thủ web server

55 556 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 55
Dung lượng 0,97 MB

Nội dung

LỜI MỞ ĐẦU Cùng với phát triển công nghệ thông tin, công nghệ mạng máy tính phát triển mạng internet ngày phát triển đa dạng phong phú Các dịch vụ mạng thâm nhập vào hầu hết lĩnh vực đời sống xã hội Các thông tin Internet đa dạng nội dung hình thức, có nhiều thông tin cần bảo mật cao tính kinh tế, tính xác tính tin cậy Bên cạnh đó, hình thức phá hoại mạng trở nên tinh vi phức tạp Do hệ thống, nhiệm vụ bảo mật đặt cho người quản trị mạng quan trọng cần thiết Xuất phát từ thực tế đó, tìm hiểu cách công phổ biến phòng chống loại công Chính vậy, thông qua việc nghiên cứu số phương pháp công cách bảo mật lọa công này,tôi mong muốn góp phần nhỏ vào việc nghiên cứu tìm hiểu vấn đề an ninh mạng giúp cho việc học tập nghiên cứu Tôi xin chân thành cảm ơn hướng dẫn Thầy Đặng Ngọc Cường thầy trực tiếp hướng dẫn đồ án chuyên ngành cho tôi, giúp hoàn thành đồ án Lý chọn đề tài Trong năm gần đây, Việt Nam ngày phát triển mặt công nghệ thông tin Đặc biệt ứng dụng web, người nghe làm việc ứng dụng web Website trở nên phổ biến trở thành phần quan trọng người doanh nghiệp, công ty Bên cạnh lý an toàn bảo mật cho ứng dụng web vấn đề nan giải người.Vì tìm hiểu ứng dụng web cách thức công bảo mật web Mục tiêu Giúp hiểu ứng dụng website, mối đe dọa vấn đề an toàn thông tin làm việc ứng dụng web hàng ngày, hiểu rõ kỹ thuật công bảo mật web Phạm vi Tìm hiểu kỹ thuật công phổ biến SQL Injection, Denial Of Service, Local Attack,…Cách bảo mật, phòng thủ loại công phổ biến cách tổng quan CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER MỤC LỤC CHƯƠNG TỔNG QUAN VỀ WEBSITE, CÁC DỊCH VỤ CỦA WEBSITE VÀ LỖI BẢO MẬT THÔNG DỤNG 1.1 Mô tả Website cách hoạt động 1.2 Các dịch vụ ứng dụng web CHƯƠNG CÁC LOẠI TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB PHỔ BIẾN 2.1 LOCAL ATTACK 2.1.1 Tìm hiểu Local Attack 2.1.2 Cách công Local Attack 2.1.3 Cách bảo mật cho Local Attack 10 2.1.4 Các công cụ hỗ trợ 14 2.2 Tấn công từ chối dịch vụ - (Denial Of Service) 15 2.2.1 DOS(Denial Of Service) 15 2.2.2 Ddos(Distributed Denial of Service) 18 2.2.3 Tấn công từ chối dịch vụ phản xạ nhiều vùng DRDoS (Distributed Reflection Denial of Service) 30 2.3 SQL Injection 32 2.3.1 Tấn công SQL injection 32 2.3.2.Cách Phòng Tránh SQL Injection 41 2.4 Cross Site Scripting (XSS) 46 2.4.1 Tấn công XSS 46 2.4.2 Phòng chống 49 CHƯƠNG 50 DEMO, ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 50 NGUYỄN VƯƠNG NGHỊ Trang CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER 3.1 Demo 50 3.2 Kết luận 51 3.2.1 Các vấn đề đạt 51 3.2.2 Hạn chế 52 3.2.3 Hướng phát triển đề tài 52 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 54 NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN 55 NGUYỄN VƯƠNG NGHỊ Trang CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER CHƯƠNG TỔNG QUAN VỀ WEBSITE, CÁC DỊCH VỤ CỦA WEBSITE VÀ LỖI BẢO MẬT THÔNG DỤNG 1.1 Mô tả Website cách hoạt động Website “trang web” mạng Internet, nơi giới thiệu thông tin, hình ảnh doanh nghiệp sản phẩm, dịch vụ doanh nghiệp (hay giới thiệu thông tin gì) để khách hàng truy cập nơi đâu, lúc Website tập hợp nhiều trang [web page] Khi doanh nghiệp xây dựng website nghĩa xây dựng nhiều trang thông tin, catalog sản phẩm, dịch vụ Để tạo nên website cần phải có yếu tố bản: Cần phải có tên miền (domain) Nơi lưu trữ website (hosting) Nội dung trang thông tin [web page] Một số thuật ngữ bản: Website động (Dynamic website) website có sở liệu, cung cấp công cụ quản lý website (Admin Tool) Đặc điểm website động tính linh hoạt cập nhật thông tin thường xuyên, quản lý thành phần website dễ dàng Loại website thường viết ngôn ngữ lập trình PHP, Asp.net, JSP, Perl, , quản trị Cơ sở liệu SQL MySQL Website tĩnh lập trình ngôn ngữ HTML theo trang brochure, sở liệu công cụ quản lý thông tin website Thông thường website tĩnh thiết kế phần mềm FrontPage, Dreamwaver, Đặc điểm website tĩnh thay đổi nội dung, thay đổi nội dung thường liên quan đến thay đổi văn kèm thể nội dung Hiện nay, hầu hết doanh nghiệp sử dụng website động, hệ công nghệ website người biết đến web 2.0 - Tên miền (domain): Tên miền địa website, internet tồn địa (tức tồn tên miền) Có loại tên miền: - Tên miền Quốc tế: tên miền có dạng com; net; org; biz; name NGUYỄN VƯƠNG NGHỊ Trang CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER - Tên miền Việt Nam: tên miền có dạng vn; com.vn; net.vn; org.vn; gov.vn; - Lưu trữ website: Dữ liệu thông tin website phải lưu trữ máy tính (máy chủ - server) hoạt động kết nối với mạng Internet Một server lưu trữ nhiều website, server bị cố chẳng hạn tắt thời điểm không truy cập website lưu trữ server thời điểm bị cố - Tùy theo nhu cầu lưu trữ thông tin mà doanh nghiệp thuê dung lượng thích hợp cho website [thuê dung lượng host] - Dung lượng host: Là nơi để lưu sở trữ liệu website (hình ảnh, thông tin …), đơn vị đo dung lượng thường Mb Gb - Băng thông hay dung lượng đường truyền truyền: Là tổng số Mb liệu tải lên máy chủ tải từ máy chủ (download, upload) nơi đặt website, đơn vị đo thông thường Mb/Tháng 1.2 Các dịch vụ ứng dụng web Với công nghệ nay, website không đơn giản trang tin cung cấp tin đơn giản Những ứng dụng viết web không gọi phần website nữa, chúng gọi phần mềm viết web Có nhiều phần mềm chạy web Google word (xử lý văn bản), Google spreadsheets (xử lý bảng tính), Email ,… Một số ưu điểm phần mềm hay ứng dụng chạy web:  Mọi người có trình duyệt bạn cần trình duyệt để chạy phần mềm  Phần mềm luôn cập nhật chúng chạy server  Luôn sẵn sàng 24/7  Dễ dàng backup liệu thường xuyên  Có thể truy cập lúc, nơi, miễn bạn có mạng  Chi phí triển khai cực rẻ so với phần mềm chạy desktop Hãy hình dung bạn có phần mềm quản lý bán hàng hay quản lý công việc công ty Không phải lúc bạn công ty, với phần mềm viết web, bạn vào kiểm tra, điều hành đâu, chí bạn cần điện thoại chạy trình duyệt IPhone mà không cần đến máy tính NGUYỄN VƯƠNG NGHỊ Trang CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER CHƯƠNG CÁC LOẠI TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB PHỔ BIẾN 2.1 LOCAL ATTACK 2.1.1 Tìm hiểu Local Attack - Local attack kiểu hack phổ biến không khuyên dùng.Đối web server thông thường bạn đăng ký tài khoản server bạn cấp tài khoản server thư mục để quản lý site Ví dụ : tenserver/tentaikhoancuaban Và có tài khoản người dùng khác tương tự : tenserver/taikhoan1.Giả sử taikhoan1 bị hacker chiếm hacker dùng thủ thuật,các đoạn scrip,các đoạn mã lệnh để truy cập sang thư mục chứa site bạn tenserver/taikhoancuaban Và theo cách hacker công sang site người dùng khác lấy thông tin admin,database,các thông tin bảo mật khác chèn đoạn mã độc vào trang index site bạn Dạng công gọi Local Attack - Thông thường nhất, Local Attack sử dụng để đọc lấy thông tin config từ victim, sau dựa vào thông tin config mục đích hacker để phá hoại website 2.1.2 Cách công Local Attack - Để thực công Local Attack, tùy theo cách thức hacker mà có cách Local khác Thông thường hacker thường sử dụng đoạn lệnh để công vào database 2.1.2.1 Chuẩn bị - Trước tiên phải có PHP/ASP/CGI backdoor server Backdoor có nhiều loại khác phổ biến phpRemoteView (thường gọi remview) R57Shell, CGITelnet,C99,…Tiến hành upload công cụ lên, thường shell R57,C99,… - Upload công cụ lên host (Thường sử dụng shell R57,C99, mạnh dễ sử dụng) - Để có host có nhiều cách: NGUYỄN VƯƠNG NGHỊ Trang CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER + Mua host(cách hacker sử dụng nhiều lý lý tốn tiền mà up shell lên bị admin server phát bị del host, Với cách sau Local xong nên xóa shell + Hack trang bị lỗi upload shell lên (thường hacker sử dụng SQL Injection để hack trang web chiếm tài khoản admin trang web upload shell lên)hoặc khai thác lỗi inclusion + Search backdoor (Vào google.com search keyword: , r57Shell ) Vói cách hầu hết shell hacker sử dụng chưa bị xóa, nên upload cho shell khác 2.1.2.2.Tiến hành Attack - Sau chuản bị xong, tức upload shell lên server Chúng ta bắt đầu tìm website server mà bạn up shell lên, thông thường hacker thường sử dụng Reverse Ip domain mà hacker upload shell để xem website server - Sau tìm danh sách website ,lần lượt check xem site bị lỗi local sang - Các lệnh thường dùng shell để Local Attack Xem tên domain host ls -la /etc/valiases cd /etc/vdomainaliases;ls –lia - Trường hợp đặc biệt xem user nằm host ta thêm && vào cd /etc/vdomainaliases && ls –lia - Muốn biết tên user dùng lệnh : cat /etc/passwd/ Hoặc less /etc/passwd + local sang victim, tức local sang site khác ví dụ shell : /home/abcd/public_html/ local sang sau : NGUYỄN VƯƠNG NGHỊ Trang CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER dir home/tên user cần local/public_html - Muốn biết tên user cần local sang sử dụng Reverse Ip để lấy danh sách user server.Muốn biết user có tồn hay không mở trình duyệt web lên đánh đoạn : Ip server/~ tên user (Ví dụ : 203.166.222.121/~doanchuyennganh) Nếu trình duyệt lên trang index website tức user tồn +Xem nội dung file cat /home/tên user cần local/public_html/index.php Hoặc Chúng ta muốn xem config forum dùng ln -s /home/tên user cần local/public_html/forum/includes/config.php doanchuyennganh.txt Với doanchuyennganh.txt file tạo host để xem file người khác ! Nếu không sử dụng lệnh tức server disable chức Thêm số lệnh shell linux : - pwd: đưa hình thư mục hoạt động (ví dụ: /etc/ssh) - cd: thay đổi thư mục (ví dụ: cd – cấp thư mục tại; cd vidu – vào thư mục /vidu) - ls: đưa danh sách nội dung thư mục - mkdir: tạo thư mục (mkdir tên_thumuc) - touch: tạo file (touch ten_file) - rmdir: bỏ thư mục (rmdir ten_thumuc) - cp: copy file thư mục (cp file_nguồn file_đích) - mv: di chuyển file thư mục; dùng để đặt lại tên file thư mục (mv vị_trí_cũ vị_trí_mới mv tên_cũ tên_mới) - rm: loại bỏ file (rm tên_file) - Để tìm kiếm file, bạn dùng: - find : dùng cho tên file - grep : để tìm nội dung file Để xem file, bạn dùng: - more : hiển thị file theo trang NGUYỄN VƯƠNG NGHỊ Trang CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER - cat : hiển thị tất file - Nếu muốn kết nối tới host từ xa, sử dụng lệnh ssh Cú pháp ssh Quản lý hệ thống: - ps: hiển thị chương trình thời chạy (rất hữu ích: ps nhìn toàn tất chương trình) - Trong danh sách đưa thực lệnh ps, bạn thấy có số PID (Process identification - nhân dạng tiến trình) Con số hỏi đến muốn ngừng dịch vụ hay ứng dụng, dùng lệnh kill - top: hoạt động giống Task Manager Windows Nó đưa thông tin tất tài nguyên hệ thống, tiến trình chạy, tốc độ load trung bình… Lệnh top -d thiết lập khoảng thời gian làm tươi lại hệ thống Bạn đặt giá trị nào, từ (tức 10 mili giây) tới 100 (tức 100 giây) chí lớn - uptime: thể thời gian hệ thống tốc độ load trung bình khoảng thời gian đó, trước phút 15 phút Thông thường tốc độ load trung bình tính toán theo phần trăm tài nguyên hệ thống (vi xử lý, RAM, ổ cứng vào/ra, tốc độ load mạng) dùng thời điểm Nếu tốc độ tính toán 0.37, tức có 37% tài nguyên sử dụng Giá trị lớn 2.35 nghĩa hệ thống phải đợi số liệu, tính toán nhanh 235% mà không gặp phải vấn đề Nhưng phân phối khác chút - free: hiển thị thông tin nhớ hệ thống - ifconfig : để xem thông tin chi tiết giao diện mạng; thông thường giao diện mạng ethernet có tên eth() Bạn cài đặt thiết lập mạng địa IP cách dùng lệnh (xem man ifconfig) Nếu có điều chưa xác, bạn stop start (tức ngừng khởi_động) giao diện cách dùng lệnh ifconfig up/down - passwd: cho phép bạn thay đổi mật (passwd người_dùng_sở_hữu_mật_khẩu tên người dùng khác bạn đăng nhập hệ thống với vai trò root) - useradd: cho phép bạn thêm người dùng (xem man useradd) Dù phân phối nào, bạn dùng phím TAB để tự động hoàn chỉnh lệnh tên file Điều hữu ích bạn quen với lệnh Bạn sử dụng NGUYỄN VƯƠNG NGHỊ Trang CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER phím lên, xuống để cuộn xem lệnh nhập Bạn dùng lệnh đa dòng dòng Ví dụ như, muốn tạo ba thư mục dòng, cú pháp là: mkdir thư_mục_1 ; mkdir thư_mục_2 ; mkdir thư_mục_3 Một điều thú vị khác lệnh dạng pipe Bạn xuất lệnh thông qua lệnh khác Ví dụ: man mkdir | tail đưa thông tin dòng cuối trang xem "thủ công" lệnh mkdir Nếu lúc yêu cầu phải đăng nhập với tài khoản gốc (tức "siêu" admin hệ thống), bạn đăng nhập tạm thời cách dùng lệnh su Tham số -1 (su-1) dùng để thay đổi thư mục chủ cho lệnh dùng Chú ý bạn nhắc mật Để thoát hay đóng : gõ exit logout 2.1.3 Cách bảo mật cho Local Attack Để hạn chế Local Attack, nên Chmod filemanager ,di chuyển file config.php sửa đổi file htaccess thường xuyên backup liệu -Chmod File Manager: + CHMOD thư mục Public_html thành 710 thay 750 mặc định việc giúp bạn bảo vệ cấu trúc Website + CHMOD tiếp thư mục (diendan (http://diendan.doanchuyennganh.com), CHMOD thư mục diendan (http://diendan.doanchuyennganh.com) thành 701, CHMOD tiếp thư mục thư mục diendan (http://diendan.doanchuyennganh.com) thành 701 + CHMOD toàn file thành 404 Với CHMOD chắn run shell thông báo lỗi: Not Acceptable An appropriate representation of the requested resource /test.php could not be found on this server Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request Attacker không view NGUYỄN VƯƠNG NGHỊ Trang 10 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER Ví dụ b.2: Giả sử username password bị giớihạn tối đa 16 kí tự.Nhập: Username: aaaaaaaaaaaaaaa’ Password :‘; shutdown-Ứng dụng thay dấu nháy đơn hai dấu nháy đơn chiều dài chuỗi bị giới hạn 16 kí tự nên dấu nháy đơn vừa thêm bị xoá Câu lệnh SQL sau: Select * from users where username=’aaaaaaaaaaaaaaa’’ and password=’’’; shutdown—‘ kết username câu lệnh có giá trị là: aaaaaaaaaaaaaaa’ and password=’ iiiii.3 Tránh kiểm soát: - SQL server có giao thức kiểm soát chặt chẽ họ hàm sp_traceXXX, cho phép ghi nhân nhiều kiện xảy sở liệu Đặc biệt kiện T-SQL, ghi nhận lại tất câu lệnh SQL thực Server Nếu chế độ kiểm soát bật tất câu truy vấn SQL hacker bị ghi nhận nhờ mà người quản trị kiểm soát xảy nhanh chóng tìm giải pháp Nhưng có cách để chống lại điều này, cách thêm dòng “sp_password” vào câu lệnh T-SQL, gặp chuỗi việc kiểm tra ghi nhậnnhư sau: ‘sp_password’ was found in the text of this event The text has benn replaced with this comment for security reasons “sp_password” xuất phần thích Vì để dấu tất câu truy vấn công, cần đơn giản thêm sp_password vào sau ‘ ’ sau: 2.3.2.Cách Phòng Tránh SQL Injection - Như vậy, thấy lỗi SQL injection khai thác bất cẩn lập trình viên phát triển ứng dụng web xử lí liệu nhập vào để xây dựng câu lệnh SQL Tác hại từ lỗi SQL injection tùy thuộc vào môi trường cách cấu hình hệ thống Nếu ứng dụng sử dụng quyền dbo (quyền người sở hữu sở liệu owner) thao tác liệu, xóa toàn bảng liệu, tạo bảng NGUYỄN VƯƠNG NGHỊ Trang 41 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER liệu mới, … Nếu ứng dụng sử dụng quyền sa (quyền quản trị hệ thống), điều khiển toàn hệ quản trị sở liệu với quyền hạn rộng lớn tạo tài khoản người dùng bất hợp pháp để điều khiển hệ thống bạn • Trong hầu hết trình duyệt, kí tự nên mã hoá địa URL trước sử dụng • Việc công theo SQL Injection dựa vào câu thông báo lỗi việc phòng chống hay không cho hiển thị thông điệp lỗi cho người dùng cách thay lỗi thông báo trang người phát triển thiết kế lỗi xảy ứng dụng • Kiểm tra kĩ giá trị nhập vào người dùng, thay kí tự ‘ ; v v Hãy loại bỏ kí tự meta “',",/,\,;“ kí tự extend NULL, CR, LF, string nhận từ: o liệu nhập người dùng đệ trình o tham số từ URL o giá trị từ cookie • Đối với giá trị numeric, chuyển sang integer trước thực câu truy vấnSQL, dùng ISNUMERIC để chắn số integer • Dùng thuật toán để mã hoá liệu i Kiểm tra liệu - Kiểm tra tính đắn liệu vấn đề phức tạp thường chưa quan tâm mức ứng dụng Khuynh hướng việc kiểm tra tính đắn liệu cần thêm số chức vào ứng dụng, mà phải kiểm tra cách tổng quát nhanh chóng để đạt mục đích - Những tóm tắt sau bàn việc kiểm tra tính đắn liệu, với ví dụ mẫu để minh hoạ cho vấn đề Có ba giải pháp tiếp cận vấn đề này: 1) Cố gắng kiểm tra chỉnh sửa để làm cho liệu hợp lệ 2) Loại bỏ liệu bất hợp lệ 3) Chỉ chấp nhận liệu hợp lệ • Giải pháp 1: khó thực NGUYỄN VƯƠNG NGHỊ Trang 42 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER - Thứ nhất, người lập trình không cần thiết phải biết tất liệu bất hợp lệ, dạng liệu bất hợplệ đa dạng - Thứ hai, vấn đề trường hợp bị công tầng (second-oder SQL injection) việc lấy liệu từ hệ thống • Giải pháp 2: bị vô hiệu trường hợp giải pháp : - Dữ liệu bất hợp lệ luôn thay đổi với việc phát triển kiểu công • Giải pháp 3: tốt hai giải pháp kia, gặp số hạn chế cài đặt - Cách bảo mật tốt kết hợp giải pháp Một ví dụ cho cần thiết kết hợp 2-3 dấu nối họ tên “Quentin Bassington-Bassington” phải cho phép dấu gạch ngang định nghĩa liệu hợp lệ, chuỗi kí tự “ “ chuỗi kí tự đặc biệt SQL server - Ví dụ có lọc để : + Lọc bỏ liệu bất hợp lệ ‘ ‘,’select’ ‘union’ + Một hàm kiểm soát để loại bỏ dấu nháy đơn đối phó sau uni’on se’lect @@version-‘- Một số cách cài đặt chức kiểm tra liệu • Cách 1: Từ chối liệu bất hợp lệ function validate_string( input ) known_bad = array("select","insert", "update", "delete", "drop"," ", "'" ) validate_string = true for i = lbound( known_bad ) to ubound( known_bad ) if ( instr( 1, input, known_bad(i), vbtextcompare ) ) then validate_string = false exit function end if next end function NGUYỄN VƯƠNG NGHỊ Trang 43 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER • Cách 2: Thay dấu nháy đơn: function escape( input ) input = replace(input, "'", "''") escape = input end function • Cách 3: Chỉ chấp nhận liệu hợp lệ function validatepassword( input ) good_password_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123 456789" validatepassword = true for i = to len( input ) c = mid( input, i, ) if ( InStr( good_password_chars, c ) = ) then validatepassword = false exit function end if next end function ii Khoá chặt SQL Server (SQL Server Lockdown) Đây danh sách công việc cần làm để bảo vệ SQL server: • Xác định phương pháp kết nối đến server: o Dùng tiện ích Network Utility để kiểm tra có thư viện mạng dùng hoat động • Kiểm tra tất tài khoản có SQL Server o Chỉ tạo tài khoản có quyền thấp cho ứng dụng o Loại bỏ tài khoản không cần thiết NGUYỄN VƯƠNG NGHỊ Trang 44 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER o Đảm bảo tất tài khoản có mật hợp lệ, … • Kiểm tra đối tượng tồn o Nhiều extended stored procedure xoá bỏ cách an toàn Nếu điều thực hiện, nên xem xét việc loại bỏ tập tin dll chứa mã extended stored procedure o Xoá bỏ tất sở liệu mẫu “northwind” “pubs” o Xóa stored procedure không dùng như: master xp_cmdshell, xp_startmail, xp_sendmail, sp_makewebtask • Kiểm tra tài khoản truy xuất đến đối tượng o Đối với tài khoản ứng dụng dùng để truy xuất sở liệu cấp quyền hạn cần thiết tối thiểu để truy xuất đến đối tượng cần dùng Kiểm tra lớp sửa chữa server o Có số cách công “buffer overflow”, “format string” thường ý đến lớp bảo vệ • Kiểm tra phiên làm việc server • Thay đổi "Startup chạy SQL Server" mức người dùng quyền hạn thấp SQL Server Security - Nhận xét: + Qua phần tìm hiểu SQL Injection,càng thấy việc kiểm tra liệu trước xử lý cần thiết + Ứng dụng việckiểm tra tính đắn liệu, cần mã hóa liệu bên sở liệu không cho xuất trang Web lỗi, báo nội dung lỗi cú pháp SQL để hacker thu thập thông tin sở liệu - Song song công việc người quản trị mạng iii Thiết lập cấu hình an toàn cho hệ quản trị sở liệu - Cần có chế kiểm soát chặt chẽ giới hạn quyền xử lí liệu đến tài khoản người dùng mà ứng dụng web sử dụng Các ứng dụng thông thường nên tránh dùng đến quyền dbo hay sa Quyền bị hạn chế, thiệt hại Ngoài để tránh nguy từ SQL Injection attack, nên ý loại bỏ thông tin kĩ thuật chứa thông điệp chuyển xuống cho người dùng ứng dụng có NGUYỄN VƯƠNG NGHỊ Trang 45 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER lỗi Các thông báo lỗi thông thường tiết lộ chi tiết kĩ thuật cho phép kẻ công biết điểm yếu hệ thống 2.4 Cross Site Scripting (XSS) 2.4.1 Tấn công XSS - Cross-Site Scripting (XSS) kĩ thuật công phổ biến hiên nay, đồng thời vấn đề bảo mật quan trọng nhà phát triển web người sử dụng web Bất kì website cho phép người sử dụng đăng thông tin mà kiểm tra chặt chẽ đoạn mã nguy hiểm tiềm ẩn lỗi XSS - Cross-Site Scripting hay gọi tắt XSS (thay gọi tắt CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet HTML) kĩ thuật công cách chèn vào website động (ASP, PHP, CGI, JSP ) thẻ HTML hay đoạn mã script nguy hiểm gây nguy hại cho người sử dụng khác Trong đó, đoạn mã nguy hiểm đựơc chèn vào hầu hết viết Client-Site Script JavaScript, JScript, DHTML thẻ HTML.Kĩ thuật công XSS nhanh chóng trở thành lỗi phổ biến Web Applications mối đe doạ chúng người sử dụng ngày lớn Người chiến thắng thi eWeek OpenHack 2002 người tìm XSS Phải mối nguy hiểm từ XSS ngày người ý 2.4.1.1 Hoạt động XSS: - Về XSS SQL Injection hay Source Injection, yêu cầu (request) gửi từ máy client tới server nhằm chèn vào thông tin vượt tầm kiểm soát server Nó request gửi từ form liệu URL http://www.example.com/search.cgi?query=alert('XSS was found !'); - Và trình duyệt bạn lên thông báo "XSS was found !" Các đoạn mã thẻ script không bị giới hạn chúng hoàn toàn thay file nguồn server khác thông qua thuộc tính src thẻ script Cũng lẽ mà chưa thể lường hết độ nguy hiểm lỗi XSS NGUYỄN VƯƠNG NGHỊ Trang 46 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER - Nhưng kĩ thuật công khác làm thay đổi liệu nguồn web server (mã nguồn, cấu trúc, sở liệu) XSS gây tổn hại website phía client mà nạn nhân trực tiếp người khách duyệt site Tất nhiên hacker sử dụng kĩ thuật đề deface website công vào bề mặt website Thật vậy, XSS Client-Side Script, đoạn mã chạy trình duyệt phía client XSS không làm ảnh hưởng đến hệ thống website nằm server Mục tiêu công XSS không khác người sử dụng khác website, họ vô tình vào trang có chứa đoạn mã nguy hiểm hacker để lại họ bị chuyển tới website khác, đặt lại homepage, hay nặng mật khẩu, cookie chí máy tính bạn bị cài loại virus, backdoor, worm 2.4.1.2 Cách công i Scan lỗ hỗng XSS cua ứng dụng web - Cách 1: Sử dụng nhiều chương trình dò quét lỗi ứng dụng web, ví dụ chương trình Web Vulnerability Scanner để dò quét lỗi XSS - Cách 2: Thực bước: • Bước 1: Mở website cần kiểm tra • Bước 2: Xác định chỗ (phần) cần kiểm tra XSS Site có phần: Search, error message, web form Chủ yếu lỗi XSS nằm phần này, nói chung XSS xảy chỗ mà người dùng nhập liệu vào sau nhận Ví dụ nhập vào chuỗi ‘XSS’ • Bước 3: Xác minh khả site có bị lỗi XSS hay không cách xem thông tin trả Ví dụ thấy này: ‘Không tìm thấy XSS…’ , ‘Tài khoản XSS không xác’, ‘Đăng nhập với XSS không thành công’… khả chỗ bị dính XSS cao • Bước 4: Khi xác định chỗ có khả bị dính lỗi XSS chèn đoạn code vào để thử tiếp, ví dụ sau: Chèn đoạn code này: < script>alert('XSS')< /script> vào ô bị lỗi nhấn nút Login, nhận popup có chữ ‘XSS’ 100% bị dính XSS Nhưng xin ý , có trường hợp website bị dính XSS NGUYỄN VƯƠNG NGHỊ Trang 47 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER không xuất popup buộc lòng bạn phải VIEW SOURCES (mổ bụng) để xem Khi view sources nhớ kiếm dòng < script>alert('XSS)< /script> , có hết chạy , XSS Gọi http://doannguyennganh.com/index.php site bị dính lỗi XSS ta tìm nơi bị lỗi : http://doannguyennganh.com/index.php?page==5 nên dễ dàng khai thác lỗi thông qua information_shema.tables mà không cần phải đoán table Hình 13 Thông tin table lấy - Bỏ qua table không liên quan ta lấy table sau: khuyenmai, lienhe, loaispcon, online, sanpham, tbl_gioithieu, tbl_lienhe, tbl_lienket, tbl_tintuc, thanhtoan, tintuc, user - Sau tiến hành lấy thông tin column data kết hình 14 NGUYỄN VƯƠNG NGHỊ Trang 50 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER Hình 14 Dữ liệu ta khai thác dạng mã hóa - Theo hình 14 liệu lấy dạng mã hóa Việc khai thác SQL Injection đến bước tìm đường dẫn đăng nhập quản trị mật nằm dạng mã hóa ta cần phải tiến hành giải mã 3.2 Kết luận 3.2.1 Các vấn đề đạt - Theo yêu cầu đặt ban đầu thời điểm tại, đồ án đạt nội dung sau: • Tìm hiểu kĩ thuật công ứng dụng Web bao gồm kĩ thuật o Chèn mã lệnh thực thi trình khách Cross-site Scripting o Chèn câu truy vấn SQL Tấn công SQL Injection nâng cao o Tấn công Local Acttack o Từ chối dịch vụ • Các biện pháp bảo mật từ kết hợp nhà quản trị mạng, nhà thiết kế ứng dụng Web người dùng o Kiểm tra trang Web có khả bị công kĩ thuật chèn câu lệnh SQL, thay đổi tham số hay không NGUYỄN VƯƠNG NGHỊ Trang 51 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER o Có thể phòng chống lỗi công thông dụng nay, vấn đề tìm hiểu 3.2.2 Hạn chế Trong trình làm đồ án có nhiều tài liệu tìm kiếm có mục đích giống song lại có phương pháp khác hoàn toàn.Tôi cố gắng tìm hiểu thêm chúng không khỏi có nhiều sai sót 3.2.3 Hướng phát triển đề tài Trong phạm vi đồ án chuyên ngành, đạt yêu cầu đặt Bản thân cá nhân em xin đề xuất hướng phát triển đồ án mở rộng cố gắng phát triển thêm nội dung sau: • Tìm hiểu thêm kĩ thuật công để đưa phương pháp bảo mật ứng dụng Web mức độ sâu • Tìm hiểu vấn đề bảo mật sâu hơn, không dừng mức độ ứng dụng Web mà phát triển vần đề bảo mật hệ thống mạng dịch vụ • Khai triển chương trình phát lỗ hổng tốt hơn, nhiều phương diện kĩ thuật NGUYỄN VƯƠNG NGHỊ Trang 52 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER TÀI LIỆU THAM KHẢO A Tài liệu Tiếng Việt: [1] Tấn công từ chối dịch vụ Dos,Ddos,DRDos Tác giả Ng.Ng.Thanh Nghị-HVA [2] Bài giảng An Ninh Mạng.Tác giả GV.Nguyễn Anh Tuấn-Trung tâm TH-NN Trí Đức [3] Lỗi bảo mật ứng dụng web cách khắc phục.Tác giả Đặng Hải Sơn-Trung tâm ứng cứu khẩn cấp máy tính Việt Nam [4] Tấn công kiểu SQL Injection-Tác hại phòng tránh Tác giả Lê Đình Duy-Khoa CNTT-Trường ĐH Khoa Học Tự Nhiên TP.HCM [5] Web Application Attack & Defense Tác giả Võ Đỗ Thắng-Trung tâm An ninh mạng Athena [6] XSS Tác giả Mask-NBTA B Tài liệu Tiếng Anh: [7] SQL Injection-Are you web Applications vulnerable Author Kevin Spett [8] An Introduction to SQL Injection Attacks For Oracle Developers.Author Stephen Kost [9] How to Attack and fix Local File Disclosure Author Sangteamtham C Tài liệu internet: [10]http://thuvienkhoahoc.com/wiki/K%C4%A9_thu%E1%BA%ADt_t%E1%BA%A 5n_c%C3%B4ng_CROSS-SITE_SCRIPTING » [11]http://vi.wikipedia.org/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:T %E1%BA%A5n_c%C3%B4ng_t%E1%BB%AB_ch%E1%BB%91i_d%E1%BB%8B ch_v%E1%BB%A5&action=edit&redlink=1 [12]http://www.hvaonline.net/hvaonline/posts/list/6720.hva;jsessionid=38F900726E07 641F712734A3B2A6F2EC [13]http://www.ddcntt.vn/forum/showthread.php?t=14 [14]http://ttgtc.com/forum/showthread.php?1385-T%C3%ACm-hi%E1%BB%83uv%E1%BB%81-t%E1%BA%A5n-c%C3%B4ng-t%E1%BB%AB-ch%E1%BB%91id%E1%BB%8Bch-v%E1%BB%A5-DoS&s=c580b874a6ea05d220258132c9cef9e3 NGUYỄN VƯƠNG NGHỊ Trang 53 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN NGUYỄN VƯƠNG NGHỊ Trang 54 CÁC PHƯƠNG THỨC TẤN CÔNG & PHÒNG THỦ WEB SERVER NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN NGUYỄN VƯƠNG NGHỊ Trang 55

Ngày đăng: 24/07/2016, 08:28

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w