MỤC LỤC3 MỞ ĐẦU4 CHƯƠNG 1 : GIỚI THIỆU CHUNG VỀ SQL INJECTION5 1.1 Khái niệm SQL Injection:5 1.2 Quy trình tấn cống6 1.3 Các dạng lỗi thường gặp:6 1.3.1 Không kiểm tra ký tự thoát truy vấn6 1.3.2 Xử lý không dúng kiểu7 1.3.3 Lỗi bảo mật bên trong máy chủ cơ sở dữ liệu8 1.3.4 Blind SQL Injection8 CHƯƠNG 2 : MỘT SỐ DẠNG TẤN CÔNG THƯỜNG GẶP VỚI CÁC ỨNG DỤNG WEB10 2.1 Dạng tấn công vượt qua kiểm tra lúc đăng nhập10 2.2 Dạng tấn công sử dụng câu lệnh SELECT12 2.3 Dạng tấn công sử dụng câu lệnh INSERT13 2.4 Dạng tấn công sử dụng Strored-Procedures14 CHƯƠNG 3 : MÔ PHỎNG TẤN CÔNG SQL INJECTION VÀO WEBSERVER14 3.1 Một số công cụ rò tìm, tấn công lỗ hổng SQL Injection14 CHƯƠNG 4 : HẬU QUẢ CỦA SQL INJECTION VÀ CÁCH PHÒNG CHỐNG SQL26 4.1 Hậu quả:26 4.2 Cách phòng chống:26 KẾT LUẬN29
MÔ PHỎNG TẤN CÔNG SQL Injection VÀO Web server MÔN HỌC: AN NINH MẠNG+BTL GV: ĐỖ NHƯ HẢI Thực hiện: HOÀNG THỊ HỒNG GẤM - 1621050275 LÊ THẾ QUÝ - 1721050540 HOÀNG HẢI HÀ - 1721050311 Các kỹ thuật công nguy hiểm nhằm vào web server 1.Tấn công DoS/DDoS 2.Tấn công Brute Force 3.Cross Site Scripting(Lỗ hổng XSS) 4.Tấn công Injection (Tấn công tiêm nhiễm SQL) SQL INJECTION 1.khái niệm Sql Injection là kỹ thuật mà hacker lợi dụng lổ hỗng việc kiểm tra liệu đầu vào ứng dụng web đến DBMS để khai thác thông tin nhạy cảm Cho phép hacker thực thao tác như Insert, delete, update… trên sở liệu của server Các lỗi xảy ứng dụng web có liên kết với các DBMS như: SQL Server, MySQL, Oracle, DB2, Sysbase… ngơn ngữ lập trình web động như: php, asp, asp.net, jsp… 2.Mục đích • Mục đích SQL injection truy cập vào sở liệu bất hợp pháp khai thác thông tin từ sở liệu • Một số kiểu cơng SQL injection: + Update + Select + Delete + Insert … 3.Cơ chế họat động Cơ chế hoạt động website • -T: chọn bảng thực thi • dump : lấy liệu *Dị tìm lỗ hổng SQLInjection website • *Nhập URL Chọn Free Scan Sau chọn Light Scan Full Scan Demo công lỗ hổng SQL Injection Demo công lỗ hổng SQL Injection • Nhập email: user@email.com • Password: password • Log in Demo cơng lỗ hổng SQL Injection • Server trả kết “Unknow email or password” không tìm thấy liệu user • Nhập lại password “ password’ ” Demo công lỗ hổng SQL Injection • Lần server trả kết “An unexpected error occurred” • Do Hacker nhập thêm ký tự ‘ khiến SQL server trả kết lỗi cú pháp : Demo công lỗ hổng SQL Injection • Rendering login page: Server kết xuất trang đăng nhập • Đây câu lệnh SQL server Demo công lỗ hổng SQL Injection • “ password’ “ chèn trực tiếp vào chuỗi SQL kết thúc truy vấn • Đây nguyên nhân gây lỗi cú pháp mà thấy server trả • Hành vi hacker website bị công SQL Injection Demo công lỗ hổng SQL Injection • Tiếp tục nhập password “ ‘ or 1=1 “ Demo công lỗ hổng SQL Injection • Hacker đăng nhập vào hệ thống mà không cần mật khẩu, nhờ khai thác lỗ hổng SQL Injection Demo cơng lỗ hổng SQL Injection • Hệ thống bị đánh lừa ký tự “ “ hacker nhập khiến sở liệu bỏ qua phần lại câu lệnh SQL, cho phép xác thực mà nhập mật Cách phịng chống SQL Injection • SQL Injection hồn tồn ngăn chặn Và quy tắt bỏ qua không nên tin tưởng tuyệt đối vào thông tin mà người sử dụng nhập vào • Và mơ hình SQLI có thể dễ dàng bị ngăn chặn bước gọi Sanitization – hiểu nôm na việc chắt lọc thông tin đầu vào – input từ phía người dùng