1. PHP / Говнокод #23193

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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 был полностью забит входящим трафиком. Ддосили с www.gnu.org...

    Запостил: deadmorose, 18 Июля 2017

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

    • Можно поподробнее как "Ддосили с www.gnu.org" соотносится с этим кодом?
      Ответить
    • Функция get_rand_word вызывалась при каждом запросе пользователя. Соответственно с www.gnu.org на каждый запрос стягивался gpl-3.0.txt и весь канал оказался засран.
      Ответить
      • >file_get_contents
        >Ддосили
        Ответить
        • И то верно. У www.gnu.org всего два айпишника (один IPv4 и один IPv6). Для DDoS'а этого маловато...
          Ответить
          • Владелец сервера увидел что неожиданно пришёл входящий траф и поднял панику, типа ддосят.
            Естественно шёл он с одного ip и был сразу забанен, после чего уже выяснилось что принадлежит он gnu.org.
            При выяснении причин такого поведения всплыло такое вот говно.
            Ответить
            • А если у вас кто-нибудь торрент качает во весь канал, админ тоже носится в панике и думает что это ДДоС?)

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

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