Một đồng nghiệp vừa chứng minh với tôi rằng các tài khoản trong thử nghiệm AD của chúng tôi có thể xác thực khi thay thế mọi aký tự trong samAccountName của họ bằng ký tự Đan Mạch å(ASCII 134 / å).
Ví dụ, người dùng <domain>\aaa
có thể xác thực là ååå
.
Tôi đã thử tái tạo điều này trong một W2K12R2 AD mới được cung cấp (máy chủ duy nhất, tất cả các giá trị tiêu chuẩn) và nó cũng hoạt động ở đó. Tôi đã tạo một tài khoản aaa
(không bao giờ chạm vào chữ cái åtrong quy trình, để không có gì chứa å
) và chạy:
PS C: \ Users \ Administrator> runas / user: ååå notepad
Nhập mật khẩu cho ååå:
Đang cố gắng khởi động notepad với tư cách là người dùng "DEV-DLI \ ååå" ...
PS C: \ Người dùng \ Quản trị viên>
mà gây ra notepad để bắt đầu, chạy như aaa
.
Điều tương tự cũng có vẻ đúng với onhân vật Đan Mạch và øtrong khi char đặc biệt cuối cùng của Đan Mạch ædường như không tương ứng với bất kỳ nhân vật nào khác. Với người dùng aaa
trong AD, cố gắng tạo người dùng bằng samAccountName ååå
sẽ thất bại, thông báo cho bạn điều đó The user logon name you have chosen is already in use (...)
.
Tôi đã googled như một người điên, nhưng không thể tìm hiểu những gì đang xảy ra. Có ai có bất kỳ gợi ý về lý do tại sao điều này làm việc?
å
không tồn tại trong ASCII.
man ascii
: ASCII is the American Standard Code for Information Interchange. It is a 7-bit code. Many 8-bit codes (e.g., ISO 8859-1) contain ASCII as their lower half. The international counterpart of ASCII is known as ISO 646-IRV.
Có vẻ như å
là ISO 8859-1 # 229 và ø
là ISO 8859-1 # 248.
æ
phải tương ứng vớiae
(chữ cáia
theo sau chữ cáie
), FWIW.