Mẹo Chuyển đổi chuỗi thành phản ứng html

Kinh Nghiệm về Chuyển đổi chuỗi thành phản ứng html 2022

Bùi Phương Thảo đang tìm kiếm từ khóa Chuyển đổi chuỗi thành phản ứng html được Update vào lúc : 2022-12-25 10:08:03 . Với phương châm chia sẻ Bí quyết về trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi tham khảo nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Ad lý giải và hướng dẫn lại nha.

Cross-Site Scripting (XSS) là một cách gọi sai. Tên bắt nguồn từ những phiên bản đầu tiên của cuộc tấn công trong đó đánh cắp tài liệu Một trong những trang web là trọng tâm chính. Kể từ đó, nó đã được mở rộng để gồm có việc đưa vào cơ bản bất kỳ nội dung nào, nhưng chúng tôi vẫn gọi đây là XSS. XSS nghiêm trọng và hoàn toàn có thể dẫn đến mạo danh tài khoản, quan sát hành vi của người tiêu dùng, tải nội dung bên phía ngoài, đánh cắp tài liệu nhạy cảm, v.v.

Nội dung chính Show
    Bảo mật khung¶Triết lý bảo vệ XSS¶Mã hóa đầu ra¶Mã hóa đầu ra cho “Ngữ cảnh HTML”¶Mã hóa đầu ra cho “Ngữ cảnh thuộc tính HTML”¶Mã hóa đầu ra cho “Ngữ cảnh JavaScript”¶Mã hóa đầu ra cho “Bối cảnh CSS”¶Mã hóa đầu ra cho “Ngữ cảnh URL”¶Bối cảnh nguy hiểm¶Vệ sinh HTML¶Bồn rửa bảo vệ an toàn và đáng tin cậy¶Điều khiển khác¶Tóm tắt quy tắc ngăn ngừa XSS¶Tóm tắt quy tắc mã hóa đầu ra¶Những đọc thêm¶

Chesheet này là một list những kỹ thuật để ngăn ngừa hoặc hạn chế tác động của XSS. Không có kỹ thuật đơn lẻ nào xử lý và xử lý được XSS. Sử dụng phối hợp đúng những kỹ thuật phòng thủ là thiết yếu để ngăn ngừa XSS

Bảo mật khung¶

Ít lỗi XSS hơn xuất hiện trong những ứng dụng được xây dựng bằng khung web tân tiến. Các khung này hướng những nhà phát triển hướng tới những phương pháp bảo mật thông tin tốt và giúp giảm thiểu XSS bằng phương pháp sử dụng tạo khuôn mẫu, thoát tự động, v.v. Điều đó nói rằng, những nhà phát triển cần nhận thức được những vấn đề hoàn toàn có thể xảy ra khi sử dụng những khung không bảo vệ an toàn và đáng tin cậy, ví dụ như

    những lối thoát mà những khung sử dụng để thao tác trực tiếp với DOMPhản ứng của
    // Example Attack 1 mà không làm sạch HTMLReact không thể xử lý những URL
    // Example Attack 2 hoặc
    // Example Attack 3 mà không còn xác thực chuyên biệtHàm
    // Example Attack 4 của góctiêm mẫuCác plugin hoặc thành phần khung lỗi thờivà hơn thế nữa

Hiểu cách khung của bạn ngăn ngừa XSS và nơi nó có lỗ hổng. Sẽ có những lúc bạn cần làm điều gì đó bên phía ngoài sự bảo vệ được đáp ứng bởi khuôn khổ của bạn. Đây là nơi Mã hóa đầu ra và Vệ sinh HTML rất quan trọng. OWASP đang sản xuất những cheatsheet khung rõ ràng cho React, Vue và Angular

Triết lý bảo vệ XSS¶

Để tấn công XSS thành công, kẻ tấn công cần chèn và thực thi nội dung độc hại trong trang web. Mỗi biến trong một ứng dụng web cần phải bảo vệ. Đảm nói rằng tất cả những biến đều trải qua quá trình xác thực và sau đó được thoát hoặc khử trùng được gọi là kĩ năng chống tiêm hoàn hảo nhất. Bất kỳ biến nào không trải qua quá trình này đều là một điểm yếu tiềm ẩn. Các khung giúp thuận tiện và đơn giản đảm bảo những biến được xác thực đúng chuẩn và thoát hoặc làm sạch

Tuy nhiên, những framework không hoàn hảo nhất và lỗ hổng bảo mật thông tin vẫn tồn tại trong những framework phổ biến như React và Angular. Mã hóa đầu ra và Vệ sinh HTML giúp xử lý và xử lý những lỗ hổng đó

Mã hóa đầu ra¶

Mã hóa đầu ra được khuyến nghị khi bạn cần hiển thị tài liệu một cách bảo vệ an toàn và đáng tin cậy đúng chuẩn như người tiêu dùng đã nhập tài liệu đó vào. Các biến tránh việc được hiểu là mã thay vì văn bản. Phần này gồm có từng dạng mã hóa đầu ra, nơi sử dụng nó và nơi tránh sử dụng dịch chuyển hoàn toàn

Bắt đầu với việc sử dụng bảo vệ mã hóa đầu ra mặc định của khung khi bạn muốn hiển thị tài liệu khi người tiêu dùng nhập tài liệu vào. Các hiệu suất cao mã hóa và thoát tự động được tích hợp trong hầu hết những khung

Nếu bạn không sử dụng khung hoặc cần che những khoảng chừng trống trong khung thì bạn nên sử dụng thư viện mã hóa đầu ra. Mỗi biến được sử dụng trong giao diện người tiêu dùng phải được chuyển qua hiệu suất cao mã hóa đầu ra. Một list những thư viện mã hóa đầu ra được gồm có trong phần phụ lục

Có nhiều phương pháp mã hóa đầu ra rất khác nhau vì những trình duyệt phân tích cú pháp HTML, JS, URL và CSS rất khác nhau. Sử dụng phương pháp mã hóa sai hoàn toàn có thể gây ra điểm yếu hoặc gây hại cho hiệu suất cao của ứng dụng của bạn

Mã hóa đầu ra cho “Ngữ cảnh HTML”¶

“Ngữ cảnh HTML” đề cập đến việc chèn một biến giữa hai thẻ HTML cơ bản như

// Example Attack 5 hoặc
// Example Attack 6. Ví dụ

$varUnsafe

Kẻ tấn công hoàn toàn có thể sửa đổi tài liệu được hiển thị dưới dạng

// Example Attack 7. Điều này hoàn toàn có thể dẫn đến một cuộc tấn công được thêm vào một trang web. Ví dụ

// Example Attack

Để thêm biến vào ngữ cảnh HTML một cách bảo vệ an toàn và đáng tin cậy, hãy sử dụng mã hóa thực thể HTML cho biến đó khi bạn thêm biến đó vào mẫu web

Dưới đây là một số trong những ví dụ về những giá trị được mã hóa cho những ký tự rõ ràng

Nếu bạn đang sử dụng JavaScript để ghi vào HTML, hãy xem thuộc tính

// Example Attack 8 vì nó là Safe Sink và sẽ tự động Mã hóa thực thể HTML

// Example Attack 0

Mã hóa đầu ra cho “Ngữ cảnh thuộc tính HTML”¶

“Ngữ cảnh thuộc tính HTML” đề cập đến việc đặt một biến trong một giá trị thuộc tính HTML. Bạn hoàn toàn có thể muốn thực hiện việc này để thay đổi siêu link, ẩn phần tử, thêm văn bản thay thế cho hình ảnh hoặc thay đổi kiểu CSS nội tuyến. Bạn nên áp dụng mã hóa thuộc tính HTML cho những biến được đặt trong hầu hết những thuộc tính HTML. Danh sách những thuộc tính HTML bảo vệ an toàn và đáng tin cậy được đáp ứng trong phần Safe Sinks

// Example Attack 1

Điều quan trọng là sử dụng những dấu ngoặc kép như

// Example Attack 9 hoặc
// Example Attack 00 để xung quanh những biến của bạn. Việc trích dẫn gây trở ngại vất vả cho việc thay đổi ngữ cảnh mà một biến hoạt động và sinh hoạt giải trí trong đó, điều này giúp ngăn ngừa XSS. Trích dẫn cũng làm giảm đáng kể bộ ký tự mà bạn cần mã hóa, làm cho ứng dụng của bạn đáng tin cậy hơn và mã hóa dễ thực hiện hơn

Nếu bạn đang sử dụng JavaScript để ghi vào Thuộc tính HTML, hãy xem những phương thức

// Example Attack 01 và
// Example Attack 02 sẽ tự động Mã hóa thuộc tính HTML. Đó là những phần chìm bảo vệ an toàn và đáng tin cậy miễn là tên gọi thuộc tính được mã hóa cứng và vô thưởng vô phạt, như
// Example Attack 03 hoặc
// Example Attack 04. Nói chung, những thuộc tính đồng ý JavaScript, ví dụ như
// Example Attack 05, KHÔNG bảo vệ an toàn và đáng tin cậy khi sử dụng với những giá trị thuộc tính không đáng tin cậy

Mã hóa đầu ra cho “Ngữ cảnh JavaScript”¶

“Bối cảnh JavaScript” đề cập đến việc đặt những biến vào JavaScript nội tuyến, sau đó được nhúng vào tài liệu HTML. Điều này thường thấy trong những chương trình sử dụng nhiều JavaScript tùy chỉnh được nhúng trong trang web của tớ

Vị trí 'bảo vệ an toàn và đáng tin cậy' duy nhất để đặt biến trong JavaScript là bên trong "giá trị tài liệu được trích dẫn". Tất cả những ngữ cảnh khác đều không bảo vệ an toàn và đáng tin cậy và bạn tránh việc đặt tài liệu biến hóa trong đó

Ví dụ về “Giá trị tài liệu được trích dẫn”

// Example Attack 9

Mã hóa tất cả những ký tự bằng định dạng

// Example Attack 06. Các thư viện mã hóa thường có một
// Example Attack 07 hoặc tương tự để tương hỗ hiệu suất cao này

Vui lòng xem những ví dụ mã hóa JavaScript của OWASP Java Encoder để biết những ví dụ về cách sử dụng JavaScript thích hợp yêu cầu mã hóa tối thiểu

Đối với JSON, hãy xác minh rằng tiêu đề

// Example Attack 08 là
// Example Attack 09 chứ không phải
// Example Attack 10 để ngăn ngừa XSS

Mã hóa đầu ra cho “Bối cảnh CSS”¶

“Bối cảnh CSS” đề cập đến những biến được đặt vào CSS nội tuyến. Điều này phổ biến khi bạn muốn người tiêu dùng hoàn toàn có thể tùy chỉnh giao diện trang web của tớ. CSS mạnh một cách đáng ngạc nhiên và đã được sử dụng cho nhiều kiểu tấn công. Các biến nên làm được đặt trong một giá trị thuộc tính CSS. Các “Bối cảnh CSS” khác không bảo vệ an toàn và đáng tin cậy và bạn tránh việc đặt tài liệu biến hóa vào đó

// Example Attack 5

Nếu bạn đang sử dụng JavaScript để thay đổi thuộc tính CSS, hãy xem xét sử dụng

// Example Attack 11. Đây là Safe Sink và sẽ tự động CSS mã hóa tài liệu trong đó

// Thêm lời khuyên mã hóa CSS

Mã hóa đầu ra cho “Ngữ cảnh URL”¶

“Ngữ cảnh URL” đề cập đến những biến được đặt vào một URL. Thông thường nhất, nhà phát triển sẽ thêm một tham số hoặc đoạn URL vào cơ sở URL sau đó được hiển thị hoặc sử dụng trong một số trong những thao tác. Sử dụng Mã hóa URL cho những tình huống này

// Example Attack 7

Mã hóa tất cả những ký tự bằng định dạng mã hóa

// Example Attack 12. Đảm bảo mọi thuộc tính đều được trích dẫn đầy đủ, in như JS và CSSLỗi phổ biến¶

Sẽ có những trường hợp bạn sử dụng một URL trong những ngữ cảnh rất khác nhau. Cách phổ biến nhất là thêm nó vào thuộc tính

// Example Attack 13 hoặc
// Example Attack 14 của thẻ
// Example Attack 15. Trong những trường hợp này, bạn nên thực hiện mã hóa URL, sau đó là mã hóa thuộc tính HTML

// Example Attack 2

Nếu bạn đang sử dụng JavaScript để tạo Giá trị truy vấn URL, hãy xem xét sử dụng

// Example Attack 16. Đây là Safe Sink và sẽ tự động URL mã hóa tài liệu trong đó

Bối cảnh nguy hiểm¶

Mã hóa đầu ra không hoàn hảo nhất. Không phải lúc nào nó cũng ngăn được XSS. Những địa điểm này được gọi là toàn cảnh nguy hiểm. toàn cảnh nguy hiểm gồm có

// Example Attack 4

Các nghành khác cần thận trọng gồm có

    hiệu suất cao gọi lạiTrường hợp URL được xử lý trong mã, ví dụ như CSS này { background-url. “javascript. chú ý (xss)”; Tất cả những trình xử lý sự kiện JavaScript (
    // Example Attack 17,
    // Example Attack 18,
    // Example Attack 19)Các hàm JS không bảo vệ an toàn và đáng tin cậy như
    // Example Attack 90,
    // Example Attack 91,
    // Example Attack 92

Không đặt những biến vào những ngữ cảnh nguy hiểm vì trong cả với mã hóa đầu ra, nó sẽ không ngăn ngừa hoàn toàn một cuộc tấn công XSS

Vệ sinh HTML¶

Đôi khi người tiêu dùng cần tác giả HTML. Một ngữ cảnh sẽ được cho phép người tiêu dùng thay đổi mẫu mã hoặc cấu trúc nội dung bên trong trình sửa đổi WYSIWYG. Mã hóa đầu ra ở đây sẽ ngăn XSS, nhưng nó sẽ phá vỡ hiệu suất cao dự tính của ứng dụng. Kiểu dáng sẽ không được hiển thị. Trong những trường hợp này, nên sử dụng HTML Sanitization

HTML Sanitization sẽ vô hiệu HTML nguy hiểm khỏi một biến và trả về một chuỗi HTML bảo vệ an toàn và đáng tin cậy. OWASP đề xuất DOMPurify để làm sạch HTML

// Example Attack 1

Có một số trong những điều nữa để xem xét

    Nếu bạn làm sạch nội dung và sau đó sửa đổi nội dung đó, bạn hoàn toàn có thể thuận tiện và đơn giản vô hiệu hóa những nỗ lực bảo mật thông tin của mìnhNếu bạn làm sạch nội dung và sau đó gửi nó đến thư viện để sử dụng, hãy kiểm tra để đảm nói rằng nó không làm thay đổi chuỗi đó bằng phương pháp nào đó. Mặt khác, một lần nữa, nỗ lực bảo mật thông tin của bạn vô hiệuBạn phải thường xuyên vá lỗi DOMPurify hoặc những thư viện HTML Sanitization khác mà bạn sử dụng. Trình duyệt thay đổi hiệu suất cao và bỏ qua được phát hiện thường xuyên

Bồn rửa bảo vệ an toàn và đáng tin cậy¶

Các Chuyên Viên bảo mật thông tin thường nói về nguồn và phần chìm. Nếu bạn làm ô nhiễm một dòng sông, nó sẽ chảy xuôi dòng ở đâu đó. Bảo mật máy tính cũng vậy. Phần chìm XSS là nơi những biến được đặt vào trang web của bạn

Rất may, nhiều bồn rửa nơi hoàn toàn có thể đặt những biến được bảo vệ an toàn và đáng tin cậy. Điều này là vì những phần chìm này coi biến là văn bản và sẽ không bao giờ thực thi nó. Cố gắng cấu trúc lại mã của bạn để xóa những tham chiếu đến phần chìm không bảo vệ an toàn và đáng tin cậy như InternalHTML và thay vào đó hãy sử dụng textContent hoặc giá trị

// Example Attack 0

Thuộc tính HTML bảo vệ an toàn và đáng tin cậy gồm có. _______193, _______194, _______195, _______196, _______197, _______198, _______199, _______104, _______251, _______252, _______253, _______254, _______255, _______256, _______257, _______258, _______259, _______270, _______271, _______272, _______273, _______274, _______275, _______276, _______277,

Để có list toàn diện, hãy xem list được cho phép của DOMPurify

Điều khiển khác¶

Bảo vệ bảo mật thông tin khung, Mã hóa đầu ra và Vệ sinh HTML sẽ đáp ứng sự bảo vệ tốt nhất cho ứng dụng của bạn. OWASP đề xuất những điều này trong mọi trường hợp

Cân nhắc áp dụng những giải pháp trấn áp sau ngoài những giải pháp trấn áp trên

    Thuộc tính cookie - Những thuộc tính này thay đổi cách JavaScript và trình duyệt hoàn toàn có thể tương tác với cookie. Các thuộc tính cookie nỗ lực hạn chế tác động của một cuộc tấn công XSS nhưng không ngăn ngừa việc thực thi nội dung độc hại hoặc xử lý và xử lý nguyên nhân gốc rễ của lỗ hổngChính sách bảo mật thông tin nội dung - Danh sách được cho phép ngăn tải nội dung. Rất dễ mắc lỗi khi triển khai, vì vậy đây không phải là cơ chế bảo vệ chính của bạn. Sử dụng CSP như một lớp phòng thủ tương hỗ update và xem qua trang phục ở đâyTường lửa ứng dụng web - Chúng tìm kiếm những chuỗi tấn công đã biết và chặn chúng. WAF không đáng tin cậy và những kỹ thuật bỏ qua mới được phát hiện thường xuyên. WAF cũng không xử lý và xử lý được nguyên nhân gốc rễ của lỗ hổng XSS. Ngoài ra, WAF cũng bỏ lỡ một loại lỗ hổng XSS hoạt động và sinh hoạt giải trí độc quyền phía máy khách. WAF không được khuyến nghị để ngăn ngừa XSS, đặc biệt là XSS nhờ vào DOM

Tóm tắt quy tắc ngăn ngừa XSS¶

Các đoạn mã HTML sau minh họa cách hiển thị tài liệu không đáng tin cậy một cách bảo vệ an toàn và đáng tin cậy trong nhiều ngữ cảnh rất khác nhau

Kiểu dữ liệuMã bối cảnhMẫuDefenseStringHTML Body
// Example Attack 45HTMLEncoding Entity (quy tắc #1). Các thuộc tính HTML StringSafe
// Example Attack 46Mã hóa thực thể HTML linh hoạt (quy tắc #2), Chỉ đặt tài liệu không đáng tin cậy vào list những thuộc tính bảo vệ an toàn và đáng tin cậy (được liệt kê phía dưới), Xác thực nghiêm ngặt những thuộc tính không bảo vệ an toàn và đáng tin cậy như nền, ID và tên. Tham số StringGET_______ Mã hóa 347URL (quy tắc số 5). Chuỗi URL không đáng tin cậy trong thuộc tính SRC hoặc HREF
// Example Attack 48Đầu vào chuẩn hóa, Xác thực URL, Xác minh URL bảo vệ an toàn và đáng tin cậy, Chỉ được cho phép và URL HTTPS (Tránh Giao thức JavaScript để mở một hiên chạy cửa số mới), Bộ mã hóa thuộc tính. Giá trị StringCSS
// Example Attack 49Xác thực cấu trúc nghiêm ngặt (quy tắc #4), mã hóa CSS Hex, thiết kế tốt những tính năng CSS. Biến StringJavaScript_______410Đảm bảo những biến JavaScript được trích dẫn, Mã hóa JavaScript Hex, Mã hóa Unicode JavaScript, Tránh mã hóa dấu gạch chéo ngược (
// Example Attack 11 hoặc
// Example Attack 12 hoặc
// Example Attack 13). HTMLHTML Body
// Example Attack 14Xác nhận HTML (JSoup, AntiSamy, HTML Sanitizer. ). Bảng gian lận phòng chống XSS nhờ vào StringDOM XSS____415DOM

Tóm tắt quy tắc mã hóa đầu ra¶

Mục đích của mã hóa đầu ra (vì nó liên quan đến Cross Site Scripting) là quy đổi đầu vào không đáng tin cậy thành dạng bảo vệ an toàn và đáng tin cậy nơi đầu vào được hiển thị dưới dạng tài liệu cho những người dân tiêu dùng mà không cần thực thi dưới dạng mã trong trình duyệt. Các biểu đồ sau nêu rõ ràng list những phương pháp mã hóa đầu ra quan trọng thiết yếu để dừng Cross Site Scripting

Loại mã hóa Cơ chế mã hóa Mã hóa thực thể HTML Chuyển đổi
// Example Attack 16 thành
// Example Attack 17, Chuyển đổi
// Example Attack 18 thành
// Example Attack 19, Chuyển đổi
// Example Attack 00 thành
// Example Attack 01, Chuyển đổi
// Example Attack 9 thành
// Example Attack 03, Chuyển đổi
// Example Attack 00 thành
// Example Attack 05, Chuyển đổi
// Example Attack 06 thành
// Example Attack 07 Mã hóa thuộc tính HTML Ngoại trừ những ký tự chữ và số, mã hóa tất cả những ký tự bằng định dạng Thực thể HTML
// Example Attack 08, gồm có . (HH = Giá trị Hex)Mã hóa URLMã hóa phần trăm tiêu chuẩn, xem tại đây. Mã hóa URL nên làm được sử dụng để mã hóa những giá trị tham số, không phải toàn bộ URL hoặc những đoạn đường dẫn của URL. Mã hóa JavaScript Ngoại trừ những ký tự chữ và số, mã hóa tất cả những ký tự bằng định dạng mã hóa unicode
// Example Attack 09 (X = Số nguyên). Mã hóa CSS HexMã hóa CSS tương hỗ
// Example Attack 10 và
// Example Attack 11. Sử dụng mã hóa hai ký tự hoàn toàn có thể gây ra sự cố nếu ký tự tiếp theo tiếp tục chuỗi mã hóa. Có hai giải pháp. (a) Thêm khoảng chừng trắng sau mã hóa CSS (sẽ bị trình phân tích cú pháp CSS bỏ qua) (b) sử dụng toàn bộ lượng mã hóa CSS hoàn toàn có thể bằng phương pháp đệm giá trị bằng 0

Những đọc thêm¶

Bảng cheat tấn công XSS

Bài viết sau đây mô tả cách khai thác nhiều chủng loại Lỗ hổng XSS rất khác nhau mà nội dung bài viết này được tạo ra để giúp bạn tránh

Tải thêm tài liệu liên quan đến nội dung bài viết Chuyển đổi chuỗi thành phản ứng html programming html

Video Chuyển đổi chuỗi thành phản ứng html ?

Bạn vừa đọc nội dung bài viết Với Một số hướng dẫn một cách rõ ràng hơn về Video Chuyển đổi chuỗi thành phản ứng html tiên tiến nhất

Chia Sẻ Link Cập nhật Chuyển đổi chuỗi thành phản ứng html miễn phí

Hero đang tìm một số trong những Share Link Down Chuyển đổi chuỗi thành phản ứng html Free.

Hỏi đáp thắc mắc về Chuyển đổi chuỗi thành phản ứng html

Nếu sau khi đọc nội dung bài viết Chuyển đổi chuỗi thành phản ứng html vẫn chưa hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Mình lý giải và hướng dẫn lại nha #Chuyển #đổi #chuỗi #thành #phản #ứng #html