Tải bản đầy đủ (.ppt) (54 trang)

Tìm hiểu về lỗ hổng web và cách phòng chống

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 (1.52 MB, 54 trang )

Tìm hiểu về lỗ hổng web và cách phòng
chống
Thực hiện: Vũ Trung Kiên
Lê Thị Liên
Nguyễn Phương Duy
Lớp : AT9c
Trường: HV kỹ thuật Mật mã

1


Tóm tắt nội dung





Tổng quan về website
Lỗ hổng Injection
Lỗ hổng XSS
Demo khai thác lỗ hổng SQL Injection

2


Tổng quan về website

3


Nội dung chính:


1, Mô tả website và cách hoạt động
2, Các dịch vụ và ứng dụng trên nền web
3, Các lỗi bảo mật thông dụng trên web

4


1, MÔ TẢ WEBSITE VÀ
CÁCH HOẠT ĐỘNG
Website là gì?
• Website là 1 “trang web” trên mạng internet.
• Là nơi giới thiệu những thông tin, hình ảnh về
doanh nghiệp và sản phẩm, dịch vụ của doanh
nghiệp (hay giới thiệu bất cứ thông tin gì)

5


ĐỂ TẠO NÊN 1 WEBSITE CẦN 3 YẾU TỐ CƠ
BẢN:
• Cần phải có tên miền (domain)
• Nơi lưu trữ website (hosting)
• Nội dung các trang thông tin (web page)

6


Thế nào là tên miền

• Tên miền là địa chỉ website, trên internet chỉ tồn tại duy nhất 1 địa chỉ (tức là

tồn tại duy nhất một tên miền)


Có 2 loại tên miền:
+ Tên miền Quốc tế: là tên miền có dạng .com; .net; .org; .biz; .name.....
+ Tên miền Việt Nam: là tên miền có dạng: .vn; .com.vn; .net.vn; .org.vn;
gov.vn
7


Một website được lưu trữ ở đâu?

8


 Dữ liệu thông tin của website phải được lưu trữ trên một máy tính (máy chủ –
server) luôn hoạt động và kết nối với mạng internet.
 Một server có thể lưu trữ nhiều tên website, nếu server này bị sự cố thì không ai c Ó
thể truy cập được những website lưu trữ trên server tại thời điểm đó

9


Nội dung các trang thông tin

Nội dung các trang thông tin được thiết kế và hiển thị
theo 2 cách:
 Website động
 Website tĩnh


10


 Website động (Dynamic website)
+ Là website có cơ sở dữ liệu, được cung cấp công cụ quản lí website
(Admin Tool).
+ Linh hoạt và có thể cập nhật thông tin thường xuyên, quản lí các
thành phần trên website dễ dàng.
+ Thường được viết bằng các ngôn ngữ lập trình như PHP, Asp.net, JSP,
…., quản trị Cơ sở dữ liệu bằng SQL hoặc MySQL...

 Website tĩnh
+ Do người lập trình băng ngôn ngữ HTML theo từng trang
+ Không có cơ sở dữ liệu và không có công cụ quản lí thông tin trên
website.
+ Ít thay đổi nội dung
+Thông thường website tĩnh được thiết kế bằng các phần mềm như
FrontPage, Dreamwaver,....
11


2, Các dịch vụ và ứng dụng trên nền
web

 Những ứng dụng viết trên nền web không chỉ được gọi là một phần của website
nữa, giờ đây chúng được gọi là phần mềm viết trên nền web.
 Có rất nhiều phần mềm chạy trên nền web như Google word (xử lí văn bản),
Google spreadsheets (xử lí bảng tính), Email.....

12



Một số ưu điểm của phần mềm hay ứng dụng chạy trên nền web:
+ Mọi người đều có trình duyệt và bạn chỉ cần trình duyệt chạy phần mềm.
+ Phần mềm luôn luôn được cập nhật vì chúng chạy trên server.
+ Luôn sẵn sàng 24/7.
+ Dễ dàng backup dữ liệu thường xuyên.
+ Có thể truy cập mọi lúc, mọi nơi, miễn là bạn có mạng.
+ Chi phí triển khai cực rẻ so với phần mềm chạy trên Desktop

13


3, Các lỗi bảo mật thông
dụng trên web

Lỗ hổng là gì?
 Lỗ hổng là các chương trình hợp pháp với các lỗ hổng bảo mật có
nguy cơ đưa đến một số rủi ro cho phép tin tặc có thể có ý định
tấn công hoặc thay đổi mã thông qua ứng dụng web tới một hệ
thông khác.
 Toàn bộ những dòng scripts được viết bằng Perl, Python và các
ngôn ngữ khác có thể được áp dụng đối với những người thiết kế
web ở trình độ không cao và thực thi nó trên hệ thông.
 Bất kì khi nào một ứng dụng web sử dụng một công cụ thông dịch
ở bất kì dạng nào đều có thể có nguy bị tấn công lỗ hổng bảo mật.

14



Các lỗ hổng phổ biến:

Lỗ Hổng Injection

15


Injection là gì?





Là một dạng đặc biệt được lan rộng và là dạng nguy hiểm trong sự tấn công
Là lỗ hổng mà tin tặc có thể tấn công hoặc thay đổi mã thông qua ứng dụng
web
Bằng việc cẩn thận gắn các mã độc vào cái tham biến, tin tắc có thể trick ứng
dụng web thông qua việc chuyển tiến các truy vấn mang mã độc tới hệ thống
16


SQL Injection

Là 1 dạng phổ biến của Injection
Là 1 lỗ hổng mà rất nhiều các website bị hacker khai thác và tấn công

17


Lỗ Hổng Cross-Site Scripting - XSS


18


 Cross-Site Scripting (gọi tắt là XSS thay vì CSS để tránh nhầm lẫn với CSS –
Casscading Style Sheet của HTML )– là một trong những lỗ hổng của Web
Application phổ biến nhất hiên nay, băng cách chèn vào các website động
(ASP, PHP, CGI,…)
 Những thẻ HTML, VBscript, ActiveX hoặc Flash nguy hiểm có khả năng đánh
cắp thông tin quan trọng như cookies, mật khẩu, password…của những người
đã truy cập vào website bị dính lỗi XSS.

19


SQL injection


Là 1 lỗi phổ biến nhất của
Injection



Lỗi được hacker thường xuyên khai
thác

20


Thống kê



Sql injection là

21


Tại sao lại có lỗi Sqli?


Chủ yếu là do người lập trình viết
SQL code trong ứng dụng

string cmdStr = "INSERT INTO Customer(Name, Address, Email, Phone) VALU
('" + txtName.Text + "', '" + txtEmail.Text + "','" + txtPhone.Text + "')"; 
conn.Open();
SqlCommand cmd = new SqlCommand(cmdStr, conn);
cmd.ExecuteNonQuery();

22


Minh họa Sqli

23


Các lỗi sqli thường gặp



Không kiểm tra ký tự thoát truy
vấn:
Đây là dạng lỗi SQL injection xảy ra
khi thiếu đoạn mã kiểm tra dữ liệu
đầu vào trong câu truy vấn SQL

statement = "SELECT * FROM users WHERE name = '" + userName + "';"

24


Các lỗi sqli thường gặp


Khi thêm userName= “a' or 't'='t “ , sẽ có câu
truy vấn:
SELECT * FROM users WHERE name = 'a' OR 't'='t';



Các gía trị của biến userName sẽ gây ra xóa
người dùng từ bảng người dùng
a';DROP TABLE users; SELECT * FROM data WHERE 't' = 't

25


×