1. Trang chủ
  2. » Thể loại khác

ĐỀ ÁN Ứng dụng web và vấn đề bảo mật

20 7 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 656,58 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân LỜI MỞ ĐẦU Trong thời đại ngày này nay internet đã rất trở nên quen thuộc và là một công cụ hữu ích để một đất nướ

Trang 1

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

ĐỀ ÁN

Ứng dụng web và

vấn đề bảo mật

Trang 2

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

LỜI MỞ ĐẦU Trong thời đại ngày này nay internet đã rất trở nên quen thuộc và là một công cụ hữu ích để một đất nước giới thiệu hình ảnh hay đơn giản chỉ là một trang web cá nhân của một ai đó giới thiệu về mình Tất cả đã kéo theo sự phát triển không ngừng của các ứng dụng web Và dần dần khái niệm ứng dụng web đã trở nên phổ biến Khi mà trên internet ,ứng dụng web đã trở lên phổ biến ,ứng dụng một cách rộng rãi thì các cuộc tấn công ứng dụng web cũng phát triển hết sức phức tạp Điều này đã đặt ra vấn đề cấp thiết cần làm như thế nào để bào đảm an toàn thông tin cho ứng dụng web, thông tin của người sử dụng Các khái niệm chuyên môn về ứng dụng web và tấn công ứng dụng web cũng dần trở nên phổ biến hơn trong các tài liệu chuyên ngành Các công cụ hỗ trợ người lập trình web, người quản trị mạng cũng xuất hiện giúp tìm kiếm lỗ hổng của ứng dụng web nhưng nó không theo kịp sự phát triển nhanh đến mức chóng mặt theo xu hướng nhanh hơn đẹp hơn của các ứng dụng web, và tất nhiên nó không thể ngăn chặn hoàn toàn các cuộc tấn công ứng dụng web, khi mà các cuộc tấn công ngày càng đa dạng khai thác triệt để những lỗi của ứng dụng web, của người quản trị, hay người lập trình ứng dụng web

Thống kê cho thấy 75% cuộc tấn công internet là tấn công ứng dụng web,nó gây ra những thiệt hại vô cùng to lớn, vì vậy việc tìm hiểu về tấn công ứng dụng web là rất cần thiết nhằm có cách phòng chống tấn công và bảo mật ứng dụng web hiệu quả trở thành một yêu cầu cấp thiết

Do đây là một xu thế tất yếu của thời, nên việc tìm hiểu và nghiên cứu về ứng dụng web sẽ giúp ích rất nhiều cho các nhà lập trình web mới, hay các quản trị viên mới còn

ít kinh nghiệm trong việc quản trị hệ thống mạng của mình, phòng tránh , hay khắc phục những lỗi của ứng dụng web Đồ án này được thực hiện nhằm mục đích giới thiệu rõ hơn về ứng dụng web nhằm tránh những nhầm lẫn và đồng thời tìm hiểu về những tấn công ứng dụng web phổ dụng nhằm có cách phòng chống ,bảo mật cho ứng dụng web hợp lý

Trang 3

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

Trang 4

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

Lời cảm ơn

Em xin cảm ơn khoa công nghệ thông tin trường cao đẳng Công Thương đã tạo điều kiện thuận lợi để em hoàn thành đồ án này

Cảm ơn Thầy Huỳnh Nguyễn Thành Luân và các thầy trong khoa công nghệ thông tin đã tận tình hướng dẫn cung cấp tài liệu và giúp đỡ em làm đồ án này

Mục Lục

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ỨNG DỤNG WEB 8

Trang 5

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

1.1 khái niệm về ứng dụng web(website widget hay web application) 8

1.2 Cấu trúc,chức năng,giao diện&nguyên tắc hoạt động cơ bản của ứng dụng web 8 1.2.1 Cấu trúc cơ bản của một ứng dụng web 8

1.2.2 Giao diện của một ứng dụng web 10

1.2.3 Chức năng cơ bản của các ứng dụng web 11

1.2.4 Nguyên tắc hoạt động cơ bản của một ứng dụng web 12

1.2.5 Vấn đề bảo mật ứng dụng web 14

CHƯƠNG 2: GIỚI THIỆU VỀ CÁC THUẬT NGỮ VÀ KHÁI NIỆM LIÊN QUAN 18

2.1 Các khái niệm và thuật ngữ thường dùng 18

2.1.1 Các khái niệm chung về ứng dụng web 18

2.1.2 Thuật ngữ ,khái niệm về các công cụ liên quan đến ứng dụng web 19

2.1.3 Các khái niệm và thuật ngữ liên quan đến tấn công và bảo mật ứng dụng web 22

2.1.3.1 Khái niệm hacker 22

2.1.3.2 HTTP HEARDER 22

2.1.3.3 SESSION 23

2.1.3.4 COOKIE 24

2.1.3.5 PROXY 26

CHƯƠNG 3: CÁC KĨ THUẬT TẤN CÔNG ỨNG WEB CƠ BẢN 27

A Lý thuyết 27

1 KIỂM SOÁT TRUY CẬP WEB (Web Access Control) 27

2 CHIẾM HỮU PHIÊN LÀM VIỆC(Session Mangement) 27

2.1 Ấn định phiên làm việc (Session Fixation) 27

2.2 Đánh cắp phiên làm việc (Session Hijacking) 27

3 LỢI DỤNG THIẾU SÓT TRONG VIỆC KIỂM TRA DỮ LIỆU HỢP LỆ (INPUT VALIDATION) 27

3.1 Kiểm tra tính đúng đắn của dữ liệu bằng ngôn ngữ phía trình duyệt 27

3.2 Tràn bộ đệm (Buffer OverFlow) 28

3.3 Mã hoá URL (URL Encoding) 28

3.4 Kí tự Meta (Meta-characters Sử dụng những kí tự đặc biệt 28

3.5 Vượt qua đường dẫn (Path Traversal): 28

3.6 Chèn mã lệnh thực thi trên trình duyệt nạn nhân 28

3.7 Thêm câu lệnh hệ thống (OS Command Injection) 29

3.8 Kí tự rỗng (Null Characters) 29

3.9 Chèn câu truy vấn SQL (SQL Injection) 29

3.10 Ngôn ngữ phía máy chủ (Server side includes) 29

3.11 Thao tác trên tham số truyền (Parameter manipulation) 29

3.12 Từ chối dịch vụ (Denial of service (DoS)) 30

B, Các cách triển khai tấn công ứng dụng web 30

1 Thao tác trên tham số 30

1.1 THAO TÁC TRÊN URL 30

1.1.1 Khái niệm 30

Trang 6

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

1.1.2 Cách khắc phục 30

1.2 THAO TÁC TRÊN BIẾN ẨN FORM 31

1.2.1 Khái niệm 31

1.2.2 Một số biện pháp khắc phục 31

2 Kĩ thuật tấn công SQL Injection 32

2.1 Dưới đây là kĩ thuật SQL injection đơn giản nhất 32

2.2 Tấn công dưa vào câu lệnh SELECT 34

2.3 Tấn công dựa vào câu lệnh HAVING 34

2.4 Tấn công dựa vào câu lệnh kết hợp UNION 34

2.5 Tấn công dựa vào lệnh INSERT 40

2.6 Tấn công dưa vào STORED PROCEDURE 40

2.7 Một số kĩ thuật tấn công bổ xung 41

2.7.1 Chuỗi kí tự không có dấu nháy đơn 41

2.7.2 Tấn công 2 tầng 41

2.7.3 Tránh sự kiểm soát: 43

2.7.4 Dùng Extended Stored Procedure có sẵn trong hệ thống 44

2.7.5 Dùng Extended Stored Procedure tự tạo 44

2.7.6 Nhập tập tin văn bản vào bảng 45

2.7.7 CÁCH PHÒNG CHỐNG 45

3 Kĩ thuật tấn công gây tràn bộ đệm và từ chối dịch vụ(Buffer overflow) 46

3.1 Khái niệm 47

3.2 Các đối tượng bị ảnh hưởng bởi kiểu tấn công này 47

3.3 Các kiểu tấn công DDos 47

3.3.1 Kiểu tấn công thứ 1 47

3.3.2 Kiểu tấn công thứ 2 47

3.3.3 Kiểu tấn công vào tài nguyên hệ thống 48

3.4 Cách phòng chống 48

CHƯƠNG 3 GIỚI THIỆU MỘT SÔ CÔNG CỤ PHỔ DỤNG TRONG KĨ THUẬT TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB 50

3.1 Tool scanning 50

2 Công cụ bắt gói tin 53

3 Công cụ dùng để tấn công dos ứng dụng web 56

PHẦN KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỒ ÁN 57

Tài liệu tham khảo 58

Trang 7

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

Đồ án của tôi những phần sau

Giới thiệu về Đồ án

Chương 1: Giới thiệu tổng quan về ứng dụng web

Chương 2:Giới thiệu về những thuật ngữ và khái niệm liên quan

Chương 3: Giới thiệu Sơ lược về một số cách tấn công ứng dụng web

cơ bản

Chương chương 4: Giới thiệu về cách sử dụng một số công cụ phổ dụng

Kết luận và hướng phát triển của đồ án

Trang 8

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ỨNG

DỤNG WEB

1.1 khái niệm về ứng dụng web(website widget hay web

application)

Mang tính kỹ thuật nhiều hơn có thể giải thích các ứng dụng Web truy vấn máy chủ chứa nội dung (chủ yếu trên cơ sở dữ liệu lưu trữ nội dung) và tạo tài liệu Web động để phục vụ yêu cầu của máy khách (chính là người dùng website) Tài liệu được tạo trong kiểu định dạng tiêu chuẩn hỗ trợ trên tất cả mọi trình duyệt (như HTML, XHTML) JavaScript là một dạng script client-side cho phép yếu tố động có ở trên từng trang (như thay đổi ảnh mỗi lần người dùng di chuột tới) Trình duyệt Web chính

là chìa khóa Nó dịch và chạy tất cả script, lệnh… khi hiển thị trang web và nội dung được yêu cầu

Dưới góc độ chức năng, ứng dụng Web là các chương trình máy tính cho phép người dùng website đăng nhập, truy vấn vào ra dữ liệu qua mạng Internet trên trình duyệt Web yêu thích của họ Dữ liệu sẽ được gửi tới người dùng trong trình duyệt theo kiểu thông tin động (trong một định dạng cụ thể, như với HTML thì dùng CSS) từ ứng dụng Web qua một Web Server

Để hiểu hết được ý nghĩa của khái niệm này chúng ta cùng đi sâu vào tìm hiểu tiếp mô hình cấu trúc chức năng và nhiệm vụ của ứng dụng web

1.2 Cấu trúc,chức năng,giao diện&nguyên tắc hoạt động cơ

bản của ứng dụng web 1.2.1 Cấu trúc cơ bản của một ứng dụng web

Trang 9

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

Mô hình của một ứng dụng web đơn giản chính là mô hình MVC (Model - View -

Controller)

Tầng Model: chứa các code connect tới database,truy vấn và thêm xóa sửa dữ liệu

Tầng View: chứa các code tạo giao diện tương tác với người dùng, dữ liệu được vẽ ra

nhu thế nào

Tầng Controller: chứa các code điều khiển dòng dữ liệu (flow control), gắn kết tầng

Mode và tầng View lại với nhau

Ứng dụng được chia thành các layer như thế sẽ tăng tính reuse và dễ dàng mở rộng

Chẳng hạn nếu chúng ta muốn ứng dụng có thể truy xuất trên di dộng, chúng ta chỉ cần

tạo một tầng view mới riêng cho di động, tầng model và controller không thay dổi Hay

nếu chúng ta muốn thay đổi database, việc đó cũng dễ dàng hơn, chỉ cần ta tạo tầng

model mới, phần view và controller không bị ảnh hưởng.

Mô hình thể hiện quan hệ của ba lớp trong ứng dụng web:

Hình 1 mô hình 3 tầng của một ứng dụng web

Còn đây là mô hình của một dịch vụ ứng dụng web:

Trang 10

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

Hình 2 Mô hình dịch vụ ứng dụng web đơn giản

Tầng Presentation: được dùng để giao tiếp với người dùng, nhiệm vụ chính là hiển thị

dữ liệu và nhận dữ liệu từ người dùng

- Tầng Business Logic: nhiệm vụ chính là cung cấp các chức năng của phần mềm

- Tầng Data: lưu trữ dữ liệu, cho phép lớp Business Logic có thể tìm kiếm, trích xuất, cập nhật… dữ liệu

1.2.2 Giao diện của một ứng dụng web

Giao diện web đặt ra rất ít giới hạn khả năng người dùng Thông qua Java, JavaScript, DHTML, Flash và những công nghệ khác, những phương pháp chỉ ứng dụng mới có như vẽ trên màn hình, chơi nhạc, và dùng được bàn phím và chuột tất cả đều có thể thực hiện được Những kỹ thuật thông thường như kéo thả cũng được hỗ trợ bởi những công nghệ trên

Những nhà phát triển web thường dùng ngôn ngữ kịch bản phía người dùng để thêm hiệu quả các tính năng, đặc biệt là tạo ra một cảm giác giao tiếp trực quan mà không cần phải tải trang lại (điều mà nhiều người dùng cảm thấy ngắt quãng) Vừa rồi, những công nghệ đã được phát triển để phối hợp ngôn ngữ kịch bản phía người dùng với công nghệ phía máy chủ như PHP Ajax, một kỹ thuật phát triển web sử dụng kết hợp nhiều công nghệ khác nhau, là một ví dụ về công nghệ hiện đang tạo ra ngày càng nhiều trải nghiệm tương tác hơn

Trang 11

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

1.2.3 Chức năng cơ bản của các ứng dụng web

Ứng dụng web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương trình Khả năng cập nhật và bảo trì ứng dụng Web mà không phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính là lý do chính cho sự phổ biến của nó Ứng dụng web được dùng để hiện thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảo luận, Weblog, MMORPG, Hệ quản trị quan hệ khách hàng và nhiều chức năng khác

Web cũng là kênh bán hàng thông minh cho hàng nghìn tổ chức, doanh nghiệp, lớn có, nhỏ có Với hơn một tỷ người dùng Internet ngày nay (nguồn: Computer Industry Almanac 2006), thương mại điện tử Mỹ sử dụng khoảng 102 tỷ đô la trong năm 2006 cho giao dịch (nguồn: comScore Networks 2007)

Tất cả dữ liệu như vậy cần phải được đóng gói, lưu trữ, xử lý và truyền vận theo một cách nào đó, có thể sử dụng ngay hoặc vào một ngày nào đó sau này Các ứng dụng Web, trong lĩnh vực đăng ký, đệ trình, truy vấn, đăng nhập, bán hàng và hệ thống quản lý nội dung chính là các website widget cho phép thực hiện tất cả công việc mong muốn

Web chính là là yếu tố cơ bản giúp doanh nghiệp tăng cường hình ảnh trực tuyến của mình trên thế giới mạng, tạo ra và duy trì nhiều mối quan hệ đem lại lợi nhuận lâu dài với khách hàng tiềm năng và khách hàng hiện tại

Không nghi ngờ gì là các ứng dụng Web đã trở thành thứ hiện hữu ở khắp mọi nơi trên thế giới Nhưng do tính kỹ thuật cao và yếu tố tổng hợp phức tạp tự nhiên nên chúng không được nhiều người biết đến chính xác, thậm chí bị hiểu nhầm trầm trọng trong cuộc sống bận rộn hằng ngày

Website ngày nay khác xa so với kiểu đồ họa và văn bản tĩnh của thế kỷ mười chín hay thời kỳ trước đó Các trang Web hiện đại cho phép người dùng lấy xuống nội dung động cá nhân hóa theo thiết lập và tham chiếu riêng Hơn nữa chúng cũng có thể chạy các script trên máy khách, có thể “thay đổi” trình duyệt Internet thành giao diện

Trang 12

Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân

cho các ứng dụng như thư điện tử, phần mềm ánh xạ tương tác (Yahoo Mail, Google Maps)

Quan trọng nhất là website hiện đại cho phép đóng gói, xử lý, lưu trữ và truyền tải dữ liệu khách hàng nhạy cảm (như thông tin cá nhân, mã số thẻ tín dụng, thông tin bảo mật xã hội …) có thể dùng ngay hoặc dùng định kỳ về sau Và, điều này được thực hiện qua các ứng dụng Web Đó có thể là thành phần webmail (thư điện tử), trang đăng nhập, chương trình hỗ trợ và mẫu yêu cầu sản phẩm hay hoạt động mua bán, hệ thống quản lý nội dung, phát triển website hiện đại, cung cấp cho các doanh nghiệp phương tiện cần thiết để liên lạc với khách hàng tương lai và khách hàng hiện tại

1.2.4 Nguyên tắc hoạt động cơ bản của một ứng dụng web

Trong dạng tính toán chủ-khách trước đây, mỗi ứng dụng có chương trình khách riêng của nó sẽ phục vụ như giao diện người dùng và phải được cài đặt riêng rẽ trên mỗi máy tính cá nhân của người dùng Sự nâng cấp phần máy chủ của ứng dụng sẽ cần nâng cấp tất cả máy khách đã được cài trên mỗi máy trạm người dùng, thêm vào đó là chi phí hỗ trợ và giảm năng suất

Ứng dụng web linh hoạt tạo ra một loạt các tài liệu Web ở định dạng chuẩn được hỗ trợ bởi những trình duyệt phổ biến như HTML/XHTML Ngôn ngữ kịch bản phía người dùng ở dạng ngôn ngữ chuẩn như JavaScript thường được thêm vào để có thêm những yếu tố động trong giao diện người dùng Nói chung, mỗi trang Web đơn lẻ được gửi tới người dùng như một tài liệu ổn định, nhưng thứ tự các trang có thể cung cấp cảm giác trực quan, khi những gì người dùng nhập vào sẽ được trả về thông qua thành phần mẫu Web được nhúng vào trong đánh dấu trang Trong quá trình giao dịch

đó, trình duyệt Web sẽ thông dịch và hiển thị trang, và hoạt động như một người dùng chung cho bất kỳ ứng dụng Web nào

Theo mô hinh MVC (Model - View - Controller).

Ngày đăng: 05/07/2021, 00:00

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w