Hướng dẫn what is the big risk of html injection? - rủi ro lớn của việc tiêm html là gì?

Tiêm ngôn ngữ đánh dấu siêu văn bản (HTML) là một kỹ thuật được sử dụng để tận dụng đầu vào không được xử lý để sửa đổi một trang web được trình bày bởi một ứng dụng web cho người dùng. Những kẻ tấn công tận dụng thực tế là nội dung của một trang web thường liên quan đến tương tác trước đó với người dùng. Khi các ứng dụng không xác nhận dữ liệu người dùng, kẻ tấn công có thể gửi văn bản được phát sóng HTML để sửa đổi nội dung trang web được trình bày cho người dùng khác. Một truy vấn được chế tạo cụ thể có thể dẫn đến việc đưa vào trang web của các yếu tố HTML do kẻ tấn công kiểm soát để thay đổi cách nội dung ứng dụng được tiếp xúc với web.

miêu tả cụ thể

HTML là ngôn ngữ xác định cách thức dữ liệu ứng dụng (như danh mục sản phẩm) được trình bày cho người dùng trong trình duyệt web của họ. Ngôn ngữ này chứa các lệnh trực quan hóa, như màu của nền trang và kích thước của hình ảnh nhúng. Nó cũng chứa các liên kết đến các trang web khác và các lệnh bổ sung dành cho trình duyệt của người dùng. Hơn nữa, các công cụ tự động thu thập thông tin hữu ích từ web thay mặt người dùng thường làm như vậy bằng cách truy cập một cách có hệ thống và phân tích thông tin liên quan trong các trang HTML của ứng dụng.

Trong các trang web tương tác hiện đại, nội dung của một trang web thường phản ánh kết quả xử lý các hành động của người dùng trước đó. Nếu đầu vào của người dùng không được xác thực và ứng dụng dễ bị tổn thương, kẻ tấn công có thể tạo và gửi đầu vào cho ứng dụng cho phép anh ta tiêm mã HTML của mình vào nội dung HTML của ứng dụng phản hồi.

Tấn công tiêm HTML có liên quan chặt chẽ đến & nbsp; kịch bản chéo trang (XSS). HTML Injection sử dụng HTML để phá hủy trang. XSS, như tên gọi, tiêm JavaScript vào trang. Cả hai cuộc tấn công khai thác xác thực không đủ đầu vào của người dùng.

Một ví dụ đơn giản về việc tiêm HTML tiềm năng là một hình thức tìm kiếm ứng dụng, trong đó người dùng nhập một văn bản truy vấn. Khi người dùng gửi truy vấn, ứng dụng sẽ trả lời bằng cách tạo động trang web hiển thị kết quả phù hợp. Trang kết quả này thường hiển thị văn bản truy vấn ban đầu để cho người dùng xem bối cảnh của các kết quả này. Nếu văn bản truy vấn nhúng chứa HTML chính xác về mặt cú pháp, nó có thể thêm văn bản, hình ảnh và liên kết do kẻ tấn công điều khiển đến trang phản hồi được tạo này. Trong ví dụ sau, nếu ứng dụng không xác thực người dùng và người dùng trước khi nhúng nó vào trang kết quả đơn giản hóa, thì bị tấn công có thể thêm nội dung vào trang bằng cách gửi một truy vấn có chứa các phần tử HTML thích hợp (thẻ để đóng và mở bối cảnh), Sản xuất HTML hợp lệ sau khi tiêm:

Mẫu ứng dụng web cho kết quả tìm kiếm Trang:

      <html>
          <h2>Here are the results that match your query: </h2>
          <h2>{user-query}</h2>
          <ol>
               <li>Result A
               <li>Result B
          </ol>
      </html>

Văn bản truy vấn người dùng:

      </h2>special offer <a href=www.attacker.site>malicious link</a><h2>

Trang kết quả được tạo sau khi tiêm:

      <html>
          <h2>Here are the results that match your query: </h2>
          <h2></h2>special offer <a href=www.attacker.site>malicious link</a><h2></h2>
          <ol>
               <li>Result A
               <li>Result B
          </ol>
      </html>

Tất nhiên, mục đích của kẻ tấn công là tiêm HTML vào các trang được người dùng khác hoặc các công cụ tự động nhìn thấy, không phải vào các trang web mà anh ta nhìn thấy trong trình duyệt của mình, như trong ví dụ trước. Để điều đó xảy ra, văn bản tiêm phải trở thành một phần của nội dung của các trang được tạo và xem bởi những người dùng khác. Việc tiêm xảy ra nếu ứng dụng lưu trữ đầu vào người dùng chưa được xác thực và hiển thị dữ liệu cho người dùng khác. Giả sử ứng dụng ở trên cũng có một trang hiển thị lịch sử tìm kiếm của người dùng:

Mẫu ứng dụng web cho trang lịch sử tìm kiếm:

      <html>
          <h2>Recent users queries:</h2>
          <ol>
               <li><h2>{user-query-1}</h2> 
               <li><h2>{user-query-2}</h2>
         </ol>
      </html>

Trang lịch sử tìm kiếm được tạo sau khi tiêm HTML:

      <html>
          <h2>Recent users queries:</h2>
          <ol>
               <li><h2>funny cat movies</h2> 
               <li><h2></h2>special offer <a href=www.attacker.site>malicious link</a><h2></h2>
         </ol>
      </html>

Bây giờ mọi người dùng sẽ duyệt đến trang kết quả tìm kiếm sẽ thấy liên kết được kẻ tấn công tiêm. Nếu người dùng không nghi ngờ tin tưởng các ứng dụng và nhấp vào liên kết được tiêm mà nó hiện có, anh ta đột nhiên thấy nội dung từ miền do kẻ tấn công kiểm soát.

Một trường hợp sử dụng ứng dụng điển hình để lưu trữ một đầu vào của người dùng và hiển thị nó cho người dùng khác là khi một ứng dụng chứa các trang nơi người dùng có thể đăng nhận xét lên nội dung gốc của trang hoặc tương tác với nhau. Đây là một ví dụ khác trong đó các lỗ hổng ứng dụng có thể dẫn đến tiêm HTML.

Phòng ngừa

Cách phổ biến nhất để phát hiện tiêm HTML là tìm kiếm các phần tử HTML trong luồng HTTP đến có chứa đầu vào của người dùng. Một xác thực ngây thơ của đầu vào người dùng chỉ cần loại bỏ bất kỳ chuỗi con HTML-Syntax nào (như thẻ và liên kết) khỏi bất kỳ văn bản do người dùng nào cung cấp. Tuy nhiên, có nhiều trường hợp ứng dụng mong đợi đầu vào HTML từ người dùng. Ví dụ: điều này xảy ra khi người dùng gửi văn bản trực quan hoặc văn bản có chứa các liên kết đến các trang web hợp pháp với nội dung liên quan. Để tránh dương tính giả, cơ chế bảo mật phát hiện các mũi tiêm có thể và bảo vệ ứng dụng nên tìm hiểu trong những gì đầu vào của người dùng bối cảnh ứng dụng được phép chứa HTML. Ngoài ra, nó sẽ có thể dừng đầu vào HTML nếu biết rằng văn bản đó được dán là trong trang web được tạo bởi các thành phần ứng dụng dễ bị tổn thương.

Imperva Securesphere Ứng dụng Web Tường lửa & NBSP; làm tất cả điều đó và hơn thế nữa. Từ việc quan sát người dùng liên lạc, nó xây dựng một hồ sơ về các tương tác HTML được phép. Mặt khác, các chữ ký và chính sách cụ thể bảo vệ các thành phần ứng dụng chống lại các điểm tiêm HTML đã biết. Sự bất thường được phát hiện trong các tương tác ứng dụng Các chính sách kích hoạt thời gian khác để xử lý lạm dụng có thể. Hơn nữa, thông tin thời gian thực về các cuộc tấn công tiêm HTML đang hoạt động được thu thập từ các khách hàng của Imperva và được sử dụng để cải thiện sự bảo vệ cho tất cả khách hàng.

Tác động của việc tiêm HTML là gì?

Tấn công tiêm HTML có liên quan chặt chẽ với kịch bản chéo trang (XSS). HTML Injection sử dụng HTML để phá hủy trang. XSS, như tên gọi, tiêm JavaScript vào trang. Cả hai cuộc tấn công khai thác xác thực không đủ đầu vào của người dùng.deface the page. XSS, as the name implies, injects JavaScript into the page. Both attacks exploit insufficient validation of user input.

Lỗ hổng tiêm HTML là gì?

Đây là một lỗ hổng bảo mật cho phép kẻ tấn công tiêm mã HTML vào các trang web được xem bởi những người dùng khác.Những kẻ tấn công thường đưa JavaScript, VBScript, ActiveX và/hoặc HTML độc hại vào các ứng dụng dễ bị tổn thương để lừa dối người dùng để thu thập dữ liệu từ chúng.a security vulnerability that allows an attacker to inject HTML code into web pages that are viewed by other users. Attackers often inject malicious JavaScript, VBScript, ActiveX, and/or HTML into vulnerable applications to deceive the user in order to gather data from them.

HTML có phải là một cuộc tấn công phía khách hàng không?

Các cuộc tấn công tiêm HTML hoàn toàn là phía máy khách và giống như các cuộc tấn công XSS, chúng ảnh hưởng đến người dùng, không phải máy chủ.Có hai loại tiêm HTML chính: được phản ánh và lưu trữ, giống như trong trường hợp lỗ hổng XSS. and just like XSS attacks, they affect the user, not the server. There are two major types of HTML injection: reflected and stored, just like in the case of XSS vulnerabilities.

Loại tấn công tiêm phổ biến nhất là gì?

Các loại tấn công tiêm.Mặc dù SQL và các cuộc tấn công tiêm kịch bản chéo trang là những loại phổ biến nhất, có một loạt các cuộc tấn công như vậy, tất cả đều có mục tiêu và phương tiện khác nhau để đạt được chúng.