về ứng dụng web(website widget hay web application)

55 655 1
về ứng dụng web(website widget hay web application)

Đ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

về ứng dụng web(website widget hay web application)

Đồ á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 SV :Nguyễn Văn Đại 1 Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân 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ý SV :Nguyễn Văn Đại 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 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. SV :Nguyễn Văn Đại 3 Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân Mục Lục Đồ á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 SV :Nguyễn Văn Đại 4 Đồ á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. SV :Nguyễn Văn Đại 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.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 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 SV :Nguyễn Văn Đại 6 Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân Còn đây là mô hình của một dịch vụ ứng dụng web: 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 SV :Nguyễn Văn Đại 7 Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân 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. 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 SV :Nguyễn Văn Đại 8 Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân 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 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). SV :Nguyễn Văn Đại 9 Đồ á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 3. Mô tả hoạt động của một ứng dụng web Các bước hoạt động của một ứng dụng web đơn giản Bước 1 : Browser tạo một HTTP Request gửi tới ứng dụng web bước 2: Controller chính của Struts là class ActionServlet sẽ bắt request này, phân tích URL của nó, và dựa vào file struts-config.xml để gửi request này tới Action class tương ứng Bước 3: Action class là một class của Struts Framework. Ứng dụng của chúng tathường extends từ class này và viết code để sử lý những business tương ứng. Chẳng hạn ta sẽ có một LoginAction để xử lý việc user login, logout. Bước 4: Action class có thể truy xuất, cập nhật database nếu cần thiết. Bước 5: Khi Action class thực hiện việc xử lý business xong, nó sẽ gửi yêu cầu forward/redirect, cùng với dữ liệu (nếu có) về controller. SV :Nguyễn Văn Đại 10 [...]... bảo mật ứng dụng web Khi mà ứng dụng web phát triển rất nhanh về mọi mặt, khả năng ứng dụng một cách rộng rãi thì vấn đề bảo mật cho ứng dụng web cũng được chú trọng hơn Mặc dù không thể phủ nhận những cải tiến nâng cao đáng kể hiện nay, nhưng vấn đề về bảo mật trong ứng dụng Web vẫn không ngừng tăng lên Nguyên nhân có thể xuất phát từ các đoạn mã không phù hợp Nhiều điểm yếu nghiêm trọng hay các lỗ... :Ứng dụng web và vấn đề bảo mật GVHD:Thầy Huỳnh Nguyễn Thành Luân có thể dùng những tool này để phát hiện những lỗ hổng của một ứng dụng web và từ đó sẽ có cách tấn công tương ứng vào lỗ hổng này gây ra rất nhiều tổn thất Vì vậy việc nghiên cứu về các kĩ thuật tấn công và những tool cơ bản hiện nay là một nhu cầu tất yếu trong việc nghiên cứu bảo mật ứng dụng web SV :Nguyễn Văn Đại 14 Đồ án :Ứng dụng. .. 14 Đồ á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 2: GIỚI THIỆU VỀ CÁC THUẬT NGỮ VÀ KHÁI NIỆM LIÊN QUAN 2.1 Các khái niệm và thuật ngữ thường dùng 2.1.1 Các khái niệm chung về ứng dụng web Web browser (trình duyệt web) là các ứng dụng phần mềm cho phép người dùng truy vấn dữ liệu và tương tác với nội dung nằm trên trang Web bên trong website Trang Web là tĩnh; người... người dùng và dẫn họ tới website phishing Kỹ thuật này được gọi là Cross-site Scripting, có thể được dùng ngay cả khi bản thân Web Server và nơi chứa cơ sở dữ liệu không có lỗ hổng nào Một cuộc nghiên cứu gần đây chỉ ra rằng 75% các cuộc tấn công mạng được thực hiện ở mức ứng dụng Web. Website và các ứng dụng Web liên quan luôn phải sẵn sàng SV :Nguyễn Văn Đại 12 Đồ án :Ứng dụng web và vấn đề bảo mật GVHD:Thầy... chống lại kiểu thay đổi nội dung một chuỗi URL, ứng dụng có thể áp dụng biện pháp sau: ` • Ứng dụng sử dụng cơ chế bảng băm (hash table) Sau khi người dùng chứng thực thành công với một username , ứng dụng sẽ sinh ra một khoá tương ứng Khoá này sẽ được lưu trên server cùng với biến username trong đối tượng bảng băm Mỗi khi người dùng kết nối đến ứng dụng, khoá và username này sẽ được gửi đi và được... xuất phát từ sự cẩu thả hay lỗi người dùng trên các ứng dụng Web Như đã nói, website phụ thuộc vào cơ sở dữ liệu để phân phối thông tin được yêu cầu cho người dùng Nếu ứng dụng Web không an toàn (như có lỗ hổng, gặp phải một kiểu kỹ thuật hacking nào đó), toàn bộ cơ sở dữ liệu chứa thông tin nhạy cảm sẽ gặp nguy hiểm nghiệm trọng Một số hacker có thể chèn mã độc hại vào ứng dụng Web có lỗ hổng để lừa... client và quyết định đáp ứng hay không đáp ứng, nếu yêu cầu được đáp ứng, proxy server sẽ kết nối với server thật thay cho client và tiếp tục chuyển tiếp những yêu cầu từ client đến server, cũng như trả lờicủa server đến client Vì vậy proxy server giống cầu nối trung gian giữa server và client CHƯƠNG 3:CÁC KĨ THUẬT TẤN CÔNG ỨNG WEB CƠ BẢN SV :Nguyễn Văn Đại 23 Đồ án :Ứng dụng web và vấn đề bảo mật A... pháp chi tiết cá nhân người dùng, dù đôi khi không hề chủ tâm làm điều đó Hầu hết ứng dụng Web đều là tự tạo, do đó ít có được các kiểm tra trình độ hơn so với phần mềm cùng loại Do đó các ứng dụng tùy biến thường dễ bị tấn công hơn Có thể nói ứng dụng Web là một cổng vào (gateway) của cơ sở dữ liệu, nhất là các ứng dụng tùy biến Chúng không được phát triển với mức bảo mật tốt nhất vì không phải qua... đó, và server sẽ trả về tài nguyên đó Các trang Web không có gì hơn là một văn bản được định dạng và phân tán Đối với các trình duyệt, thì các trang Web tĩnh không phải là các vấn đề khó khăn, và trang Web lúc đầu chỉ để thông tin về các sự kiện, địa chỉ, hay lịch làm việc qua Internet mà thôi, chưa có sự tương tác qua các trang Web Web "ĐỘNG" là thuật ngữ được dùng để chỉ những website được hỗ trợ... của trình chủ 3.8 Kí tự rỗng (Null Characters) Lợi dụng chuỗi kí tự thường kết thúc bằng \0 mà hacker thường thêm vào để đánh lừa ứng dụng vì với những ứng dụng sử dụng chương trình dịch như C++ thì C++ cho rằng \0 là dấu kết thúc chuỗi Ví dụ: Hacker thêm chuỗi sau: Ô nhập: đề tài thứ nhất\0 alert(document.cookie) Nếu ứng dụng sử dụng chương trình C++ để kiểm tra tính đúng đắn của . 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. đả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ổ

Ngày đăng: 24/04/2013, 16:20

Hình ảnh liên quan

Mô hình của một ứng dụng web đơn giản chính là mô hình MVC (Model - View - -Controller). - về ứng dụng web(website widget hay web application)

h.

ình của một ứng dụng web đơn giản chính là mô hình MVC (Model - View - -Controller) Xem tại trang 6 của tài liệu.
Còn đây là mô hình của một dịch vụ ứng dụng web: - về ứng dụng web(website widget hay web application)

n.

đây là mô hình của một dịch vụ ứng dụng web: Xem tại trang 7 của tài liệu.
Hình 3. Mô tả hoạt động của một ứng dụng web - về ứng dụng web(website widget hay web application)

Hình 3..

Mô tả hoạt động của một ứng dụng web Xem tại trang 10 của tài liệu.
Hình 3 Mô hình hoạt động của một ứng dụng web - về ứng dụng web(website widget hay web application)

Hình 3.

Mô hình hoạt động của một ứng dụng web Xem tại trang 12 của tài liệu.
Hình 1 giao diện của nmap - về ứng dụng web(website widget hay web application)

Hình 1.

giao diện của nmap Xem tại trang 47 của tài liệu.
Hình 2 mô tả kiểu quét intense của nmap - về ứng dụng web(website widget hay web application)

Hình 2.

mô tả kiểu quét intense của nmap Xem tại trang 48 của tài liệu.
Hình 3 kết quả khi dùng nmap phần (nmap out) - về ứng dụng web(website widget hay web application)

Hình 3.

kết quả khi dùng nmap phần (nmap out) Xem tại trang 48 của tài liệu.
Hình 4 Kết quả trên nmap out (tiếp) - về ứng dụng web(website widget hay web application)

Hình 4.

Kết quả trên nmap out (tiếp) Xem tại trang 49 của tài liệu.
Hình 5 hình ảnh của host đang kiểm tra - về ứng dụng web(website widget hay web application)

Hình 5.

hình ảnh của host đang kiểm tra Xem tại trang 50 của tài liệu.
Hình 6 giao diện của wireshare - về ứng dụng web(website widget hay web application)

Hình 6.

giao diện của wireshare Xem tại trang 51 của tài liệu.
Hình 8 Thông tin của những gói tin mà wireshare bắt được - về ứng dụng web(website widget hay web application)

Hình 8.

Thông tin của những gói tin mà wireshare bắt được Xem tại trang 52 của tài liệu.
Hình 7 giao diện của wireshare khi bắt gói tin - về ứng dụng web(website widget hay web application)

Hình 7.

giao diện của wireshare khi bắt gói tin Xem tại trang 52 của tài liệu.
Hình 9 Giao diện của DoSHTTP 2.5 - về ứng dụng web(website widget hay web application)

Hình 9.

Giao diện của DoSHTTP 2.5 Xem tại trang 53 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan