1. Куча / Говнокод #25680

    0

    1. 1
    https://habr.com/ru/post/456558/

    Какой багор )))))))))))))))))))))))))))))))))))))))) ))))))))))))))))))

    Запостил: AHCKuJlbHblu_nemyx, 19 Июня 2019

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

    • Остановите землю, я сойду
      Ответить
      • Космонавты отказываются сдавать спермограмму в космосе


        https://ria.ru/20190619/1555686553.html
        Ответить
    • Сканом портов занимаются все, кому не лень, и в первую очередь - google.
      Закон этого не запрещает.
      Ответить
      • Я то думал CORS от этого защищает, но существование сервиса на порту оказывается можно проверить.
        Ответить
        • Там в комментах объяснили же. Цифровой отпечаток пользователя и все такое...
          Ответить
          • Его можно получить и без сканирования портов, тем более, что скан портов — это нечто эфемерное: сегодня порт открыт, а завтра закрыт.

            Отпечаток можно получить и другими способами:
            http://ip-check.info/?lang=en
            Ответить
      • что? что ты несеш, поехавший? нахуй гуглу твои порты?
        Ответить
        • спроси у roman-kashitsyn
          Ответить
        • Как раз-таки для «Гугла» скан портов вполне укладывается в норму: эта компания давно известна своим маниакальным стремлением собрать о пользователях как можно больших данных — любых, даже самых, на первый взгляд, ненужных. Для рекламного гиганта, специализирующегося на таргетинге, это совсем не удивительно.
          Ответить
          • Ага.
            К примеру если занят порт 5938 (TeamViewer), то это либо админ, либо бухгалтер, которому помогает админ. Это можно использовать как фактор в таргетинге рекламы.
            Ответить
            • Или 5650 (Pizza trojan) - можно подсовывать рекламу антивируса.
              Ответить
    • а мне всеравно непонятно как они корс обошли
      Ответить
      • Никак. В комментариях можно найти ответ.

        Браузер перед запросом GET/POST посылает запрос OPTIONS, чтобы прочитать заголовки для CORS. Если CORS разрешает запросы, то он посылает настоящий запрос GET/POST. Если CORS запрещает, то он запросы GET/POST посылать не будет, но ведь запрос OPTIONS он уже послал без спросу (иначе он не узнает правила CORS)!
        Ответить
        • Можно как-то через жопаскрипт отличить хуёвый ответ CORS от несуществования на этом порту чего-либо?
          Ответить
          • Как пишут в комментариях — по времени ответа. Если на порту висит DROP, то завершение запроса придётся ждать долго. Если запрос завершился быстро — значит, либо порт открыт, либо там REJECT.
            Ответить
            • Забавный способ по сайд-эффектам. Именно потому я за Reject
              Ответить
              • А я — за «iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT; iptables -A INPUT -j DROP»!
                Ответить
                • ну мой роутер примерно за такое же: для уже установленных соединений можно получать ответы, а попытки установить (с поднятым флажком SYN) надо дропать на пол без всякого ответа.
                  Ответить
                  • Кстати, вот как это делается в хороших файрволах
                    /etc/pf.conf
                    block all
                    pass out on $interface proto tcp to any port keep state
                    pass out on $interface proto udp to any port keep state


                    вот этот keepstate и никакого вашего "-m state --state ESTABLISHED,RELATED" не нужно

                    иптаблес бяка
                    прыщебляди что сделали?
                    Ответить
                    • СОСНУЛИ
                      Ответить
                      • Как жабопетухи?
                        Ответить
                        • КТО МЫ?
                          Ответить
                          • Мы пикинёры.

                            Это моя пика. Таких пик много, но эта моя. Моя пика без меня бесполезна. Я бесполезен без моей пики. С моей пикой и божьей помощью сокрушу любого врага. Аминь.

                            Мне сказал один мужик, нынче в моде лес из пик...
                            Ответить
                            • Не правильно
                              даю подсказку: «п…»
                              Ответить
                              • Павлины!
                                Ответить
                                • Не правильно.
                                  «пр…»
                                  Ответить
                                  • Заправщики принтеров!
                                    Ответить
                                    • Кто мы?
                                      Зправщики картриджей!
                                      Чего мы хотим?
                                      Пиздеть про айпитейблс!

                                      Кто мы?
                                      Программисты!
                                      Чего мы хотим?
                                      Прыщебляди соснули!
                                      Ответить
                                  • Протоссы.
                                    Ответить
                                    • Портосы.
                                      Ответить
                                    • Портососы.
                                      Both DoS`s use something known as portfuck (e.g. `while true; do telnet
                                      host port & done`).
                                      1. If you use it against any inetd service, inetd will shoutdown that
                                      service for about 30 minutes (i did not checked, but it seems to be about
                                      that time).
                                      2. If you use it against sshd, you have 99% that you crash the mashine in
                                      few seconds.
                                      TESTED:
                                      sshd-1.2.26 on Debian 2.0
                                      sshd-1.2.27 on Debian 2.1
                                      sshd-1.2.27 on RedHat 5.2
                                      inetd - one provided with Debian 2.0/2.1/Redhat 5.2
                                      all above platforms are VULNURABLE to this attack
                                      COMPROMISE:
                                      Allows any user to hang many machines in the Internet (i guess that only
                                      these behind a firewall are secure ;>
                                      Ответить
                            • Мы прыщебляди.

                              Это мои прыщи. Таких прыщей много, но эти —– мои. Мои прыщи без меня бесполезны. Я бесполезен без моих прыщей. С моими прыщами и божьей помощью сокрушу любого врага. Админь.
                              Ответить
                    • Я против этих новомодных надстроек над netfilter. Они унылы, не обладают всей массой возможностей iptables, не дают такой же степени контроля и вдобавок просто-таки блевотно многословны.
                      Ответить
                      • pf не имеет никакого отношения к netfilter.
                        ты перепутал его с firewalld или ufw.

                        Кстати, pf имеет API в отличие от netfilter.
                        Ответить
                        • Да, перепутал, но я тут применяю теорему Эскобара. По сравнению с возможностями и тонкостью контроля, которые дают iptables, сосут все.

                          Но, конечно, если нужно просто закрыть порты — то iptables будут излишне сложными.
                          Ответить
                          • Да практически всё, что угодно можно сделать с помощью pf, причем некоторые вещи делать даже удобнее.

                            Например, в pf можно определить таблицу и налету добавлять/удалять из нее адреса через сишный API. И этим пользуется, например, proxy для ftp. У iptables это делается встроенными в ядро поддержками ftp (что вероятно не очень красиво).

                            В целом же iptables смокчут у pf по трем параметрам:
                            * у pf есть API, а у netfilter нет
                            * у pf весь конфиг описан декларативно в pf.conf и запускается через pfctl. А у iptables есть 42 вида "шел скриптов" и всяких iptables-restore, бо только утилита Iptables есть клиент netfilter и она не умеет читать конфиг.
                            * man pf.conf, man pfctl и man pf содержат отличный туториал про всё, начиная от простых файрволов до шейпинга (да, шейпинг делается НЕ отдельной утилитой tc).
                            А по iptables есть два отдельных, ужасно устаревших хауту, и весьма слабый ман.

                            В общем неконсистентная, плохо документированная и не очень логичная система, как и всё в linux. Тем не менее, свои задачи она решает
                            Ответить
                            • > Например, в pf можно определить таблицу и налету добавлять/удалять из нее адреса через сишный API.
                              В «iptables» для такого используется «ipset». Правда, API у него — то ещё дерьмо, но оно таки есть (см. «libipset»).

                              Кстати, а в pf есть аналог «-m recent» (https://manpages.debian.org/unstable/iptables/iptables-extensions.8.en.html#recent)? Эта фигня крайне мощная, в сочетании с остальными возможностями «iptables» позволяет строить прямо-таки интеллектуальные фильтры.
                              Ответить
                              • в том-то и дело что есть tc, есть ipset, есть iptables.
                                ужасное неконсистентное

                                >recent
                                Это типа одно правило складывает адреса в лист, а другое проверяет?

                                Такие штуки лучше делать в юзерспейсе: правило сообщает о своих стейтах (через pflow например), а их слушает демон и правит таблицу и уже по таблице файрвол работает.

                                Все эти ваши iptables-extensions же работают в ядре, в netfilter?
                                Это может и быстрее, но сложнее. Я бы в ядре только NAT делал.

                                А для простых задач есть например max-src-conn-rate (чтобы лимитить частоту подключений)
                                Ответить
                                • > Это типа одно правило складывает адреса в лист, а другое проверяет?
                                  С помощью «recent» можно складывать в лист адреса-источники пакетов, выбранных по произвольному критерию. Например, можно добавлять в вайтлист всех, кто послал пакет с определённым содержимым на определённый порт, причём не обязательно, чтобы порт был открыт.

                                  Собственно, в своё время я знатно ебался с созданием антидудоса под древнюю игрушку, работающую по UDP — вот там без таких штук никак не обойтись было.

                                  > Все эти ваши iptables-extensions же работают в ядре, в netfilter?
                                  > Это может и быстрее, но сложнее. Я бы в ядре только NAT делал.
                                  В хуйлоаде каждая инструкция дорога. В то же своё время я для пирфоманса переносил часть правил из таблички «filter» в табличку «raw» (где пакеты отбрасывались до обработки conntrack'ом) — и это давало ощутимый результат.
                                  Ответить
                                  • Ну если тебе в хуйлоаде нужен recent, то ок: тут аптитейблс вне кокуренции

                                    Но в 99% случаев тебе нужен NAT и пару портов открыть.
                                    В этой ситуации iptables выглядит как закручивание болта посредством киянки, стамески и крестовой отвертки
                                    Ответить
                                    • Добавлю: айпические таблицы вне конкуренции тогда, когда нужно софтверно отражать очень сложные L3-L4 атаки. Я бы сравнил их с реактивным самолётом: трудно осваивать, сложно летать, зато охуенно быстро и гибко (лети куда хочешь). А разные «юзер-френдли» надстройки и аналоги — это эдакий гироскутер: сел и поехал.

                                      Единственное, что вызывало у меня опасение — это виндовый фаерволл. Ничто в мире не бывает более беспомощным, безответственным и порочным, чем фаерволл с тремя кнопками. Я знал, что рано или поздно мы перейдем и на эту дрянь.
                                      Спермоволл — это такое кастрированное говно, что плакать хочется (когда пытаешься его настроить). Серьёзно, там можно задать программу, протокол, порты и список адресов, пакеты с которых будут либо блокироваться, либо пропускаться. Всё, блядь, больше — ничего!
                                      Ответить
                                      • айпитаблицами как раз софтварно трудно управлять ввиду отсутствия апи, и мы же не говорим про надстройки, мы говорим про аналоги

                                        в аналогах (в том же pf) тебе придется всю СЛОЖНУЮ логику перенести на юзерспейс

                                        это медленее, но сделать ты там сможешь все что угодно


                                        виндовый файрвол достаточно гибок для декстопа (в режиме advanced firewall), а для твоих задач там есть Windows filtering platform, тоесть апять таки апи коего у прыщей нет

                                        кроме того есть MS ISA (Forefront), и там можно овердохуя всего

                                        при всем уважении к линуксу (сейчас на нем сижу, кстати) давайти все таки не скатываться в лоровское прыщедрочерство
                                        Ответить
                                        • Под «софтверно» я имею в виду правилами фаерволла, а не специализированными железяками. И именно из-за переноса в юзерспейс pf будет серьёзно уступать по скорости таблицам, да.

                                          > виндовый файрвол достаточно гибок для декстопа (в режиме advanced firewall)
                                          Ну хз, я как-то попытался настроить примитивную обработку трафика — и пригорел. Там же даже адаптер, на который прилетел пакет, задать нельзя!

                                          > Windows filtering platform, тоесть апять таки апи коего у прыщей нет
                                          Ознакомился с API, на первый взгляд — довольно ограниченная штуковина, условия уж больно простые. Можно, конечно, фильтровать «callout driver»'ом, но с абсолютно таким же успехом можно и для айпических таблиц написать расширение и течь.

                                          > кроме того есть MS ISA (Forefront), и там можно овердохуя всего
                                          Уже нет. 9 сентября 2012 Microsoft объявила о прекращении дальнейшего развития Forefront TMG. Основная поддержка была прекращена после 14 апреля 2015 года, а расширенная поддержка закончится 14 апреля 2020 года. Продукт не доступен для приобретения с 1 декабря 2012 года.

                                          > давайти все таки не скатываться в лоровское прыщедрочерство
                                          Давайте! Виндовый фаерволл мне просто так вспомнился, и я прекрасно понимаю, что в ориентированной на десктоп ОСи монстр-комбайн уровня айпических таблиц не нужен.
                                          Ответить
                          • зы: на всякий случай: я тоже против всех настроек

                            если уже юзать линукс то пусть это будет /etc/rc.d/rc.firewall (как в слаке)
                            обычный шел скрипт с iptables.

                            ТАк понятнее
                            Ответить
                        • Кстати, «iptables» полны по Тьюрингу: https://sgros.blogspot.com/2011/09/implementing-turing-machine-using.html. Именно поэтому я за «iptables».
                          Ответить
                          • А у Вас есть что-нибудь неполное по Тьюрингу?
                            Ответить
                            • Мокросы. В них нельзя упасть в рекурсию (рекурсивный петух, молчать!). Какая неполнота )))
                              Ответить
                              • Можно в косвенную, но приходится ручками заставлять препроцессор препроцессить их несколько раз (вспомните «#define EVAL(...) EVAL1(EVAL1(EVAL1(__VA_ARGS__)))»), поэтому число повторений ограничено.
                                Ответить
                            • У нас нет ничего полного по Тьюрингу, потому что у нас нет бесконечной памяти.
                              Ответить
                  • Причем тут шлюх? 127.0.0.1 это твой комп.
                    Ответить
            • почему время у OPTIONS запроса долгое в таком случае?
              Ответить
    • https://github.com/nginx/unit/issues/112
      asaaaaaaaaaaaaaaaaaaaa
      Ответить
    • Именно поэтому я за запуск браузера в виртуальной машине.
      Ответить
    • ФСБ следит открыто, посылая нахуй закон о неприкосновенности частной жизни - чего уж там до скана портов какой-то китайской захолустной компанией... Смиритесь.
      Ответить
    • А теперь изюминка: Сбербанк Онлайн делает всё тоже самое.
      Ответить
      • Какой багор )))
        Ответить
      • Именно. Проверяет вот эти порты:
        7070
        5985
        445
        22
        80
        443
        51
        8080
        3389
        5939
        5938
        5931
        5650
        6900
        5900
        Ответить
        • А если я на эти порты повешу сервер, который в ответ будет посылать текстовую строку: «Сосите хуй, пидоры!»?

          Кстати, некоторые интернет-провайдеры блокируют входящие в сторону клиента запросы на порты 22, 80, 8080, 443, порты NETBIOS/SMB и ещё какие-то, которые «могут причинить вред оборудованию клиента». Чтобы разблокировать, нужно подавать заявку на статический айпишник.

          Т. е. жопоскрипт из браузера на эти порты сможет достучаться, а внешний клиент из интернетов не сможет.
          Ответить
          • пажжи

            если жопаскрипт шлет запрос на 127001 то причем тут воще провайдер?
            Ответить
            • Я уже дописал предложение: «Т. е. жопоскрипт из браузера на эти порты сможет достучаться, а внешний клиент из интернетов не сможет».
              Ответить
              • у меня закрыт 445 и 137-139
                а наружу 25 штобы спам не слал
                пров обомне заботица
                Ответить
                • А у меня по-умолчанию провайдер закрывает все TCP-порты из 1-1024, кроме 21, 22, 25 и 110. Но при этом можно как усилить огораживание (закрыть исходящий 25 и даже закрыть все входящие порты), так и отключить его. Хороший провайдер, короче.
                  Ответить
                  • А у меня провайдер дропает фрагментированные пакеты
                    и не признается, козел, хотя я сам проверял

                    Вероятно это делает его DPI, а он даже не знает
                    Ответить

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