Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Trust

Site com Falha na seguranca

Recommended Posts

Ola

 

Estou com um problema

 

tenho um site com um script.. porem ele foi invadido.. queria saber como fizeram isso, para proteger...

o site é: http://sabioimoveis.com.br/

 

ele possui um arquivo: configuracao_mysql.php ( onde fica as configuracoes de usuario do banco de dados, senha, nome do banco de dados )...

fica em http://sabioimoveis.com.br/configuracao_mysql.php

 

eu sei q conseguiram entrar no admin, e trocar a senha, e alterar td Neutral como posso proteger? como sera que fizeram isso?

 

Sera que descobrem a senha e entram pela area administrativa e alteram td? descobrem a senha, vendo o banco de dados? pelo phpmyadmin?

ou alteram td direto no banco de dados? :wacko:

 

essa situacao ta muito chata :rolleyes:

 

Obrigado pela ajuda!

abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja procurei basntante no google...

li sobre sql injection... acho que nao e por sql injection que invadem a area administrativa, pois o arquivo de login usa a funcao "strip_tags".... para proteger sobre sql injection...

 

uma parte do codigo, onde se faz o login:

 

CODE
if(isset($_POST[s2]))

{

$MyUsername1 = strip_tags($_POST[username1]);

$MyPassword1 = strip_tags($_POST[password1]);

 

if(empty($MyUsername1) || empty($MyPassword1))

{

$MyError = "<center><font color=red size=2 face=verdana><b>Informe seu nome de usuário e senha para entrar!</b></font></center>";

}

else

{

//check the login info if exists

$q1 = "select * from re2_admin where AdminID = '$MyUsername1' and AdminPass = '$MyPassword1' ";

$r1 = mysql_query($q1);

 

if(!$r1)

{

echo mysql_error();

header("location:error1.php");

exit();

}

else

{

if(mysql_num_rows($r1) == '1')

{

$a1 = mysql_fetch_array($r1);

$_SESSION[AdminID] = $MyUsername1;

$_SESSION[AdminEmail] = $a1[AdminEmail];

$_SESSION[AdminName] = $a1[AdminName];

 

header("location:index.php");

exit();

}

}

}

}

 

 

 

nao to achando a falha :blink: por onde conseguem entrar e danificar o site.. :|

Compartilhar este post


Link para o post
Compartilhar em outros sites

q1 = "select * from re2_admin where AdminID = '$MyUsername1' and AdminPass = '$MyPassword1' ";

Vai ter dor de cabeça com essa query ai amigo... outra coisa, voc~e não está totamente livre, primeiro porque você usa essa query ai, e segundo porque o

strip_tags();
não vai te deixar totalmente livre disso, o que você tem a fazer é pesquisar sobre segurança, mais pra te quebrar o galho vou te passat o link de um bom tópico sobre o assunto:

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://forum.imasters.com.br/index.php?showtopic=276729

Compartilhar este post


Link para o post
Compartilhar em outros sites

q1 = "select * from re2_admin where AdminID = '$MyUsername1' and AdminPass = '$MyPassword1' ";

Vai ter dor de cabeça com essa query ai amigo... outra coisa, voc~e não está totamente livre, primeiro porque você usa essa query ai, e segundo porque o

strip_tags();
não vai te deixar totalmente livre disso, o que você tem a fazer é pesquisar sobre segurança, mais pra te quebrar o galho vou te passat o link de um bom tópico sobre o assunto:

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://forum.imasters.com.br/index.php?showtopic=276729

eu sei que a seguranca depende de varios fatores...

 

Com essa query como que podem entrar?

 

obrigado pela recomendacao do link, muito bom! vou implementar no meu codigo funcao contra anti sql injection!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

 

$MyUsername1 = "'";

$MyPassword1 = "' OR 1"; // "' OR 1='1"

 

$q1 = "select * from re2_admin where AdminID = '$MyUsername1' and AdminPass = '$MyPassword1' ";

 

echo $q1;

?>

 

veja como fica a instrução SQL..

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

 

$MyUsername1 = "'";

$MyPassword1 = "' OR 1"; // "' OR 1='1"

 

$q1 = "select * from re2_admin where AdminID = '$MyUsername1' and AdminPass = '$MyPassword1' ";

 

echo $q1;

?>

 

veja como fica a instrução SQL..

entendi o que voce quis dizer

mas no codigo original, possui a funcao strip_tags; é assim:

 

CODE

$MyUsername1 = strip_tags($_POST[username1]);

$MyPassword1 = strip_tags($_POST[password1]);

//etc etc etc

$q1 = "select * from re2_admin where AdminID = '$MyUsername1' and AdminPass = '$MyPassword1' ";

O strip_tags nao vai deixar colocando o usuario e senha que voce falou...

Eu vou implementar a funcao anti sql injection, que tem num link aqui no forum..

mas gostaria de saber como invadem a area administrativa, sendo que ja possui o 'strip_tags', qual sql injection usam para burlar?..

 

obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

 

$MyUsername1 = "'";

$MyPassword1 = "' OR 1"; // "' OR 1='1"

 

$q1 = "select * from re2_admin where AdminID = '$MyUsername1' and AdminPass = '$MyPassword1' ";

 

echo $q1;

?>

 

veja como fica a instrução SQL..

entendi o que voce quis dizer

mas no codigo original, possui a funcao strip_tags; é assim:

 

CODE

$MyUsername1 = strip_tags($_POST[username1]);

$MyPassword1 = strip_tags($_POST[password1]);

//etc etc etc

$q1 = "select * from re2_admin where AdminID = '$MyUsername1' and AdminPass = '$MyPassword1' ";

O strip_tags nao vai deixar colocando o usuario e senha que voce falou...

Eu vou implementar a funcao anti sql injection, que tem num link aqui no forum..

mas gostaria de saber como invadem a area administrativa, sendo que ja possui o 'strip_tags', qual sql injection usam para burlar?..

 

obrigado pela ajuda!

 

EDITADO: enviei duas vezes a mesma mensagem.. podem apagar esta mensagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui tem vários exemplo que coloquei para provocar o SQL INJECTION, use apenas para estudo, não me responsabilizo pelo mal uso desses caracteres:

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://forum.webaplicacoes.com/index.php?p...tID=159#post159

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe

tentei todos do link que voce me mandou...

mas nao passo...

o "strip_tags" transforma ' em \'

 

obrigado pelas respostas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei com usando ascii..

 

como por exemplo : ' OR 1='1 seria ' OR 1='1

 

testei imprindo na tela etc... e imprimi como por exemplo

select * from re2_admin where AdminID = '' OR 1='1' and AdminPass = '' OR 1='1'

ja nao bloqueo o \

mas nao falhou o script..

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso aí trust

 

tente de todas as formas encontrar falhas de segurança senão cedo ou tarde alguem encontrará e você será o ultimo a saber.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei com usando ascii..

 

como por exemplo : ' OR 1='1 seria ' OR 1='1

 

testei imprindo na tela etc... e imprimi como por exemplo

select * from re2_admin where AdminID = '' OR 1='1' and AdminPass = '' OR 1='1'

ja nao bloqueo o \

mas nao falhou o script..

Então... é como o hinom disse, vai vendo as formas que o script aceita, e desenvolva funções para de alguma forma bloquea-las.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.