COVIL HACKER

, ! .


» COVIL HACKER » Vulnerabilidades de aplicativos da Web » Ignorar painel de administração


Ignorar painel de administração

1 2 2

1

Olá, sou um cracker nesta posição. Vou falar sobre a ocorrência de vulnerabilidade de bypass, que é uma das vulnerabilidades usadas por todos que hackeiam pelo menos uma vez na vida, e como ela pode ser evitada.

Em primeiro lugar, a vulnerabilidade bypass consiste em configurar consultas de banco de dados em linguagem php em um ambiente inseguro. Portanto, é uma espécie de vulnerabilidade de "injeção de SQL" .

https://forumupload.ru/uploads/001b/c9/09/2/t157621.png

Agora eu quero que você olhe para a variável chamada $check nesta foto. Como nenhuma filtragem é aplicada nesta consulta, ela não filtra as variáveis, não importa o que esteja escrito nela.
Por esse motivo, posso executar uma consulta mysql nele.

https://forumupload.ru/uploads/001b/c9/09/2/t193872.png

Como visto na tabela mysql acima, nosso nome de usuário e senha são normalmente admin. Agora vamos fazer login com essas informações.

https://forumupload.ru/uploads/001b/c9/09/2/t10024.png

Eu tive que colocar duas fotos porque a página foi atualizada, eu poderia usar jquery(ajax) , mas não há necessidade disso, mas como você pode ver, está logado. Atualmente, o único membro no banco de dados é admin, mas como posso escrever comandos sql nesta consulta $check , nome de usuário e senha posso fazer com que o valor da e user_pass seja qualquer coisa. Como faz? exatamente assim

PHP:
'=' 'or'

Agora, este artigo evolui para um significado que pode ser qualquer coisa na linguagem sql. Vamos tentar isso agora.

https://forumupload.ru/uploads/001b/c9/09/2/t815940.png

Como você pode ver, nossa tentativa foi bem-sucedida, embora não haja nenhum membro '=' 'ou' no banco de dados . Então, como podemos evitar isso? Para evitar isso, podemos usar uma consulta com ponto de interrogação em vez de uma consulta direta porque esses tipos de consultas filtram comandos sql e muito mais.

Versão editada do nosso código:
https://forumupload.ru/uploads/001b/c9/09/2/t632342.png

Sim, como você notou, usamos a função prepare arrow( ok) em vez da função query arrow(ok) anterior porque as consultas com pontos de interrogação só estão disponíveis no método prepare , infelizmente não no método query. Também adicionamos uma função arrow(ok) chamada execute à linha inferior e, com a ajuda dessa função, ?à instrução $db->prepare(...) ? Descartamos os valores em seus lugares. Podemos pensar nos pontos de interrogação como
pronomes em turco. Agora vamos tentar nosso teste de segurança anterior novamente.

https://forumupload.ru/uploads/001b/c9/09/2/t630646.png

Como você pode ver, nosso usuário registrado ainda está trabalhando, vamos ver qual é a situação.

https://forumupload.ru/uploads/001b/c9/09/2/t358540.png

Sim, como você pode ver na foto, obtemos o resultado de que você acabou de efetuar login com sucesso, mas agora obtemos a saída de que houve um erro durante o login. Conseguimos fechar a lacuna.

Cheguei ao fim desta posição. Nesta posição , aprendemos por que ocorre o gap de bypass e como fechá-lo.
Obrigado por ler

0

2


» COVIL HACKER » Vulnerabilidades de aplicativos da Web » Ignorar painel de administração


|