Tải bản đầy đủ (.pptx) (22 trang)

Tiểu luận môn an toàn thông tin đề tài Tấn công XSS và SQL Injection

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (242.02 KB, 22 trang )

Đề Tài: Tấn công XSS và SQL Injection
Nhóm học viên thực hiện:

1.

Ngô Hoàng Thành

2.

Phạm Tất Thành

3.

Nguyễn Xuân Thịnh

4.

Trần Văn Nậm

5.

Luyện Thanh Tuấn

6.

Trần Hữu Thảo


Tấn công XSS



XSS – Cross Site Script



Khái niệm XSS



Phân loại



Mục đích của XSS



Cách thức hoạt động của XSS



Các bước thực hiện tấn công XSS



Phòng chống XSS


Khái niệm XSS




XSS (Cross-site script) là một kỹ thuật tấn công bằng cách chèn vào các trang
web động (PHP, ASP, JSP…) những thẻ HTML hoặc những đoạn script
(những đoạn mã lệnh thực thi trực tiếp trên trình duyệt) nhằm mục đích thiết
lập hoặc đánh cắp những thông tin quan trọng trên máy người dùng.


Phân loại



Stored XSS



XSS được đưa lên lưu trữ tại web server, người dùng bị tấn công khi truy cập những
nội dung này.



Reflected XSS



Attacker gửi trực tiếp cho người dùng URL hoặc các thẻ HTML chứa mã độc để
người dùng kết nối với server thông qua chúng.


Nhắc lại cơ chế dynamic web page



Cách thức hoạt động của XSS


Ví dụ :



Truy cập trạng web




http::/Trang_web/file_name?query=<script>Mã độc</script>

HTML trả về

Results for <?php echo $_GET[query] ?> : ...




Web browser của client sẽ chạy đoạn mã nằm trong tag <script>


Stored XSS


Stored XSS



Reflected XSS



Tạo email giả có chứa URL đến người dùng



http::/Trang_web/file_name?query=<script>Mã độc</script>



Người dùng tin tưởng vào nội dung email và click vào URL



Web server sẽ trả về trang HTML có chứa mã độc.


Reflected XSS


Các thao tác tấn công XSS



Thao tác 1 : Tìm lỗ hổng XSS




Sử dụng tool (Vd : Web Vulnerability Scanner)



Thực hiện thủ công



Bước 1 : Mở website



Bước 2 : Xác địch thành phần có khả năng tấn công XSS, nhập vào các dữ liệu đặc
biệt.



Bước 3 : Xác minh thành phần có lỗ hổng XSS hay không bằng những dữ liệu trả về
của server


Các thao tác tấn công XSS



Thao tác 1 : Tìm lỗ hổng XSS (tiếp)




Bước 4 : Thử nhập những đoạn script đơn giản vào thành phần có khả năng có lỗ
hổng XSS



Bước 5 : Chuẩn bị tấn công


Các thao tác tấn công XSS



Thao tác 2 : Tấn công XSS



Tùy vào lỗ hổng XSS mà ta có thể lên kế hoạch tấn công XSS khác nhau.


Cách phòng chống XSS



Đối với web developer



Lọc dữ liệu : Xác định tính hợp lý của dữ liệu, loại bỏ các ký tự đặc biệt.




Mã hóa dữ liệu : mã hóa các dữ liệu đầu vào và đầu ra để tránh những đoạn mã nguy
hiểm.

 Ảnh hưởng hiệu năng hệ thống, cần chú ý đến những dữ liệu đã được mã hóa trước.


Cách phòng chống XSS



Đối với người dùng



Cảnh giác với những đường link “lạ”



Không cho phép trình duyệt chạy những đoạn script trong thẻ HTML

 Hiểu rõ về XSS ta sẽ biết được phương pháp phòng chống XSS


Tấn công SQL Injection


Khái niệm




Sql Injection (SQLi) là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ
hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông
báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các
câu lệnh SQL bất hợp pháp.


Hướng khai thác



Thông qua User input



Thông qua Cookies



Thông qua các biến Server



Second-order injection


Các kỹ thuật khai thác




Union query based



Batched query



Order by clause


Các bước khai thác thông tin



Phát hiện lỗi Sql Injection



Thu thập thông tin về hệ quản trị CSDL



Xác định số lượng cột trong mệnh đề Select



Xác định thông tin



Cách phòng chống



Ngay từ khái niệm, chúng ta đã có thể biết được cách phòng chống hiệu quả
Sql Injection chính là việc kiểm tra kỹ càng tham số đầu vào. Những tham số
mà từ đó người lập trình website sử dụng để build lên câu truy vấn tới cơ sở
dữ liệu.



Công việc kiểm tra tham số đầu vào (áp dụng phòng tránh lỗi Sql Injection)
nên được tiến hành theo nhiều tầng



×