Meu site parece ter sido invadido ... mas somente quando visitado de outro site ... como?

16

Meu site é altoonadesign.com. Se você o digitar diretamente no navegador, ele o levará ao site correto. No entanto, se você pesquisar "altoona design" e clicar no link para o meu site, será redirecionado para um site malicioso.

Eu tentei isso no google no chrome e no bing no IE. em computadores diferentes sempre com os mesmos resultados. digitar o URL diretamente leva você ao meu site real; clicar no link nos resultados da pesquisa o redireciona para o site malicioso.

Não tenho certeza de como isso está acontecendo, como desfazê-lo ou como evitá-lo no futuro?

atualizar

clicar no link daqui leva você para o site malicioso também, então parece que clicar em um link é o que faz, mas digitar diretamente não o redireciona ... como é isso?

JD Isaacks
fonte

Respostas:

13

Ao visualizar a fonte da sua página, há um código na parte inferior que não se parece com o que você coloca lá:

<div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/passware-myob-key-crack.html'>Passware MYOB Key crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/newstarsoccer-crack.html'>NewStarSoccer crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/pcsentinels-busted-crack.html'>PCSentinels Busted crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/3dmark2001-crack.html'>3DMark2001 crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://www.asrtu.org/trust_crcks/acdsee50powerpack-crack.html'>ACDSee50PowerPack crack</a></div><div style='position:absolute;left:-2125px;width:1024px'><a href='http://keygen-0day.ws/database/My%20TypeArtist%201.000B/'>My TypeArtist 1.000B</a></div></body> 
<!-- InstanceEnd --></html> 
<script>check_content()</script>check_content()</script>

Ao usar o violinista e acessar o site pelo google, posso ver que ele vai para o seu domínio primeiro e é redirecionado antes que a página inteira seja carregada.

Verifique seu código php, eles provavelmente colocam algum código de redirecionamento em sua página.

Ed B
fonte
20

Na verdade, eu não segui seu link (não desejo encontrar uma exploração de dia zero), mas o que geralmente acontece quando um servidor é invadido é que o código é colocado em qualquer arquivo PHP para verificar o cabeçalho do referenciador e redirecionar se a visita é de um mecanismo de pesquisa ou se é de qualquer lugar que não seja o site atual.

Isso é feito para tentar impedir que o proprietário do site perceba que o hack está em vigor, pois você provavelmente visitará o site diretamente, em vez de encontrá-lo por meio de um mecanismo de pesquisa.

Andrew Aylett
fonte
4
+1 para explicar o "porquê". Muito esperto.
BalusC
Obrigado, posso recomendar como localizá-lo e corrigi-lo. devo começar a examinar todos os arquivos do meu site? Obrigado!
JD Isaacks
Se você possui um backup recente (ou controle de origem), use-o :). Caso contrário, comece a examinar arquivos modificados recentemente, arquivos modificados pelo usuário do servidor da web ou arquivos que contêm "referenciador". As chances são de que o código seja ofuscado pelo menos levemente, portanto, a pesquisa pode não funcionar. Em seguida, procure o ponto de entrada - você não deseja deixá-lo aberto :). Presumo que você esteja usando PHP, e uma inclusão desmarcada é mais provável.
precisa
4

Em primeiro lugar, esta é uma questão de programação , não tenho absolutamente nenhuma idéia do que está fazendo no Serverfault.

Existe uma vulnerabilidade no seu aplicativo da web php e você precisa encontrá-lo e corrigi-lo. Primeiro eu iria embora e me certificar de que todas as suas bibliotecas PHP estejam atualizadas. Uma vulnerabilidade no phpmailer ou smarty pode deixar um hacker invadir seu site.

Em seguida, eu examinaria seu site com algo como Acunetix ($) ou NTOSpider ($$$). Uma boa alternativa de código aberto é o wapiti e o w3af . Esses scanners podem encontrar vulnerabilidades, como mau uso, eval()que podem levar a esse tipo de ataque.

Em seguida, você deve bloquear o php usando phpsecinfo , certifique-se display_errors=off. Se você possui um back-end do MySQL, desative file_priv(privilégios de arquivo) da conta do MySQL usada pelo PHP.

Aqui estão alguns bons recursos para escrever código PHP seguro:

http://phpsec.org/library/

http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project

Além disso, evite o FTP como a praga, pois existem vários worms se espalhando agora, farejando sua máquina local para logins de FTP e infectando seu site. Verifique também se você está executando um antivírus em todas as máquinas com acesso ao servidor, mesmo que seja apenas gratuito como o AVG.

Torre
fonte
Rook, a falha inicial é quase certamente um problema de programação. Mas se o servidor estivesse configurado e a segurança tivesse sido protegida adequadamente, a falha do software talvez não fosse explorável. Também estou curioso para saber como você pode ter 100% de certeza de que a falha está no software que ele desenvolveu e não em alguma configuração do sistema operacional ou em outra ferramenta. Se os backups estiverem funcionando corretamente, então 'consertar' o problema pode ser facilmente realizado por uma restauração rápida.
precisa
@ Zoredache, você tem o direito de que o problema possa ser um problema de configuração ou uma vulnerabilidade em outro serviço. No entanto, muitas explorações funcionam independentemente da configuração ou das configurações de segurança, como a injeção de sql. Mesmo com o AppArmor e o SELinux, um sistema ainda pode ser explorado facilmente.
Rook