Pergunta

Enfrentar um cenário estranho aqui.

Utilizamos um aplicativo proprietário de gerenciamento de estação de trabalho que usa o MySQL para armazenar seus dados. Dentro do aplicativo, eles fornecem número de relatórios, como qual usuário registrou em qual máquina a que horas, todos os produtos de software instalados nas máquinas monitoradas, assim como por diante. Estamos procurando fazer um conjunto diferente de relatórios, no entanto, eles não suportam relatórios personalizados.

Como os dados deles estão sendo armazenados no MySQL, concluo que posso fazer os relatórios manualmente. Eu não tenho credenciais válidas para me conectar ao servidor MySQL. Existe alguma maneira de criar uma conta de usuário no servidor MySQL? Não quero redefinir a senha raiz ou qualquer coisa que possa estar lá, pois pode quebrar o aplicativo.


Tenho acesso total ao servidor Windows 2003. Posso parar e reiniciar serviços, incluindo o servidor MySQL. Para o servidor MySQL real, só tenho acesso básico através da GUI fornecida pelo software. Não consigo me conectar diretamente através da CLI ou de outra ferramenta (devido à falta de credenciais).


Peço desculpas se isso saiu como se estivesse tentando obter acesso não autorizado ao servidor MySQL. Entrei em contato com a empresa de software e, até hoje, já faz duas semanas sem uma resposta deles. Eu preciso chegar aos dados. Tenho acesso total à caixa física, tenho privilégios de administração.

Foi útil?

Solução

Você deseja usar o processo de recuperação de senha do MySQL. Seguir estas instruções, exceto substituir a consulta de redefinição de senha por uma consulta para Adicione um novo usuário. A nova consulta do usuário seria algo como:

GRANT ALL ON *.* TO 'myuser'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

Isso criará um novo usuário "MyUser" com a senha "MyPassword", que pode fazer login no MySQL através da CLI do sistema local. Você pode usar a GUI do administrador MySQL (baixe aqui) e atualize as permissões de usuário para que você possa fazer login em outros sistemas na rede. Ou use o GRANT declaração Da CLI, se esse é mais o seu estilo.

Outras dicas

Você tem acesso ao servidor MySQL em questão?

Como, que acesso você tem além do que um usuário regular faria? Você deve tentar passar por essas rotas antes de "invadir" o seu caminho, pois isso pode ou não ser viável com esse software.

As chances são de que existem gatilhos no lado do banco de dados, mantendo um log; portanto, quando você se invade o banco de dados, eles saberão quando e como você o fez. Não é uma boa ideia.

Suponho que realmente não devo responder a este, mas é muito divertido.

Olhe para este Página sobre injeções SQL. Isso deve cobrir suas necessidades.este A página mostra como adicionar contas de usuário ao MySQL

Eu tentaria inserir o seguinte nos campos de entrada do usuário aleatório:

p'; INSERT INTO user VALUES

('localhost', 'mynewadmin', senha ('algum_pass'), 'y', 'y', 'y', 'y', 'y', 'y', 'y', 'y' ',' Y ',' y ',' y ',' y ',' y ');

e depois

p'; FLUSH PRIVILEGES;

p '; pretende fechar a questão regular. Por exemplo - a pergunta normal é:

"Select Adress from cusomers where custName = ' + $INPUT + ';

torna-se

    Select Adress from cusomers where custName = 'p'; INSERT INTO user 
VALUES('localhost','myNewAdmin',PASSWORD('some_pass'), 
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y'); 

Uma coisa que vem em mente é farejar a comunicação do banco de dados e espero que não seja criptografada. Se for criptografado, tente alterar a configuração para não usar o SSL e reiniciar o MySQL. Um bom sniffer que eu uso é Wireshark

A partir de Documentação MySQL 5.0:

O MySQL suporta conexões seguras (criptografadas) entre os clientes MySQL e o servidor usando o protocolo Secure Sockets Cayer (SSL). Esta seção discute como usar as conexões SSL. Ele também descreve uma maneira de configurar o SSH no Windows. Para obter informações sobre como exigir que os usuários usem as conexões SSL, consulte a discussão da cláusula de requisição da declaração de concessão na seção 12.5.1.3, “Sintaxe do subsídio”.

A configuração padrão do MySQL deve ser o mais rápido possível, portanto, as conexões criptografadas não são usadas por padrão. Fazer isso tornaria o protocolo do cliente/servidor muito mais lento. Criptografar dados é uma operação intensiva em CPU que exige que o computador faça um trabalho adicional e possa atrasar outras tarefas do MySQL. Para aplicativos que exigem a segurança fornecida por conexões criptografadas, o cálculo extra é garantido.

O MySQL permite que a criptografia seja ativada por conexão. Você pode escolher uma conexão não criptografada normal ou uma conexão SSL criptografada segura de acordo com os requisitos de aplicativos individuais.

As conexões seguras são baseadas na API OpenSSL e estão disponíveis na API MySQL C. A replicação usa a API C, para que as conexões seguras possam ser usadas entre servidores mestre e escravo.

Você provavelmente já fez isso, mas ainda assim - tente pesquisar nos arquivos de configuração de aplicativos. Se não houver nada - tente pesquisar no código executável/fonte - talvez esteja em texto simples, se você tiver sorte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top