0

TÌM HIỂU TẤN CÔNG SQL INJECTION TRONG ORACLE ppt

21 1,089 7
  • TÌM HIỂU TẤN CÔNG SQL INJECTION TRONG ORACLE ppt

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 25/03/2015, 09:49

MỤC LỤC LỜI NÓI ĐẦU4 Chương I: Giới thiệu về SQL Injecton5 1.1.SQL Injection là gì?5 1.2.Mục đích của tấn công SQL Injection.5 1.3.Các dạng tấn công SQL Injection.6 1.3.1.Dạng tấn công vượt qua kiểm tra đăng nhập.6 1.3.2.Dạng tấn công sử dụng câu lệnh SELECT.7 1.3.3.Dạng tấn công sử dụng câu lệnh INSERT.10 1.3.4.Dạng tấn công sử dụng stored – procedures.12 Chương II: Kỹ thuật tấn công SQL Injection và cách phòng chống.13 2.1.Kỹ thuật tấn công SQL Injection.13 2.1.1.Tìm kiếm mục tiêu.13 2.1.2.Kiểm tra chỗ yếu của trang web.13 2.1.3.Nhận dữ liệu qua “database using ODBC error message”.15 2.1.4.Thu thập các dữ liệu quan trọng.15 2.1.5.Xử lý kết quả tìm được.15 2.2.Cách phòng chống tấn công SQL Injection.15 Chương III: Demo tấn công SQL Injection17 3.1.Công cụ tấn công.17 3.2.Mục tiêu.17 KẾT LUẬN18 TÀI LIỆU THAM KHẢO19   DANH MỤC HÌNH ẢNH Hình 1. Form đăng nhập………………………………………………………. Hình 2. Trang web có nguy cơ bị tấn công ……………………………………. Hình 3: Trang web bị lỗi sau khi thực hiện câu lệnh …………………………. Hình 4: Mẫu đăng ký tài khoản ……………………………………………….. Hình 5: Trang web trước khi chèn ký tự vào cuối URL ……………………….. Hình 6: Trang web sau khi chèn ký tự vào cuối URL ………………………….6 8 10 11 14 14   LỜI NÓI ĐẦU Ngày nay, với sự phát triển mạnh mẽ của internet và công nghệ thông tin, ngày càng xuất hiện nhiều những loại tấn công vào cơ sở dữ liệu của chúng ta. Một trong những hình thức tấn công phổ biến và dễ dàng nhất là tấn công SQL Injection. Với mục đích tìm hiểu về cách tấn công, tác hại, các kỹ thuật tấn công của SQL Injection, nhóm em đã chọn đề tài: tìm hiểu về tấn công SQL Injection trên Oracle 10g (hoặc 11g) để có thể tìm hiểu và đưa ra các biện pháp phòng chống loại tấn công nguy hiểm này.   ĐỀ TÀI TÌM HIỂU VỀ TẤN CÔNG SQL INJECTION TRONG ORACLE Giáo viên hướng dẫn: Trần Thị Lượng Nhóm 10: Vũ Ngọc Tiến Nguyễn Ngọc Ánh Sái Nguyễn Đức Hoàng Lớp : AT8B 1/213/25/15 Tìm hiểu về tấn công SQL Injection Nhóm sẽ trình bày các vấn đề sau:  Giới thiệu về SQL Injection  Các dạng tấn công SQL Injection  Kỹ thuật tấn công SQL Injection  Các cách phòng chống  Demo tấn công bằng SQL Injection 2/21 3/25/15 SQL Injection là gì?  Là một dạng tấn công mà kẻ tấn công lợi dụng truy vấn SQL để chèn thêm các tham số đầu vào không an toàn.  Tấn công này dễ thực hiện, chỉ cần một trình duyệt web, có thể kèm theo một ứng dụng proxy server.  Thường xảy ra trên những ứng dụng web có cơ sở dữ liệu được quản trị bằng các hệ quản trị như: MySQL, SQL Server, Oracle,… 3/21 Giới thiệu về tấn công SQL Injection 3/25/15 Mục đích của tấn công SQL Injection:  Đánh cắp dữ liệu từ cơ sở dữ liệu.  Thay đổi dữ liệu trong cơ sở dữ liệu.  Đánh sập một website . Giới thiệu về tấn công SQL Injection 3/25/15 4/21 5/21 Các dạng tấn công SQL Injection 3/25/15 Câu lệnh kiểm tra thường dùng khi đăng nhập: 6/21 Vượt qua kiểm tra khi đăng nhập 3/25/15 Để vượt qua kiểm tra, người dùng nhập như sau: strUsername: ‘ or ‘‘ = ‘ strPassword: ‘ or ‘‘ = ‘ Khi này, câu truy vấn SQL được thực hiện sẽ là: SELECT * FROM Users WHERE Username = ‘ or ‘‘ = ‘ AND Password = ‘ or ‘‘ = ‘ Câu truy vấn này luôn đúng và trả về tất cả thông tin trong bảng user 7/21 Vượt qua kiểm tra khi đăng nhập 3/25/15 Ví dụ đây là URL của một bản tin: http://www.myhost.com/shownews.aspx?ID=123 Code xử lý: string ID = Request.QueryString[“ID”]; string strSQL = “select * from News where NewsID=“ + ID; Nếu người dùng thay chỗ 123 bằng chuỗi 0 or 1 = 1 Khi đó câu lệnh SQL sẽ trở thành: select * from News where NewsID = 0 or 1 = 1 Kết quả là sẽ hiện tất cả các tin tức. 8/21 Tấn công sử dụng câu lệnh SELECT 3/25/15 Câu lệnh SQL thường sử dụng cho chức năng đăng ký: cmdangki.CommandText = “INSERT INTO Users(Tendangnhap, Matkhau) VALUES ('" + tendn.Value.ToString() + "','" + matkhau.Value.ToString() +“)"; Nếu lúc này người dùng nhập vào textbox “tendn” như sau: ‘ + (select top 1 tendn from users) + ‘ Lúc này câu truy vấn sẽ là: INSERT INTO Users VALUES(‘ ' + (select top 1 Tendn from Users) + ' ','abc','def'). Khi đó, lúc thực hiện lệnh INSERT, xem như bạn đã yêu cầu thực hiện thêm một lệnh nữa đó là: select top 1 Tendn from Users. 9/21 Tấn công sử dụng câu lệnh INSERT 3/25/15  Trong SQL Sever có các database master và trong các database này có các store procude system được lập trình sẵn để thực hiện các công việc cụ thể nào đó. Nếu như hacker chiếm được quyền điều khiển hệ quản trị này và thực hiện truy vấn đến các store này hoặc nguy hiểm hơn là xóa đi database master thì toàn bộ database sẽ bị ảnh hưởng và không hoạt động được.  Việc tấn công bằng stored-procedures sẽ gây tác hại rất lớn nếu ứng dụng được thực thi với quyền quản trị hệ thống 'sa'. 10/21 Tấn công sử dụng Stored - procedures 3/25/15 [...]... những domain mà server có thể truy vấn 3/25/15 11/21 Kỹ thuật tấn công SQL Injection Các bước tiến hành tấn công SQL Injection:  Bước 1: Tìm kiếm mục tiêu  Bước 2: Kiểm tra chỗ yếu của trang web  Bước 3: Nhận data qua ‘database using ODBC error message’  Bước 4: Thu thập các dữ liệu quan trọng  Bước 5: Xử lý kết quả tìm được 3/25/15 12/21 Tìm kiếm mục tiêu    Có thể dùng bất kỳ một search-engine... thuật nào chứa trong thông điệp chuyển xuống cho người dùng khi ứng dụng có lỗi 3/25/15 19/21 Cách phòng chống tấn công SQL Injection   Kiểm tra chặt chẽ các kí tự nhập vào trước khi thực hiện các lệnh truy vẫn SQL Viết các hàm xóa bỏ các kí tự đặc biệt từ chuỗi nhập vào như: ‘, “”, , @@, SELECT, UNION, DROP, INSERT, xp_ Tắt thông báo lỗi từ hệ quản trị CSDL Điều này hạn chế việc tấn công của hacker... Ta sẽ có id và mật khẩu của tất cả user có trong bảng user  3/25/15 17/21 Xử lý kết quả thu được  Sau khi đã có được các thông tin quan trọng như tài khoản và mật khẩu, tên bảng, tên cột ta có thể tiến hành đăng nhập, thay đổi thông tin bằng câu lệnh UPDATE hoặc thêm một bản ghi mới vào bảng bằng câu lệnh INSERT 3/25/15 18/21 Cách phòng chống tấn công SQL Injection    Cần có cơ chế kiểm soát chặt.. .Tấn công sử dụng Stored - procedures Dưới đây là một số extended stored procedure mà hacker thường hay sử dụng để thực thi những câu lệnh xem nội dung thông tin trong máy nạn nhân:  Xp_availablemedia: Hiển thị những ổ đĩa hiện hành trên máy  Xp_dirtree: Hiển thị tất cả các thư mục... của cơ sở dữ liệu ở bước này bằng cách sử dụng các câu lệnh SQL  Ví dụ sử dụng câu lệnh: UNION SELECT 1,2,unhex(hex(group_concat(table_name))),4,5,6,7 FROM INFORMATION_SCHEMA.TABLE WHERE TABLE_SCHEMA=database()- Ta sẽ lấy được tất cả tên của các bảng có trong cơ sở dữ liệu  3/25/15 16/21 Thu thập các dữ liệu quan trọng Từ những dữ liệu tìm được ở bước trên, ta lọc ra các bảng, cột có chứa những... khóa tìm kiếm website bị lỗi:  inurl:php?id=  news.php id=  pages.php?id= 3/25/15 13/21 Kiểm tra chỗ yếu của trang web  Có thể điền thêm một số lệnh trên url, hoặc trên các from login, search, hoặc search để phát hiện lỗi 3/25/15 14/21 Kiểm tra chỗ yếu của trang web 3/25/15 15/21 Nhận data qua ‘database using ODBC error message’ Đây là bước quan trọng nhất và đòi hỏi nhiều kĩ thuật lẫn sự am hiểu. .. SELECT, UNION, DROP, INSERT, xp_ Tắt thông báo lỗi từ hệ quản trị CSDL Điều này hạn chế việc tấn công của hacker tuy nhiên website chúng ta vẫn bị lỗi việc này không giúp chúng ta chống lại hoàn toàn sự tấn công 3/25/15 20/21 Cảm ơn thầy, cô và các bạn đã lắng nghe! 3/25/15 21/21 . SQL Injection Nhóm sẽ trình bày các vấn đề sau:  Giới thiệu về SQL Injection  Các dạng tấn công SQL Injection  Kỹ thuật tấn công SQL Injection  Các cách phòng chống  Demo tấn công bằng SQL. TÌM HIỂU VỀ TẤN CÔNG SQL INJECTION TRONG ORACLE Giáo viên hướng dẫn: Trần Thị Lượng Nhóm 10: Vũ Ngọc Tiến Nguyễn Ngọc Ánh Sái Nguyễn Đức Hoàng Lớp : AT8B 1/213/25/15 Tìm hiểu về tấn công SQL. trị như: MySQL, SQL Server, Oracle, … 3/21 Giới thiệu về tấn công SQL Injection 3/25/15 Mục đích của tấn công SQL Injection:  Đánh cắp dữ liệu từ cơ sở dữ liệu.  Thay đổi dữ liệu trong cơ sở
- Xem thêm -

Xem thêm: TÌM HIỂU TẤN CÔNG SQL INJECTION TRONG ORACLE ppt, TÌM HIỂU TẤN CÔNG SQL INJECTION TRONG ORACLE ppt, TÌM HIỂU TẤN CÔNG SQL INJECTION TRONG ORACLE ppt