É possível explorar uma vulnerabilidade de injeção de SQL com uma permissão somente de seleção, se eu soubesse de credenciais de administrador? [fechadas]

4

Um amigo apontou uma vulnerabilidade de injeção de SQL em um aplicativo com o qual trabalho.

Este parâmetro de pesquisa:

'; exec xp_cmdshell 'dir';  --

Retornou a mensagem:

The EXECUTE permission was denied on the object 
   'xp_cmdshell', database 'mssqlsystemresource', schema 'sys'. 

Porque a pesquisa é executada a partir de uma conta que apenas selecionou permissões em algumas tabelas e procedimentos armazenados.

Eu estava imaginando, se um usuário mal-intencionado conhecesse as informações de login de uma conta de administrador do sql server, seria possível para eles usarem as credenciais para obter acesso root à máquina através do shell cmd ou de algum outro trabalho safado?

    
por asawyer 16.10.2012 / 15:39

2 respostas

2

É possível que uma SQL Injection possa ser alterada para um usuário com privilégios mais altos no servidor SQL usando exec as {credentials} . No entanto, o usuário original que está executando a consulta teria que ter IMPERSONATE de permissões para o usuário que está tentando migrar. Esta não é uma configuração padrão, você teria que adicioná-la (seria bastante estranho adicionar isso também).

    
por 16.10.2012 / 16:46
1

Realmente não importa se é possível ou não, você tem um problema legal aqui que você deveria estar procurando resolver. Este comando não deveria ter sido enviado de volta ao servidor.

    
por 16.10.2012 / 16:12