"PHP" / Говнокод #23193 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
function get_rand_word () {
    $list = explode(" ", file_get_contents('http://www.gnu.org/licenses/gpl-3.0.txt'));
        $cwords = rand (2,5);
        $string = '';
        $r = 0;
        while($r++<$cwords) {
                $string .= preg_replace('~[^a-z]+~', '', strtolower($list[rand(0, (count($list)-1))]));
        }
        return $string;
}

Одним прекрасным утром поступила жалоба, что сервер ддосят. Канал на 100Mb был полностью забит входящим трафиком. Ддосили с http://www.gnu.org...

Запостил: deadmorose deadmorose, (Updated )

Комментарии (23) RSS

  • Функция get_rand_word вызывалась при каждом запросе пользователя. Соответственно с http://www.gnu.org на каждый запрос стягивался gpl-3.0.txt и весь канал оказался засран.
    Ответить
        • Владелец сервера увидел что неожиданно пришёл входящий траф и поднял панику, типа ддосят.
          Естественно шёл он с одного ip и был сразу забанен, после чего уже выяснилось что принадлежит он gnu.org.
          При выяснении причин такого поведения всплыло такое вот говно.
          Ответить
          • А если у вас кто-нибудь торрент качает во весь канал, админ тоже носится в панике и думает что это ДДоС?)

            З.Ы. В логах же прекрасно видно, что пакеты летят не на 80 порт вашего сервака, а с 80 порта гну на рандомный порт вашего...
            Ответить
            • А ещё TCP — это не UDP. Это в UDP можно просто так слать пакеты в любую сторону, а в TCP кто-то должен инициировать соединение (послать первый SYN-пакет). По идее можно определить, какая из сторон была инициатором.
              Ответить
            • "Владелец сервера увидел что неожиданно пришёл входящий траф и поднял панику"
              Разницу между владельцем и админом улавливаешь?
              Ответить
      • хакер быстро-быстро нажимал "F5" в браузере и сервер упал
        Ответить
    • Надо более короткие лицензии делать, тогда б не заддосилось. То ли дело лицензия BSD
      Ответить
      • Лучше скачать весь Интернет, чтобы его копия была на локальном диске. Тогда не придётся делать внешние запросы.
        Ответить
  • 35кб весит файл, неужели прям весь канал засрали?
    Ответить
    • Засрали. Там много запросов было, и при каждом вызывалась эта функция.
      Ответить
      • А почему случайные слова брали именно из текста GPL?
        Ответить
        • Осмелюсь предположить, что в качестве источника взяли GPL, потому что лицензии никто не читает (тем более на бесплатный софт). Так больше шансов, что слова будут непредсказуемыми для среднестатистического пользователя.
          Ответить
        • Не знаю. Это у программёра нужно спросить, сервер нам на аутсорсинг отдали с просьбой разобраться с ддосом. Долго потом ржали.
          Ответить
  • Закрывайте порты на исходящие соединения с среверами и никто досить не будет.
    А чуваку расскажите про quote, или что там у слаки в bash_rc
    Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8