Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Ứng dụng web an ninh mạng


Ứng dụng Web không thể thiếu đối với hầu hết mọi việc chúng ta làm, cho dù đó là truy cập Internet hay điều khiển máy cắt cỏ của bạn từ xa. Trong lớp giới thiệu này, chúng tôi sẽ đề cập đến những kiến ​​thức cơ bản về bảo mật ứng dụng web.


Giao thức HTTP

HTTP là giao thức mạng cho phép trình duyệt và ứng dụng của chúng tôi nhận nội dung như HTML ("Ngôn ngữ đánh dấu siêu văn bản"), CSS ("Bảng định kiểu xếp tầng"), hình ảnh và video.


URL, tham số truy vấn và lược đồ

Để truy cập một ứng dụng web, chúng tôi sử dụng URL ("Bộ định vị tài nguyên thống nhất"), ví dụ: https://www.google.com/search?q=w3schools+cyber+security&ie=UTF-8

URL tới google.com chứa miền, tập lệnh đang được truy cập và Tham số truy vấn.

Tập lệnh chúng tôi đang truy cập được gọi là /search. / cho biết nó được chứa trong thư mục trên cùng trên máy chủ nơi các tệp đang được phân phát. Các ? cho biết các tham số đầu vào cho tập lệnh và dấu & phân cách các tham số đầu vào khác nhau. Trong URL của chúng tôi, các tham số đầu vào là:

  • q với giá trị an ninh mạng của w3schools
  • tức là với giá trị UTF-8

Ý nghĩa của những thông tin đầu vào này tùy thuộc vào ứng dụng máy chủ web xác định.

Đôi khi bạn sẽ chỉ thấy / hoặc /? cho biết rằng một tập lệnh đã được thiết lập để phục vụ nhằm phản hồi địa chỉ này. Thông thường tập lệnh này giống như một tệp chỉ mục chứa tất cả các yêu cầu trừ khi một tập lệnh cụ thể được chỉ định.

Lược đồ là những gì xác định giao thức sẽ sử dụng. Trong trường hợp của chúng tôi, đây là phần đầu tiên của URL: https. Khi lược đồ không được xác định trong URL, nó cho phép ứng dụng quyết định nên sử dụng cái gì. Các lược đồ có thể bao gồm toàn bộ mảng giao thức như:

  • HTTP
  • HTTPS
  • FTP
  • SSH
  • SMB

Tiêu đề HTTP

Giao thức HTTP sử dụng nhiều tiêu đề, một số tiêu đề tùy chỉnh cho ứng dụng và một số tiêu đề khác được công nghệ xác định và chấp nhận rõ ràng.

Ví dụ yêu cầu tới https://google.com

GET /search?q=w3schools+cyber+security&ie=UTF-8 HTTP/1.1
Host: google.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Accept: image/avif,image/webp,image/apng,image/*,*/*;q=0.8
Referer: https://example.com.vn/
Accept-Encoding: gzip, deflate
Cookie: cookie1=value1;cookie2=value2

Tiêu đề yêu cầu chỉ định những gì khách hàng muốn thực hiện trên máy chủ web đích. Nó cũng có thông tin liên quan đến việc liệu nó có chấp nhận tính năng nén hay không, loại ứng dụng khách nào đang truy cập và bất kỳ cookie nào mà máy chủ yêu cầu ứng dụng khách đưa ra. Các tiêu đề yêu cầu HTTP được giải thích ở đây:

Header Explanation
GET /search... HTTP/1.1 GET is the verb we are using to access the application. Explained in detail in the section HTTP Verbs. We also see the path and query parameters and HTTP version
Host: google.com This header indicates the target service we want to use. A server can have multiple services as explained in the section on VHOSTS.
User-Agent A client application, that is the browser in most cases, can identify itself with the version, engine and operating system
Accept Defines which content the client can accept
Referer: https://example.com.vn/ If the client clicked a link from a different website the Referer header is used to say from where the client came from
Accept-Encoding: gzip, deflate Can the content be compressed or encoded? This defines what we can accept
Cookie Cookies are values sent by the server in previous requests which the client sends back in every subsequent request. Explained in detail in the section State

Với yêu cầu này, máy chủ sẽ trả lời bằng tiêu đề và nội dung. Các tiêu đề ví dụ được nhìn thấy dưới đây:

HTTP/1.1 200 OK
Content-Type: text/html
Set-Cookie: <cookie value>
<website content>

Tiêu đề và nội dung phản hồi là yếu tố quyết định những gì chúng ta sẽ thấy trong trình duyệt của mình. Các tiêu đề phản hồi HTTP được giải thích như sau:

Header Explanation
HTTP/1.1 200 OK The HTTP Response code. Explained in detail in the HTTP Response Codes section
Content-Type: text/html Specifies the type of content being returned, e.g. HTML, JSON or XML
Set-Cookie: Any special values the client should remember and return in the next request

Động từ HTTP

Khi truy cập một ứng dụng web, khách hàng sẽ được hướng dẫn cách gửi dữ liệu đến ứng dụng web. Có rất nhiều động từ có thể được ứng dụng chấp nhận.

!Verb Used for
GET Typically used to retrieve values via Query Parameters
POST Used to send data to a script via values in the body of the Request sent to the webserver. Typically it involves creating, uploading or sending large quantities of data
PUT Often use to upload or write data to the webserver
DELETE Indicate a resource which should be deleted
PATCH Can be used to update a resource with a new value

Chúng được sử dụng khi ứng dụng web yêu cầu. Các dịch vụ web Restful (REST) ​​đặc biệt hiệu quả trong việc sử dụng đầy đủ các Động từ HTTP để xác định những gì nên làm ở phần phụ trợ.


Mã phản hồi HTTP

Ứng dụng chạy trên máy chủ web có thể phản hồi bằng các mã khác nhau dựa trên những gì xảy ra ở phía máy chủ. Dưới đây là các mã phản hồi phổ biến mà máy chủ web sẽ cấp cho khách hàng mà các chuyên gia bảo mật nên biết:

Code Explanation
200 Application returned normally
301 Server asks client to permanently remember a redirect to a new location where the client should access
302 Redirect temporarily. Client doesn't need to save this reply
400 The client made an invalid request
403 The client is not allowed to access this resource. Authorization is required
404 The client tried to access a resource which does not exist
500 The server errored in trying to fulfill the request

NGHỈ NGƠI

Các dịch vụ nghỉ ngơi, đôi khi được gọi là dịch vụ RESTful, sử dụng toàn bộ sức mạnh của Động từ HTTP và Mã phản hồi HTTP để tạo điều kiện thuận lợi cho việc sử dụng ứng dụng web. Các dịch vụ RESTful thường sử dụng các phần của URL làm tham số truy vấn để xác định điều gì xảy ra trên ứng dụng web. REST thường được sử dụng bởi API ("Giao diện lập trình ứng dụng").

URL REST sẽ gọi chức năng dựa trên các thành phần khác nhau của URL.

Một URL REST ví dụ: https://example.com/users/search/w3schools

URL này sẽ gọi chức năng như một phần của URL thay vì Tham số truy vấn. Chúng tôi có thể giải mã URL dưới dạng:

Parameter Comment
users Accessing the users part of the functionality
search Accessing the search feature
w3schools The user to search for

Phiên & trạng thái

Không có cách tích hợp nào để máy chủ xác định khách truy cập quay lại trong HTTP. Để máy chủ web xác định được người dùng, một giá trị bí mật phải được truyền đạt đến và từ Khách hàng trong mỗi yêu cầu. Điều này thường được thực hiện thông qua Cookie trong tiêu đề, tuy nhiên các cách khác cũng phổ biến như thông qua tham số GET và POST hoặc các tiêu đề khác. Việc chuyển trạng thái thông qua các tham số GET không được khuyến khích vì các tham số như vậy thường được ghi vào máy chủ hoặc trong các trung gian như proxy.

Phiên HTTP

Dưới đây là một số ví dụ về Cookie phổ biến cho phép ứng dụng trên máy chủ web kiểm soát phiên và trạng thái:

  • PHPSESSID
  • JSESSIONID
  • ASP.NET_SessionID

Các giá trị này thể hiện một trạng thái nhất định, thường được gọi là phiên, trên máy chủ. Trạng thái này đại diện cho những thứ như:

  • Bạn đã đăng nhập với tư cách người dùng nào
  • Đặc quyền và ủy quyền

Điều quan trọng là giá trị phiên được gửi tới Khách hàng không thể dễ dàng đoán được hoặc bị người khác xác định. Nếu có thể, kẻ tấn công có thể tự nhận mình là những người dùng khác trên ứng dụng web.

Trạng thái cũng có thể được lưu trên máy khách. Điều này liên quan đến việc máy chủ gửi tất cả các trạng thái cho máy khách và dựa vào việc máy khách gửi lại tất cả các mục. Việc triển khai như vậy dựa vào mã hóa để kiểm tra tính toàn vẹn của trạng thái mà máy khách đang yêu cầu. Ví dụ về việc triển khai sử dụng điều này được liệt kê dưới đây:

  • JWT ("Mã thông báo web JSON")
  • ASP.Net ViewState

Bạn đang sử dụng cookie để tham gia lớp học này! Bạn có thể kiểm tra các cookie này trong trình duyệt web của mình bằng cách mở công cụ dành cho nhà phát triển. Điều này được thực hiện bằng cách nhấn F12 trong trình duyệt, mở cửa sổ công cụ dành cho nhà phát triển. Trong cửa sổ này, bạn sẽ có thể tìm thấy đúng nơi lưu trữ cookie của mình.

Ban điêu khiển cải tiên hơn

Trong Google Chrome, cookie đã được xác định trong tab Ứng dụng ở trên.

Lưu ý : Bạn có thể nghĩ tại sao cookie bị ẩn trong ảnh chụp màn hình nên bạn không thể đọc được không?

Máy chủ ảo

Một máy chủ web có thể xử lý nhiều ứng dụng thông qua Máy chủ ảo, thường được viết tắt là Vhost. Để tạo điều kiện truy cập vào các Máy chủ ảo khác, máy chủ web thường đọc tiêu đề Máy chủ của yêu cầu của máy khách và dựa trên giá trị này sẽ gửi yêu cầu đến đúng ứng dụng.

Máy chủ ảo


Mã hóa URL

Để ứng dụng truyền nội dung giữa máy chủ và máy khách một cách an toàn, một số ký tự phải được mã hóa để đảm bảo chúng không ảnh hưởng đến giao thức. Để duy trì tính toàn vẹn của thông tin liên lạc, mã hóa URL được sử dụng.

Mã hóa URL thay thế các ký tự không an toàn bằng % và hai chữ số thập lục phân. Ví dụ:

  • Tỷ lệ phần trăm được thay thế bằng %25
  • Không gian được thay thế bằng %20
  • Báo giá được thay thế bằng %22

Một công cụ tuyệt vời để thực hiện phân tích văn bản và chạy các hoạt động như Giải mã URL là CyberChef. Bạn có thể dùng thử trên trình duyệt của mình tại đây: https://gchq.github.io/CyberChef/

Lưu ý : Chơi thử với Cyber ​​Chef và xem liệu bạn có thể tiết lộ thông báo sau trong các ký tự được mã hóa URL chứa gì không: %48 %65 %6c %6c %6f %20 %64 %65 %61 %72 %20 %77 %33 % 73 %63 %68 %6f %6f %6c %73 %20 %73 %74 %75 %64 %65 %6e %74 %2e %20 %48 %6f %70 %65 %20 %79 %6f %75 % 20 %61 %72 %65 %20 %6c %65 %61 %72 %6e %69 %6e %67 %20 %73 %6f %6d %65 %74 %68 %69 %6e %67 %20 %74 % 6f %64 %61 %79 %21

JavaScript

Để hỗ trợ nội dung động, trình duyệt sử dụng ngôn ngữ kịch bản JavaScript. Điều này cho phép các nhà phát triển lập trình các giải pháp sẽ chạy trên máy khách, cho phép nội dung web tương tác và "sống động" hơn.

JavaScript cũng tham gia vào nhiều cuộc tấn công chống lại các ứng dụng web và ứng dụng khách như trình duyệt.


Mã hóa bằng TLS

Giao thức HTTP không hỗ trợ mã hóa cho dữ liệu đang truyền, do đó, một trình bao bọc xung quanh HTTP được thêm vào để hỗ trợ mã hóa. Điều này được biểu thị bằng chữ S theo sau HTTP, tức là HTTPS.

Mã hóa trước đây là SSL ("Lớp cổng bảo mật") nhưng sau đó không còn được dùng nữa. Thay vào đó, TLS ("Bảo mật lớp truyền tải") thường được sử dụng để thực thi mã hóa.



×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .