CWE-601: Chuyển hướng URL đến trang web không đáng tin cậy

CWE-601 là gì?

CWE-601 là Chuyển hướng URL đến trang web không đáng tin cậy. Lỗi phát sinh khi ứng dụng web tiếp nhận đầu vào do người dùng kiểm soát để chỉ định liên kết đến một trang bên ngoài, rồi sử dụng liên kết đó trong thao tác chuyển hướng. Hiện có 331 lỗ hổng trong kho dữ liệu liên quan đến CWE-601 và không có lỗ hổng nào nằm trong danh mục khai thác thực tế của CISA.

THỨ HẠNG OWASP TOP 10:20251 — A01:2025 — Broken Access Control
Tổng số CVE liên quan (365 ngày)331
Mức trừu tượngCơ bản
Khả năng khai thácThấp

Số lượng lỗ hổng nằm trong CWE-601

331 lỗ hổngTăng 324% so với cùng kỳ

Không có dữ liệu

Chưa có dữ liệu về lỗ hổng trong CISA KEV cho CWE-601

Định nghĩa chính thức

TheoMitre CWE

Chi tiết kỹ thuật

Cơ chế của điểm yếu là ứng dụng đưa giá trị do người dùng kiểm soát vào đích chuyển hướng mà không giới hạn chặt chẽ miền hoặc URL hợp lệ. Kẻ tấn công có thể sửa tham số chuyển hướng để đưa người dùng từ một địa chỉ quen thuộc đến trang do kẻ tấn công kiểm soát. Trang đích có thể giả mạo trang đáng tin cậy nhằm lừa lấy thông tin xác thực, hoặc có thể dẫn tới phần mềm độc hại và hành động tải xuống tự động. Rủi ro cũng áp dụng cho dữ liệu được ứng dụng nhận gián tiếp, không chỉ các tham số hiển thị rõ trong URL.

Đặc điểm

Điểm yếu xuất hiện khi luồng chuyển hướng sử dụng trực tiếp hoặc không kiểm soát đầy đủ một URL do người dùng cung cấp. Vì URL có thể trỏ tới miền bên ngoài, ứng dụng có thể làm cho liên kết độc hại có vẻ đáng tin cậy khi được phát hành từ miền hợp pháp. Điểm yếu thường bắt nguồn từ thiếu biện pháp bảo vệ trong kiến trúc và thiết kế, hoặc từ việc không kiểm tra các nguồn đầu vào gián tiếp như cookie và trường biểu mẫu ẩn; nó không phụ thuộc vào ngôn ngữ lập trình.

Hậu quả thường gặp

Điểm yếu có thể làm suy yếu cơ chế kiểm soát truy cập bằng cách đưa người dùng đến trang không đáng tin cậy chứa phần mềm độc hại hoặc kích hoạt tải xuống tự động. Phần mềm độc hại có thể xâm phạm hệ thống hoặc đánh cắp thông tin xác thực, thông tin nhận dạng cá nhân và dữ liệu khác, chẳng hạn qua việc ghi phím. Kẻ tấn công cũng có thể lợi dụng chuyển hướng trông như bắt nguồn từ trang đáng tin cậy để lừa đảo, thu thập thông tin xác thực rồi dùng chúng truy cập trang hợp pháp. Các phạm vi bị ảnh hưởng gồm kiểm soát truy cập, tính bí mật và các thuộc tính khác; tác động gồm vượt qua cơ chế bảo vệ và đạt được đặc quyền hoặc mạo nhận danh tính.

Dữ liệu MITRE CWE chính thức
Tác độngPhạm viDiễn giải
Vượt qua cơ chế bảo vệ, Chiếm đặc quyền hoặc mạo danhKiểm soát truy cậpThe user may be redirected to an untrusted page that contains malware which may then compromise the user's system. In some cases, an open redirect can also enable the immediate download of a file without the user's permission, because the redirection to an external site may lead to endpoints on those sites that automatically trigger a download action ("drive-by download" [REF-1478]). This will expose the user to extensive risk. The user's interaction with the web server may also be compromised if the malware conducts keylogging or other attacks that steal credentials, personally identifiable information (PII), or other important data.
Vượt qua cơ chế bảo vệ, Chiếm đặc quyền hoặc mạo danh, KhácKiểm soát truy cập, Tính bí mật, KhácBy modifying the URL value to a malicious site, an attacker may successfully launch a phishing scam. The user may be subjected to phishing attacks by being redirected to an untrusted page. The phishing attack may point to an attacker controlled web page that appears to be a trusted web site. The phishers may then steal the user's credentials and then use these credentials to access the legitimate web site. Because the server name in the modified link is identical to the original site, phishing attempts can appear more trustworthy.

Biện pháp giảm thiểu rủi ro

Xác thực chuyển hướng bằng danh sách cho phép. Coi mọi đầu vào là có khả năng độc hại và dùng chiến lược chỉ chấp nhận giá trị hợp lệ đã biết, bao quát kiểu, độ dài, cú pháp, toàn bộ miền giá trị, dữ liệu thiếu hoặc thừa, tính nhất quán và quy tắc nghiệp vụ. Chỉ cho phép các URL hoặc miền được phê duyệt cụ thể, thay vì chỉ dựa vào danh sách từ chối.

Thay URL do người dùng cung cấp bằng ánh xạ cố định. Khi các đích hợp lệ là hữu hạn hoặc đã biết, chỉ tiếp nhận các mã định danh cố định rồi ánh xạ chúng tới URL tương ứng, đồng thời từ chối mọi giá trị khác.

Dùng trang cảnh báo trung gian. Thông báo rõ rằng người dùng sắp rời trang hiện tại, yêu cầu họ nhấp xác nhận, hoặc đặt thời gian chờ dài trước khi chuyển hướng. Khi tạo trang này, cần tránh đưa vào lỗ hổng cross-site scripting.

Yêu cầu nonce không thể đoán. Mọi yêu cầu chuyển hướng có dữ liệu bên ngoài phải kèm nonce duy nhất do ứng dụng tạo ra; nonce phải không thể dự đoán. Biện pháp này có thể bị vượt qua nếu ứng dụng tồn tại cross-site scripting.

Giảm bề mặt tấn công. Xác định mọi nguồn dữ liệu không đáng tin cậy, gồm tham số, cookie, trường ẩn, dữ liệu mạng, biến môi trường, kết quả tra cứu DNS ngược, kết quả truy vấn, header yêu cầu, thành phần URL, tệp, cơ sở dữ liệu, email, API và hệ thống bên ngoài. Không được mặc định rằng cookie hoặc trường ẩn không thể bị sửa đổi.

Dùng tường lửa ứng dụng như lớp phòng thủ bổ sung. Đây có thể là biện pháp khẩn cấp khi chưa thể sửa mã, nhưng có thể bỏ sót vectơ đầu vào, bị vượt qua bằng đầu vào sai định dạng, hoặc vô tình từ chối hay sửa đổi yêu cầu hợp lệ. Có thể cần tùy chỉnh thủ công.

Dữ liệu MITRE CWE chính thức
  1. Kiểm tra dữ liệu đầu vào · Hiện thực hóaAssume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does. When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue." Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright. Use a list of approved URLs or domains to be used for redirection.
  2. Kiến trúc và thiết kếUse an intermediate disclaimer page that provides the user with a clear warning that they are leaving the current site. Implement a long timeout before the redirect occurs, or force the user to click on the link. Be careful to avoid XSS problems (CWE-79) when generating the disclaimer page.
  3. Áp đặt quy tắc bằng chuyển đổi · Kiến trúc và thiết kếWhen the set of acceptable objects, such as filenames or URLs, is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames or URLs, and reject all other inputs. For example, ID 1 could map to "/login.asp" and ID 2 could map to "http://www.example.com/". Features such as the ESAPI AccessReferenceMap [REF-45] provide this capability.
  4. Kiến trúc và thiết kếEnsure that no externally-supplied requests are honored by requiring that all redirect requests include a unique nonce generated by the application [REF-483]. Be sure that the nonce is not predictable (CWE-330).Note that this can be bypassed using XSS (CWE-79).
  5. Giảm bề mặt tấn công · Kiến trúc và thiết kế, Hiện thực hóaUnderstand all the potential areas where untrusted inputs can enter your software: parameters or arguments, cookies, anything read from the network, environment variables, reverse DNS lookups, query results, request headers, URL components, e-mail, files, filenames, databases, and any external systems that provide data to the application. Remember that such inputs may be obtained indirectly through API calls. Many open redirect problems occur because the programmer assumed that certain inputs could not be modified, such as cookies and hidden form fields.
  6. Tường lửa · Vận hành · Hiệu quả: KháUse an application firewall that can detect attacks against this weakness. It can be beneficial in cases in which the code cannot be fixed (because it is controlled by a third party), as an emergency prevention measure while more comprehensive software assurance measures are applied, or to provide defense in depth [REF-1481].An application firewall might not cover all possible input vectors. In addition, attack techniques might be available to bypass the protection mechanism, such as using malformed inputs that can still be processed by the component that receives those inputs. Depending on functionality, an application firewall might inadvertently reject or modify legitimate requests. Finally, some manual effort may be required for customization.

Cách phát hiện trong hệ thống

Có thể phát hiện bằng nhiều phương pháp. Phân tích tĩnh thủ công hoặc rà soát mã nguồn có thể đạt độ bao phủ tốt và giảm cảnh báo sai khi đánh giá được các thao tác chuyển hướng có khả năng tồn tại trong phạm vi thời gian phù hợp. Phân tích tĩnh tự động, gồm SAST ở mã nguồn, mã nhị phân hoặc bytecode, có thể lập mô hình luồng dữ liệu và luồng điều khiển để tìm đường đi từ nguồn đầu vào đến nơi tạo chuyển hướng; tuy nhiên công cụ có thể khó xác định đầu vào có ảnh hưởng đến phần đầu của URL hay không. Phân tích động tự động có thể cung cấp URL cho các đầu vào và phát hiện thay đổi trong trường Location, nhưng phụ thuộc vào độ bao phủ ca kiểm thử và có thể bỏ sót chuyển hướng tùy biến. Có thể bổ sung bằng trình quét ứng dụng web, trình quét dịch vụ web, trình quét cơ sở dữ liệu, trình fuzz, fuzz dựa trên framework, và diễn giải kết quả thủ công. Rà soát kiến trúc hoặc thiết kế, gồm phương pháp hình thức, xây dựng đúng ngay từ đầu và kiểm tra theo IEEE 1028, cũng có thể phát hiện vấn đề nhưng mức bao phủ có thể khác nhau.

Dữ liệu MITRE CWE chính thức
Phương phápCách làmHiệu quả
Phân tích tĩnh thủ côngSince this weakness does not typically appear frequently within a single software package, manual white box techniques may be able to provide sufficient code coverage and reduction of false positives if all potentially-vulnerable operations can be assessed within limited time constraints.Cao
Phân tích động tự độngAutomated black box tools that supply URLs to every input may be able to spot Location header modifications, but test case coverage is a factor, and custom redirects may not be detected.-
Phân tích tĩnh tự độngAutomated static analysis tools may not be able to determine whether input influences the beginning of a URL, which is important for reducing false positives.-
Phân tích tĩnh tự độngAutomated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)Cao
Phân tích tĩnh tệp nhị phân hoặc bytecode tự độngAccording to SOAR [REF-1479], the following detection techniques may be useful: ``` Highly cost effective: ``` Bytecode Weakness Analysis - including disassembler + source code weakness analysis Binary Weakness Analysis - including disassembler + source code weakness analysisCao
Phân tích động với diễn giải kết quả tự độngAccording to SOAR [REF-1479], the following detection techniques may be useful: ``` Highly cost effective: ``` Web Application Scanner Web Services Scanner Database ScannersCao
Phân tích động với diễn giải kết quả thủ côngAccording to SOAR [REF-1479], the following detection techniques may be useful: ``` Highly cost effective: ``` Fuzz Tester Framework-based FuzzerCao
Phân tích tĩnh mã nguồn thủ côngAccording to SOAR [REF-1479], the following detection techniques may be useful: ``` Highly cost effective: ``` Manual Source Code Review (not inspections)Cao
Phân tích tĩnh mã nguồn tự độngAccording to SOAR [REF-1479], the following detection techniques may be useful: ``` Highly cost effective: ``` Source code Weakness Analyzer Context-configured Source Code Weakness AnalyzerCao
Rà soát kiến trúc hoặc thiết kếAccording to SOAR [REF-1479], the following detection techniques may be useful: ``` Highly cost effective: ``` Formal Methods / Correct-By-Construction ``` Cost effective for partial coverage: ``` Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.)Cao

Lỗ hổng điển hình

Các ví dụ tiêu biểu trong hồ sơ chính thức, không phải toàn bộ các lỗ hổng, gồm:

  • CVE-2005-4206: Tham số URL nạp URL vào một frame, khiến nội dung có vẻ thuộc về một trang hợp lệ.
  • CVE-2008-2951: Tập lệnh tìm kiếm cho phép chuyển hướng người dùng đến các trang tùy ý và thực hiện lừa đảo thông qua URL trong tham số.
  • CVE-2008-2052: Một tham số URL cho phép chuyển hướng từ xa đến các trang tùy ý và thực hiện lừa đảo.
  • CVE-2020-11053: Một proxy ngược OAuth2 dựa trên Go có thể đưa người dùng đã xác thực đến trang khác sau quy trình xác thực; URL chuyển hướng chứa khoảng trắng được mã hóa HTML có thể vượt qua xác thực để chuyển hướng đến trang độc hại.
Nguồn (2)

CWE™ Program, operated by The MITRE Corporation. Copyright © 2006–2026, The MITRE Corporation. The MITRE Corporation hereby grants you a non-exclusive, royalty-free license to use CWE for research, development, and commercial purposes. CWE Terms of Use.

Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.