Qual é o significado de fazer login como "nomedeusuá[email protected]: alguma coisa"

35

Minha máquina Windows 2008 R2 ingressou em um domínio.

Na tela de logon, se eu digitar "nomedeusuá[email protected]: alguma coisa" como nome de usuário, ainda posso fazer logon corretamente, qual é o significado de ": alguma coisa" anexado no final?

Eu posso até ver o usuário atual sendo exibido como "[email protected]: algo" na tela do usuário do switch. É um recurso no Windows? Ou é apenas um bug? Se for um recurso, qual é a diferença entre fazer login como "nomedeusuá[email protected]" e acessar como "nomedeusuá[email protected]: alguma coisa"?

Observe que eu tentei combinações diferentes como "meudominio \ nome de usuário: alguma coisa" e "meudominio.com: algo \ nome de usuário". Nenhum deles funciona, exceto "nomedeusuá[email protected]: alguma coisa".

Atualização de 10 de setembro de 2012

O problema RunAs levantado por Justin é semelhante, mas não exatamente o mesmo que eu quero resolver. Se você fizer

runas /user:[email protected]:anything

você vai ter

RUNAS ERROR: Unable to acquire user password

Eu verifiquei que o RunAs nem se importa em ligar para o LSA ao ver [email protected]:anythingcomo o nome de usuário. RunAs deveria ter feito a validação de entrada e retornado um erro lá.

WinLogon é diferente. Ele aceita esse formato de entrada e passa o "nomedeusuá[email protected]: qualquer coisa" para o LSA. Eu vejo o LogonUserEx2interior kerberos.dll foi chamado. Ou existe um erro na lógica de validação de entrada do WinLogon ou esse é realmente um formato aceitável para alguns recursos ocultos.

26 de setembro de 2012 Atualização

Acabei de enviar um caso ao Suporte Premier da Microsoft. Vou atualizar aqui se receber alguma atualização deles.

Harvey Kwok
fonte
5
Isso é interessante.
Shane Madden
Pode ": algo" ser ": qualquer coisa"? Parece que o Windows o trata como um número de porta ou extensão, muito estranho.
Brent Pabst
2
Louco. Acabei de testar isso e é possível criar um sufixo UPN de domain.tld: qualquer coisa e fazer logon no domínio com este UPN.
precisa saber é o seguinte
1
Se eu fizer, runas /user:"[email protected]:something" "cmd /C dir c:\ & pause"ele retornará RUNAS ERROR: Não é possível adquirir a senha do usuário em oposição à normal 1326: Falha no logon: nome de usuário desconhecido ou senha incorreta. para um login com falha.
Justin Dearing
2
FYI: Enviada para TechNet Fóruns bem como, não tenho certeza se a equipe do Windows vai vê-lo lá ou não: bit.ly/UF94GQ
Brent Pabst

Respostas:

13

Abri um caso com o Suporte Premier da Microsoft. Aqui está o email entre mim e o suporte da Microsoft. Eles basicamente dizem que é um problema conhecido. Não é um bug e não é um recurso.

O back-end analisará o nome do usuário e eliminará os caracteres ilegais corretamente. O front-end não faz nenhuma validação da interface do usuário porque pode haver outra interface de usuário de logon de terceiros. Seus requisitos no nome do usuário podem ser diferentes. Acho que eles estão se referindo aos fornecedores de credenciais de terceiros.

05/10/2012 manhã

Acabei de falar com um de seus engenheiros. Explique o problema todo para ele mais uma vez. Ele tem certeza de que :somethingnão tem um significado especial internamente a partir de hoje, mas não pode garantir que isso possa significar algo no futuro.

No entanto, ele não tem código fonte para confirmar isso. Ele vai enviar um email para outra pessoa com código fonte para confirmar isso.

03 de outubro de 2012 noite - minha resposta

Obrigado pela informação. No entanto, tentei outros personagens ilegais, como; e |.

A interface do usuário de logon pode detectar isso com êxito e informar que meu nome de usuário ou senha não estão corretos.

Se o front-end realmente não faz nenhuma validação de entrada e o back-end pode realmente eliminar todos os caracteres ilegais, por que a interface de usuário do Logon não permite que eu faça login como [email protected]|something ou [email protected]; alguma coisa, mas [email protected]: alguma coisa.

Esse comportamento estranho acontece apenas em ":".

-Harvey

Tarde 3 de outubro de 2012 - resposta do suporte da MS

Olá Harvey,

Não há erro na validação do front end, pois o front end não executa nenhuma validação. A validação é realizada depois que você insere suas credenciais e tenta fazer login, em segundo plano, a validação é realizada e o respectivo erro é exibido.

O motivo por trás da não execução de uma validação inicial é que existem outras UIOs de logon de terceiros que são usadas e que os requisitos para trabalhar e autenticar um usuário podem ser diferentes. Algumas UIs podem exigir o nome de usuário em um formato diff, portanto, executar uma validação quando o usuário estiver inserindo as credenciais interromperá essas UIs.

Quanto ao back-end, toda interface do usuário faz uma chamada para as APIs de autenticação de back-end, independentemente da interface do usuário presente no front-end. Portanto, executar a validação no back-end garante a autenticação adequada

Cumprimentos XXXX

Tarde 03 de outubro de 2012 - minha resposta

Eu entendo a explicação sobre o manuseio diferente no front-end e back-end, pois também sou programador.

Portanto, parece um bug menor na lógica de validação de entrada da interface do usuário front-end, embora não haja nenhum bug no back-end.

Observe que eu também tentei fazer a mesma coisa usando o runas.exe. O runas.exe me mostrou a mensagem de erro antes de passar o nome de usuário malformado para o back-end. Então, para mim, o runas.exe está fazendo a validação de entrada correta.

Se você ainda acha que não há nenhum erro no front end da interface do usuário, pode explicar o objetivo de permitir que o usuário final digite um nome de usuário malformado e depois o exiba na tela?

Obrigado, Harvey

03 de outubro de 2012 pela manhã - resposta do MS Support

Olá Harvey,

Desculpe-me pelo atraso. Eu encaminhei sua pergunta para minha PME e aqui está a resposta dele: nenhum erro. a interface do usuário exibe o que você digitou. O back-end analisa a string para determinar o domínio e o nome de usuário. Faz isso corretamente desde que: é um personagem ilegal.

Informe-me se ele esclarecer suas dúvidas ou se posso ajudá-lo ainda mais.

Cumprimentos XXXXX

Harvey Kwok
fonte
3
Excelente esforço e resposta. Lamento ter apenas um voto positivo para dar isso. (E, FWIW, você me inspirou a testar isso com outros personagens "ilegais".)
HopelessN00b
Adoro quando lido com um fornecedor e recebo uma série evasiva de respostas como essa. Adoro especialmente a comparação com o comportamento das runas e a inconsistência óbvia em que apenas um "caractere ilegal" específico é retirado (e aparentemente tudo depois disso também ...) Mas excelente trabalho em contato com a EM. Pelo menos você não tem que convencê-los que 0.002c = $ 0,002 :)!
Jon Kloske