đề tài: XSS SQL injection

11 537 0
đề tài: XSS  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

XSS & SQL injection Thieu Mao - KSEC 1- Tấn công XSS như thế nào? Phân loại lỗi XSS  Stored-XSS Là lỗi XSS mà đoạn mã chèn thêm vào được lưu trữ trên server, như trong CSDL dưới dạng các comment trong blog, message trong forum.  Reflected-XSS Khác với Stored-XSS, Reflected-XSS đoạn mã khai thác sẽ không được lưu trữ trên server. Stored-XSS Đoạn mã <script>alert(“XSS”)</script> được chèn vào trong lời nhắn, và ngay lập tức nó được thực thi như hình dưới. Vì các lời nhắn được lưu trữ trong database nên bất cứ người dùng nào khi truy cập vào trang web này sẽ thực thi đoạn mã trên. Thay vì một đoạn mã vô hại như trên, hacker có thể thay bằng các đoạn mã nguy hiểm khác nhằm gây hại đến người dùng. Reflected-XSS Ta thấy từ khóa tìm kiếm mà ta nhập vào ô textbox được hiển thị lại trên trình duyệt. Lợi dụng việc không kiểm soát giá trị này, ta có thể chèn thêm đoạn mã gây hại vào. Đường link sẽ có dạng: http://thieumao.vn/xss/reflected/index.php? q=<script>alert(“XSS”)</script> Tuy nhiên đoạn mã độc hại không được lưu lại trên server nên chỉ khi chạy đường link trên, người dùng mới bị tấn công. 2- SQL injection là gì?  Là hình thức tấn công vào câu lệnh SQL SELECT. Bằng thủ thuật nào đó, attacker chèn câu lệnh hợp lệ của mình vào câu lệnh SQL SELECT của chương trình, để từ đó khai thác dữ liệu cần thiết. Các dạng lỗi thường gặp:  Không kiểm tra ký tự thoát truy vấn  Xử lý không đúng kiểu  Lỗi bảo mật bên trong máy chủ cơ sở dữ liệu  Blind SQL injection Các dạng tấn công SQL injection 1. Dạng tấn công vượt qua kiểm tra đăng nhập 2. Dạng tấn công sử dụng câu lệnh SELECT 3. Dạng tấn công sử dụng câu lệnh INSERT 4. Dạng tấn công sử dụng stored-procedures 2.1 Dạng tấn công vượt qua kiểm tra đăng nhập 2.2 Dạng tấn công sử dụng câu lệnh SELECT  Như trường hợp hình bên dưới, ta có thể thay thế ID hợp lệ bằng 1 giá trị khác. Ví dụ như 0 or 1=1 (thieumao.com/product.asp?ID=0 or 1=1)  Câu lệnh truy vấn SELECT * FROM T_NEWS WHERE NEWS_ID =0 or 1=1 sẽ trả về tất cả các bài viết. 2.3 Dạng tấn công sử dụng câu lệnh INSERT  Ví dụ, một câu lệnh INSERT có cú pháp dạng: INSERT INTO TableName VALUES('Value One', 'Value Two', 'Value Three')  Thì chắc chắn sẽ bị lỗi SQLi nếu ta nhập vào trường thứ nhất như: ' + (SELECT TOP 1 FieldName FROM TableName) + ‘  Lúc này câu truy vấn sẽ là : INSERT INTO TableName VALUES(' ' + (SELECT TOP 1 FieldName FROM TableName) + ' ', 'abc', 'def')  Khi đó, lúc thực hiện lệnh xem thông tin, xem như bạn đã yêu cầu thực hiện thêm một lệnh nữa đó là: SELECT TOP 1 FieldName FROM TableName . trong forum.  Reflected -XSS Khác với Stored -XSS, Reflected -XSS đoạn mã khai thác sẽ không được lưu trữ trên server. Stored -XSS Đoạn mã <script>alert( XSS )</script> được chèn vào trong. XSS & SQL injection Thieu Mao - KSEC 1- Tấn công XSS như thế nào? Phân loại lỗi XSS  Stored -XSS Là lỗi XSS mà đoạn mã chèn thêm vào được lưu trữ. dạng: INSERT INTO TableName VALUES('Value One', 'Value Two', 'Value Three')  Thì chắc chắn sẽ bị lỗi SQLi nếu ta nhập vào trường thứ nhất như: ' + (SELECT TOP 1 FieldName

Ngày đăng: 18/10/2014, 11:07

Từ khóa liên quan

Mục lục

  • Slide 1

  • 1- Tấn công XSS như thế nào?

  • Phân loại lỗi XSS

  • Stored-XSS

  • Reflected-XSS

  • 2- SQL injection là gì?

  • Các dạng tấn công SQL injection

  • 2.1 Dạng tấn công vượt qua kiểm tra đăng nhập

  • 2.2 Dạng tấn công sử dụng câu lệnh SELECT

  • 2.3 Dạng tấn công sử dụng câu lệnh INSERT

  • 2.4 Dạng tấn công sử dụng stored-procedures

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

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

Tài liệu liên quan