Chapter 4 SQL Injection

29 23 0
Chapter 4  SQL Injection

Đ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

Bài giảng về đảm bảo An toàn thông tin trên cơ sở dữ liệu SQL Injection góp phần bảo mật thông tin trên hệ thông Internet. SQL injection is a code injection technique that might destroy your database. SQL injection is one of the most common web hacking techniques. SQL injection is the placement of malicious code in SQL statements, via web page input.

SQL Injection Brief Tutorial of SQL • Log in to MySQL: We will use MySQL database, which is an open-source relational database management system We can log in using the following command: • Create a Database: Inside MySQL, we can create multiple databases “SHOW DATABSES” command can be used to list existing databases We will create a new database called dbtest: SQL Tutorial: Create a Table • A relational database organizes its data using tables Let us create a table called employee with seven attributes (i.e columns) for the database “dbtest” SQL Tutorial: Insert a Row • We can use the INSERT INTO statement to insert a new record into a table : • Here, we insert a record into the “employee” table • We not specify a value of the ID column, as it will be automatically set by the database SQL Tutorial: SELECT Statement • • The SELECT statement is the most common operation on databases It retrieves information from a database Asks the database for all its records, including all the columns Asks the database only for Name, EID and Salary columns SQL Tutorial: WHERE Clause • • It is uncommon for a SQL query to retrieve all records in a database WHERE clause is used to set conditions for several types of SQL statements including SELECT, UPDATE, DELETE etc • • • The above SQL statement only reflects the rows for which the predicate in the WHERE clause is TRUE The predicate is a logical expression; multiple predicates can be combined using keywords AND and OR Lets look at an example in the next slide SQL Tutorial: WHERE Clause • • The first query returns a record that has EID5001 in EID field The second query returns the records that satisfy either EID=‘EID5001’ or Name=‘David’ SQL Tutorial: WHERE Clause • If the condition is always True, then all the rows are affected by the SQL statement • This 1=1 predicate looks quite useless in real queries, but it will become useful in SQL Injection attacks SQL Tutorial: UPDATE Statement • We can use the UPDATE Statement to modify an existing record SQL Tutorial: Comments MySQL supports three comment styles • • • Text from the # character to the end of line is treated as a comment Text from the “ ” to the end of line is treated as a comment Similar to C language, text between /* and */ is treated as a comment SQL Injection • Các cụm từ khóa hay dùng để bypass với Username password là: 1=1-' or' or 1=1-1=1-' or' or 1=1 'a'='a ' or' or 'a'='a 'a'='a ' or' or 'a'='a " or 1=1-" or 1=1-" or 1=1-" or 1=1 " or "a"="a " or "a"="a " or "a"="a " or "a"="a 1=1-oror 1=1-1=1-oror 1=1 ') or ('a'='a ') or ('a'='a ') or ('a'='a ') or ('a'='a SQL Injection  Dạng 2: Sử Dụng thông báo lỗi ODBC Đây cách công mà attacker truy vấn csdl thu thông tin dựa vào thống báo lỗi hệ thống Nhờ vào “ Error message” mà attacker xác định cấu trúc thông tin cần thiết Database SQL Injection Tác Hại SQL Injection Với kỷ thuật công attacker có biết thơng tin nhạy cảm chiếm quyền quản trị website Với website bn bán ngân hàng SQL injection có tác hại lớn attacker chiếm đoạt tài khoản khách hàng SQL Injection • Cách phòng tránh: Đừng tin mà user nhập vào Kiểm tra loại bỏ từ khóa nhạy cảm ( ’ ) Giới hạn quyền User Loại bỏ quyền Drop data Tạo trang bẫy lỗi… SSL & TLS SSL - Secure Socket Layer Được phát triển Netscape Được sử dụng rộng rãi Worl Wide Web việc xác thực mã hóa thơng tin client server Được thiết kế giao thức riêng, hỗ trợ cho nhiều ứng dụng SSL giao thức đơn lẻ, tập hợp thủ tục chuẩn hóa để thực nhiệm vụ bảo mật Các thuật toán dùng SSL: DES, 3DES, DSA, KEA, MD5, RSA, RC2 RC4, SHA-1 Cấu trúc SSL đặc điểm bật • Các bên giao tiếp xác thực lẫn sử dụng mật mã khóa chung • kết nối mã hóa suốt suốt trình truyền liệu sau thiết lập quan hệ ban đầu thương lượng khóa session diễn • Tính xác thực tồn vẹn liệu lưu lượng liệu bảo vệ TLS • • • • • Transport Layer Security Được pháp triển dựa SSL v3 Cung cấp riêng tư toàn vẹn liệu Gồm lớp: Record layer Handshake layer Bài tập SV: Lỗ hổng giao thức TLS/SSL (DROWN) HTTPS • Hyper Text Tranfer Protocol over Secure Socket Layer HTTPS • • HTTPS sử dụng port 443 • Sử dụng phương thức hashing để đảm bảo tính tồn vẹn liệu client server (Integrity) • Sử dụng Digital Certificate giúp client tin tưởng Website truy cập (không phải giả mạo) (Authenticity) Sử dụng phương thức mã hóa đảm bảo thơng điệp trao đổi client server đ ược b ảo mật (confidentiality) HTTPS • HTTPS (HTTP over SSL) – Kết hợp HTTP SSL/TSL bảo mật giao tiếp browser server • https:// thay cho http:// – Port 443 thay cho 80 • Mã hóa: – URL, nội dung, cookies, HTTP header • Bài tập Phương pháp cơng HTTPS (SSLStrip) Nhắc lại • • • ISO 27001 27002 ISO 27001: Kỹ thuật an toàn Hệ thống quản lý an tồn thơng tin ISO 27002: Qui phạm thực hành quản lý an tồn thơng tin  ISO 27001/27002 • • Trong tiêu chuẩn ISO 27001/27002, khái niệm bảo đảm an ninh thơng tin hiểu trì tính bí mật, tính tồn vẹn tính sẵn sàng thơng tin Ba tính chất viết tắt nhóm từ tiếng Anh: C.I.A, C tính bí mật (Confidentiality); I tính tồn vẹn (Integrity); A tính sẵn sàng (Availability) Tính bí mật đảm bảo người phép truy cập thơng tin Tính tồn vẹn đảm bảo xác đầy đủ thơng tin phương pháp xử lý thơng tin Tính sẵn sàng đảm bảo người sử dụng phép truy cập thông tin tài sản tương ứng cần Ba thuộc tính ln ln tiêu chuẩn để kiểm chứng mức độ bảo đảm an ninh thông tin hệ thống thông tin ISO 27001/27002 • Thơng tin gắn liền với ba yếu tố người, quy trình nghiệp vụ hạ tầng kỹ thuật • Trong hạ tầng kỹ thuật bao gồm mạng máy tính thiết bị lưu trữ, xử lý truyền nhận thông tin môi trường kỹ thuật liên quan • • Quy trình nghiệp vụ quy trình xử lý thơng tin Yếu tố người kể đến trình vận hành, xử lý thông tin, khai thác sử dụng thông tin Giải pháp cho an ninh thơng tin biện pháp tác động tới yếu tố người, quy trình nghiệp vụ hạ tầng kỹ thuật để thông tin đảm bảo thuộc tính: bảo mật, tồn vẹn sẵn sàng ISO 27001/27002 Triển khai an ninh thơng tin phải q trình thường xun, liên tục, khơng thực lần hồn tất • Hệ thống an ninh thông tin sau được  xây dựng vào hoạt động phải định kỳ đánh giá để phát điểm yếu, mối đe dọa mới, từ có kế hoạch nâng cấp, hồn thiện • Người ta thường mơ tả quy trình cụm từ P.D.C.A, P: Plan  lập kế hoạch, D: Do thực hiện, C: Check - kiểm tra đánh giá A: Act - hiệu chỉnh, nâng cấp ... cần thiết Database SQL Injection Tác Hại SQL Injection Với kỷ thuật cơng attacker có biết thơng tin nhạy cảm chiếm quyền quản trị website Với website buôn bán ngân hàng SQL injection có tác hại... câu lệnh SQL bất hợp pháp Hậu nguy hiểm cho phép kẻ cơng thực thao tác xem, hiệu chỉnh,… có tồn quyền sở liệu ứng dụng, chí server mà ứng dụng chạy SQL Injection Một số kiểu công SQL injection. .. tác với Database ứng dụng Web • Một ứng dụng Web thông thường bao gồm thành phần chính: SQL- Injection SQL injection kĩ thuật cho phép kẻ cơng lợi dụng lỗ hổng lập trình việc kiểm tra liệu nhập

Ngày đăng: 16/05/2020, 15:17

Mục lục

  • Brief Tutorial of SQL

  • SQL Tutorial: Create a Table

  • SQL Tutorial: Insert a Row

  • SQL Tutorial: SELECT Statement

  • SQL Tutorial: WHERE Clause

  • SQL Tutorial: WHERE Clause

  • SQL Tutorial: WHERE Clause

  • SQL Tutorial: UPDATE Statement

  • Tương tác với Database trong ứng dụng Web

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

Tài liệu liên quan