Задать вопрос
  • Как организовать быстрый forward тысяч проксей(socks5, https) на другие прокси по локальным портам(желательно с авторизацией)?

    В 3proxy примерно такая конфигурация:

    log
    auth strong
    fakeresolve
    users user1:CL:pass1 user2:CL:pass2 user3:CL:pass3
    
    allow * 
    parent 1000 socks5+ socksip1 socksport2
    socks -p10001
    flush
    
    allow * 
    parent 1000 socks5+ socksip2 socksport2
    socks -p10002
    flush
    
    allow * 
    parent 1000 socks5+ socksip3 socksport3
    socks -p10003

    пробрасывает 10001 на socksip1:portip1, 10002 на socksip2:portip2, 10003 на socksip3:portip3, на всех портах требует авторизацию логином/паролем.

    Если родительские прокси http то надо использовать http вместо socks5+, если сами прокси нужны http то надо использовать proxy вместо socks.

    Но если вы упираетесь в порты, то на уровне прокси это не решить, надо тюнить систему, здесь есть рекомендации.
    Ответ написан
    1 комментарий
  • Как бороться с брутфорсом?

    Все очень зависит от того, что за сервис вы разрабатываете, как и кем он будет использоваться и что в нем есть интересного для брутфорсера. Пока ваш сервис не имеет большой пользовательской базы и не особо интересен атакующим и его брутят только стандартные боты-краулеры которые ищут доски объявлений, будет работать все что угодно, в том числе и простые рейтлимиты, как вы предлагаете и капчи. Если у вас популярный сервис с большой и разнообразной пользовательской базой, то окажется что с одного IP могут ходить и хорошие пользователи и плохие, помимо прямого брута (по паролю) бывает обратный (с одним паролем по разным пользователям), что пользователи очень не любят капчи (а иногда и физически не имеют возможности их ввести, например из-за плохого зрения или дальтонизма) и т.д. В таких случаях защита от брутфорса требует более интеллектуальных подходов и вряд ли вам о деталях их реализации кто-то подробно расскажет.
    Ответ написан
    Комментировать
  • Почему не работает маршрутизация на Windows 10?

    Добавьте на windows 10 статический маршрут

    route add -p 169.254.0.0 mask 255.255.255.0 ip
    где ip - адрес самой Windows 10, либо просто пропишите адрес из этой сети + маску в настройках сетевого подключения как дополнительный
    Ответ написан
    Комментировать
  • Почему send позволяет отправлять little-endian данные?

    Понятие big endian и little endian есть у многобайтных типов фиксированной длины (обычно целочисленных) в адресном пространстве. В сети нет адресации данных, поэтому нет понятия big endian и little endian, есть понятие прямого и обратного сетевого порядка байт.
    Функции send/recv оперируют не с многобайтными целыми числами, а с буфером памяти произвольной длины и ничего не знают о том, какие именно данные в этих буферах находятся и о представлении хранящихся в них целочисленных данных, если таковые там есть. Поэтому данные по сети будут отправлены в том порядке, в котором они находятся в адресном пространстве в отправляемом буфере.

    Однако, в привиденном вами фрагменте кода нет передачи челочисленных данных по сети, поэтому ваш вопрос в принципе не корректен. Ваши проблемы скорей всего в том, что вы отправляете лишние данные после текстовой строки, т.к. неправильно вычисляете количество символов в ней либо неправильно кладете в стек целочисленную переменную, без учета ее размера (например, там должно быть 64-битное число, а вы кладете только 32 бита).

    P.S. а вообще у вас там лишний бекслеш перед H в текстовой константе.
    Ответ написан
    Комментировать
  • Уязвимости типа переполнение буфера?

    Нет, вы поняли неправильно. Во-первых, эксплуатация переполнения буфера зависит от того, где расположен буфер. Скорей всего вы имеете ввиду переполнение стекового буфера aka stack overrun.
    При "классической" прямой эксплуатации переполнения буфера в стеке "по aleph1" в буфере размещается шел-код, затем сохраненный в стеке адрес возврата перезаписывается адресом, указывающим внутрь буфера (на шелкод), при возврате из функции выполняется шелкод.

    Однако, такие приемы работали до того, как появились технологии защиты стека, неисполняемой памяти и рандомизации размещения в адресном пространстве. Сейчас для эксплуатации переполнений стека на практике обычно требуются приемы ROP (return oriented programming), т.е. ваши знания очень сильно устарели.

    Написать программу и вставить ее код в чистом виде нереально даже в случае классической эксплуатации, т.к. шел-код должен быть привязан к определенному состоянию адресного пространства эксплуатируемого приложения, и попадает в адресное пространство минуя стандартные механизмы загрузки и динамической линковки. Обычно шел-код пишется на ассемблере, либо под определенные фиксированные адреса, либо так, чтобы не иметь привязки к адресному пространству или с учетом необходимых дополнительных операций (например получения адресов вызываемых функций) для привязки к адресному пространству.

    ROP представляет из себя в принципе иной подход к программированию, для разработки шел-кода предварительно необходимо собрать доступные фрагменты кода ("гаджеты"), возможность написания шел-кода зависит от собранных гаджетов и фактически требует трансляции кода в последовательность вызова гаджетов, обычные подходы к разработке кода здесь неприменимы (по крайней мере до того момента, как получен полный контроль над страницами памяти процесса).
    Ответ написан
    1 комментарий
  • Как https шифрует ответ от сервера до создания симметричного ключа?

    Симметричный ключ генерируется по протоколу Диффи-Хеллмана.

    Даты действия сертификата определяет валидность сертификата, если сертификат будет предъявлен до начала действия или после окончания - он не считается валидным.
    Ответ написан
    Комментировать
  • Почему Get запросы могут отправляться по 2 раза?

    Это может быть по многим причинам - включенный preload на клиенте, пользователь нажал "вернуться" или обновил страницу, но в данном случае - скорей всего у пользователя стоит какое-то расширение, которое "стучит" его историю браузинга наружу, возможно даже вредоносное или наоборот это антивирус, проверяющий потенциально вредоносный контент.

    Есть общее правило - GET запрос никогда не должен приводить к модифицирующим действиям на сервере. Любые модифицирующие действия должны делаться через POST или другими методами (в случае REST API).
    Если все-таки необходимо чтобы это был GET, то принято дополнительно делать защиту от повторных запросов (replay), обычно к запросу добавляется последовательный номер или рандомная добавка.
    Ответ написан
  • Как работает OpenSource проект?

    Цели публикации проекта в исходных кодах могут быть разные:
    1. Личные убеждения
    2. Юридическая необходимость (например проект основан на GPL-коде)
    3. Простота дистрибуции (нет необходимости самостоятельно мейнтейнить порты для разных ОС/дистрибутивов)
    4. Наработка портфолио/репутации
    5. Бизнес модель (продукт поставляется бесплатно, но есть донат или поддержка оказывается за деньги - выгодно чтобы продукт использовался как можно более широко). Это особенно актуально если разработчик ПО зарегистрирован как благотворительный фонд, т.к. в США, например, компании могут донатить в такие фонды часть налогов а фонд имеет возможность платить разработчикам зарплаты. Фонды, например, имеют Linux, Apache, NetBSD. nginx зарабатывает на коммерческой поддержке.
    6. Как ни странно, если код открыт - нет необходимости заботиться о том, чтобы его не украли конкуренты и проще доказывается авторство.
    7. Если продукт изначально разрабатывается не для продажи, а для внутреннего использования - возможность привлечь внешние ресурсы к разработке и меньше тратить свои.
    8. Реклама бренда - очень часто небольшие компании делают бесплатный продукт, в т.ч. с открытым кодом, чтобы продвигать платные продукты.
    ...

    Соответственно автору - ЧСВ, портфолио, репутация, карма, донат, заработок на поддержке, дополнительные ресурсы в разработке программы, внешний аудит кода, избавление от проблем защиты от утечек кода.
    Волонтерам, конкурентам - в зависимости от лицензии. Если это бесплатная лицензия - то наработка портфолио, прокачка скилов, в случае фонда - может быть возможность денежного вознаграждения, возможность доработать код под себя, возможность создать порожденные продукты. При этом в случае GPL эти продукты так же должны быть с открытым кодом. В случае коммерческих приложений с открытым кодом особых причин для волонтеров или конкурентов ими заниматься мало.
    Ответ написан
    Комментировать
  • Как сделать входную точку в DLL?

    Смотря как вы инжектите DLL, при обычной загрузке выполняется DllMain().
    Ответ написан
    Комментировать
  • Как брать оплату по часам по договору?

    Я не уверен, есть ли особенности у ИП, но обычно подписывается прайс на почасовые работы как приложение к договору, по окончании работ (можно хоть каждый день или раз в неделю или раз в месяц - как угодно) подписывается акт выполненных работ с указанием работ, часов и стоимости по прайс-листу, по окончании периода (например месяца) выставляется счет на оплату по договору.
    Ответ написан
    Комментировать
  • Какие потери в связи у витой пары на расстоянии +-70метров?

    При правильной прокладке витой пары правильно выбранной категории (для 100BASE-T достаточно cat5) на расстояние до 100 метров потерь не будет.

    При той схеме, что вы нарисовали, и правильно подобранной святой воде у вас тоже потерь не будет. До первой грозы, после которой вы потеряете в лучшем случае пару портов в коммутаторах, в худшем - все, что подключено к сети.
    Ответ написан
  • Можно ли убрать "отправлено через" в письмах с VPS?

    Это значит, что у писем, которые вы отправляете нет SPF/DKIM авторизации домена из поля From но есть SPF или DKIM домена domain.com.
    Необходимо:
    1. Использовать адрес SMTP-конверта того же домена, который используется в From письма
    2. Настроить для этого домена SPF
    3. Подписывать письма DKIM с доменом DKIM (d=) совпадающим с доменом из From.
    Для проверки этих и прочих настроек, можно воскользоваться, например, этим сервисом.
    Ответ написан
    3 комментария
  • Почему почта с одного сервера на разные ящики gmail доставляется с разницей в пару часов?

    Попросите заголовки письма, по Received будет видно на каком сервере письмо отдыхало 2 часа (или будет видно что все нормально и где-то путаница с часовыми зонами). Дальше по логам на этом сервере посмотрите, почему оно не могло уйти дальше.
    Ответ написан
    Комментировать
  • Как перенаправить весь исходящий трафик на socks прокси, используя iptables?

    Принцип такой: перенаправить трафик в локальный порт, на котором висит приложение, умеющее быть клиентом SOCKS и поддерживающее локальные перенаправления. Например в 3proxy пример конфигурации https://3proxy.ru/plugins/TransparentPlugin/ - локальный трафик надо перенапралять в порт 12345, при этом перенаправлять надо так, чтобы трафик самого прокси не перенаправлялся обратно в него.
    Ответ написан
    Комментировать
  • Почему в Google отчетах по DMARC фигурирует IPv6?

    Если вы подписываете письма DKIM и 2a06:6440:0:2c13::2 не ваш адрес (это не Digital Ocean, а Hosting Ukraine Ltd.), значит кто-то пытается с этого адреса слать поддельные письма от вашего домена.

    На доставку ваших писем именно на GMail это влиять не должно.
    Ответ написан
    1 комментарий
  • В ProFTPD присутствует команда site в других серверах ее я не видел, данная команда реализована только в ProFtpD?

    Сама по себе SITE является частью протокола FTP, но команды, доступные через нее стандартом не определены.

    Исторически, протокол FTP это расширение протокола telnet (доступа к шелу) для передачи файлов. Команда SITE дает возможность выполнить на удаленном сайте какую-то команду, которая не является частью спецификации FTP, поэтому то, что вызывается через SITE по определению является нестандартным. Раньше это обычно реализовывалось путем размещения бинарников в какой-нибудь специальной папке, типа /var/ftp/bin (т.е SITE cpfr запускал /var/ftp/bin/cpfr), и таким образом можно было дать доступ через FTP к каким-то определенным командам или скриптам, сейчас таким образом обычно реализуются нестандартные расширения.
    Ответ написан
    Комментировать
  • Как добавить запись DNS?

    Заведите на DNS-серверах в AD отдельную зону name.test.com.
    Ответ написан
  • Миграция с gmail на exchange как реализовать?

    Проблема в том, что при текущих настройках пересылка у вас организована так, что меняет содержимое письма, что приводит к нарушению DKIM-подписи. Из-за этого у вас GMail не принимает письма от любых доменов со строгим DMARC, в т.ч. от mail.ru.

    Вы можете попробовать организовать перенаправление таким образом, чтобы оно не приводило к изменению письма и не нарушало DKIM. Можно попробовать это сделать за счет настроек коннекторов в Exchange, чтобы пересылка не меняла формат сообщения либо поставить отдельный хост в качестве шлюза между Exchange и внешней сетью, я бы в любом случае рекомендовал это сделать, т.к. в Exchange нет поддержки DKIM/DMARC.
    Ответ написан
  • Куда должен смотреть PTR почтового домена?

    PTR должен совпадать с HELO/EHLO, в соответствии с RFC 5321


    o The domain name given in the EHLO command MUST be either a primary
    host name (a domain name that resolves to an address RR) or, if
    the host has no name, an address literal, as described in
    Section 4.1.3 and discussed further in the EHLO discussion of
    Section 4.1.4.


    в EHLO должен быть использован основной hostname (primary hostname).

    Требовать совпадения с MX не имеет смысла, т.к. на один сервер может указывать много MX.

    P.S.
    в соответствии с RFC 1035


    - Gateways will often have two names in separate domains, only
    one of which can be primary.


    т.е. primary name может быть один и по определению зоны in-addr.arpa

    Host addresses are represented by domain names that have all four labels
    specified. Thus data for Internet address 10.2.0.52 is located at
    domain name 52.0.2.10.IN-ADDR.ARPA. The reversal, though awkward to
    read, allows zones to be delegated which are exactly one network of
    address space. For example, 10.IN-ADDR.ARPA can be a zone containing
    data for the ARPANET, while 26.IN-ADDR.ARPA can be a separate zone for
    MILNET. Address nodes are used to hold pointers to primary host names
    in the normal domain space.


    т.е. и HELO и PTR тоже смотрят на primary host name, который у хостов имеющих имена во многих доменах может быть только один (даже если у них несколько IP-адресов).
    Ответ написан
    1 комментарий