Я — воздушный змей, официальный аккаунт «Воздушный змей в древние времена», вдохновитель программистов с глубиной и широтой, а также фермер-пастор, который планировал писать стихи, но написал код! Статьи будут включены вJavaNewBeeи другие сборники статей.
Полдень первых двух дней был как обычно жарок, солнце без устали палило в небе, жар разгонял тучи и птиц и вот-вот воспламенил воздух и мои мозговые нервы. Что охлаждает меня и компьютер, так это небольшой вентилятор на моем скромном столе, без которого клавиатура настолько горячая, что я не смог бы писать код.
В этот момент мобильный телефон рядом со мной дважды завибрировал.Для тех, кто никогда не осмеливался звонить по телефону, этот вибрирующий звук слишком знаком.Излишне говорить, что это должно быть рекламное текстовое сообщение, или кто-то добавил меня в друзья WeChat. . Поскольку я практически никогда не читаю текстовые сообщения, в сообщениях WeChat нет напоминаний, только когда я добавляю друзей.Поскольку многие друзья прочитали статьи, которые я недавно написал, все еще есть много людей, которые добавляют меня в друзья каждый день. обрабатывается равномерно. Итак, я продолжаю писать свой код и игнорировать его.
Примерно через две минуты гудит ~ вибрирует дважды, не паникуйте, продолжайте писать код. Потом гуд~~ провибрировал дважды, а потом провибрировал дважды.Я подумал про себя, кто тот большой, кто перевернул мою статью (слегка самодовольный в душе), успокойся и продолжай писать код.
Это продолжалось раз 6 или 7. Я собирался посмотреть на свой телефон, когда что-то произошло, поэтому я быстро открыл дверь и вышел. Через 20 минут я вернулся и обнаружил, что телефон все еще вибрирует. . Я быстро взял его и посмотрел, количество непрочитанных смс увеличилось (это фото, сделанное при написании статьи, реальное количество чуть больше этого, и оно было мною кликнуто).
Откуда у меня так много текстовых сообщений, я очень хорошо помню, их было только больше 820 (я хочу извиниться перед друзьями с обсессивно-компульсивным расстройством, эта картинка может заставить вас выглядеть очень неловко), простите меня за то, что я не читаю текстовые сообщения очень много, всегда Over 800 укладываются. Откуда за полчаса еще десятки сообщений?Я открыл его и увидел, что все они были сообщениями с кодом подтверждения входа от неизвестной компании, как показано ниже.
[Технология XX] Вы входите в систему с помощью SMS, код подтверждения 689287, отправьте код подтверждения в течение 15 минут и не сообщайте код подтверждения другим.
Мгновенно напоминает мне слово:СМС бомбардировщик. что, кто-то меня бомбил, я кого-то обидел, так что мой мозг быстро бегал.
Может быть, это брат, который задал мне вопрос несколько дней назад и вовремя не ответил на него, а потом отругал меня и был мною удален?
Мог ли это быть недавний директор, который был бесцеремонным и незнакомым и попросил меня помочь ему зафиксировать данные, верно?
Или это большой парень, который неоднократно сообщал, что моя статья не оригинальна?
Это того стоит, не так ли? Пока я думал об этом, телефон замолчал и замолчал. Оказывается, я, возможно, слишком много думал. Может быть, некий смс-бомбардировщик засек не ту цель, когда бомбил, и вовремя ее нашел, или еще что-то. причина.
знакомая сцена
Эта сцена навеяла на меня некоторые воспоминания, и в то же время яXX科技Выразите глубокое сочувствие. Несколько лет назад мою стартап-компанию использовали SMS-бомбардировщики, за одну ночь уничтожив 20 000 юаней на платформе SMS.
СМС бомбардировщик
SMS-бомбардировщик мобильных телефонов - это метод отправки SMS-сообщений с кодами подтверждения регистрации различных веб-сайтов на мобильные телефоны пакетами и циклами. Как правило, за одну минуту можно получить более 100 текстовых сообщений, что можно использовать для проверки скорости приема SMS на мобильный телефон. Его можно запустить на компьютере или мобильном телефоне.
Например, если кто-то хочет домогаться вас, потратить немного денег, чтобы купить услугу бомбардировки текстом или телефонной бомбой (научное название называет вас мертвым), ваш телефон мгновенно превращается в высокочастотный вибратор или проигрыватель рингтонов, что делает ваш телефон горячий.Если это серьезно, он выключится сразу без питания.
Теперь есть много SMS-платформ, таких как Tencent, Ali, Huawei и т. Д., И все они имеют анти-кражу и другие функции. В то время я не знал, какой канал босс нашел платформу SMS. T запомнить конкретное имя. В конце концов, это было несколько раз. годы. В то время платформа, казалось, заряжалась 20 000 юаней и отдавая 5000 юаней, поэтому босс напрямую обвинил 20 000 юаней, который был рассчитан в соответствии с несколькими центами на текстовое сообщение. Судя по объему бизнеса компании в то время, это может не быть использован, пока компания не закрылась.
На тот момент, после нескольких месяцев напряженной работы, разработанный продукт плавно вышел в интернет, но его не продвигали, а шло финальное онлайн-тестирование, его тестировали только инсайдеры компании, и некоторые мои знакомые им пользовались. Вот-вот начнется масштабная акция.
Однажды ночью было темно и ветрено, и вдруг начальник позвонил и сказал, что получил заблаговременное уведомление о сборах на смс-платформе. В тот момент, когда я зашел на страницу, я был ошеломлен: я использовал более 40 000 предметов, а осталось несколько тысяч. Поторопитесь и позвоните в службу поддержки, чтобы узнать о ситуации. На самом деле, в данный момент мы не осознали, что лазейка системы безопасности была использована. Служба поддержки клиентов объяснила, что эта учетная запись действительно отправляла текстовые сообщения, а содержание текстовых сообщений связано с кодом подтверждения, и теперь все еще отправляется, спрашивая, хотите ли вы сначала остановить службу.
Что, это все еще продолжается, так что сначала остановите это, так пусть сначала оператор службы поддержки остановит обслуживание.
В то время я тоже был новичком в интернете, не знал, что реки и озера такие зловещие, коллектив тоже был низовой, и такой проблемы я не ожидал. Когда я успокоился, начал думать и пошел в поисковую систему для поиска сопутствующих вопросов, я нашел концепцию SMS-бомбардировщика.SMS-бомбардировщик любит использовать интерфейс отправки SMS открытой платформы с уязвимостями безопасности, такими как интерфейсы регистрации и входа в систему, и мы Веб-сайт не предпринял меры защиты для отправки кодов подтверждения, что привело к возникновению лазеек и было использовано.В конечном счете, возможность не была на месте в то время.
До сих пор я не знаю, как наш небольшой продукт, который еще не продвигался, был нацелен и использован. Говорят, что может случиться так, что на платформе SMS есть инсайдер, который продает информацию о клиентах сторонней платформе, или она производится и продается самостоятельно.Если SMS скоро израсходуется, вы можете быстро обновить плату.
Также говорят, что платформа SMS-бомбардировки будет взламывать эти обычные SMS-платформы, а затем находить пользователя, а затем использовать его.
Также говорят, что они сканируют всю сеть на наличие таких URL-адресов, как регистрация, вход и т. Д., А затем собирают их, обрабатывают дальше и обнаруживают те, которые можно использовать.
Но я не знаю, что это такое.В любом случае, если вы не защищаете себя, вас должны использовать.
Место происшествия и защитная обработка
На самом деле это лазейка в системе безопасности, но она относительно низкого уровня. То есть после того, как вы введете свой номер мобильного телефона на странице регистрации и нажмете кнопку «Отправить код подтверждения», он будет только судить, является ли номер мобильного телефона законным и был ли он зарегистрирован, в противном случае код подтверждения будет послано напрямую, что называется невежеством и бесстрашием. Это эквивалентно состоянию открытия двери для приема гостей, без разрешений, без ограничения частоты звонков и без проверки токена.
После остановки службы SMS в то время я сразу же проверил фоновый журнал и обнаружил, что много разных IP-адресов постоянно отправляли запросы.Что расстраивало, так это то, что, хотя служба SMS была остановлена, запросы все еще поступали. Кажется, что это полный набор автоматизированных процессов, использующих динамический прокси пула IP для имитации отправки запросов, наш интерфейс SMS является лишь одним из незначительных бесплатных ресурсов.
остановить службу
Было очень поздно, было почти раннее утро, но мозг стимулировался очень бодрствующим. Первое, о чем нужно подумать, это дать сервису нормально работать. Но запросы все еще приходят, поэтому я сначала отключил службу Nginx.Раз вы такой умный, если вы не можете получить доступ к интерфейсу, он остановится? После остановки на 5 минут, как только перезапустил, лог снова заполнился.Оказалось, что дело не в том, что он не умный, а в том, что я умственно отсталый. Ему плевать на вас, это автоматическая запрашивающая машина без эмоций.
Изменить адрес интерфейса
Ладно, признаю, я не могу остановить службу и не могу управлять вашей бесчувственной машиной, поэтому сначала изменю адрес интерфейса. Поэтому я сначала изменил адреса интерфейса для регистрации и входа в систему, таким образом, я всегда могу сначала отделить SMS-сервис и сначала разгрузить сервер. Но я все еще не решаюсь открыть службу SMS, если она снова найдет наш новый интерфейс.
В это время было очень поздно, к счастью, продукт еще не был раскручен, и им никто не пользовался, поэтому я лег спать и стал ждать следующего дня, чтобы заняться им.
Добавить графический код подтверждения
Я пошел в компанию рано утром на следующий день. Первое, что я сделал, это посмотрел, не отпустила ли нас бесчувственная машина. Когда я посмотрел на журнал, мое сердце вдруг похолодело. Я взял выходной, но это не. .
Коллега сказал, стоит ли менять IP?
Брат, запрос на доменное имя, но вы можете изменить доменное имя второго уровня.Раньше в качестве домена серверной службы использовался api.xxxx.com, поэтому некоторые коллеги начали возиться с доменом второго уровня. название.
Я начал добавлять сюда другие правила.Первое, что пришло мне в голову, это добавить верификацию.Перед отправкой проверочного кода я добавил графическую верификацию.На тот момент я нашел метод проверки поведения,предоставленный "Экстремальным тестом". Это следующий метод, который часто видят все: перед отправкой проверочного кода позвольте пользователю завершить проверку поведения, которая в основном может заблокировать робота, и интеграция очень проста.
Однако, посовещавшись о стоимости, меня уговорили уволиться.На тот момент годовая плата была 50 000, а сколько сейчас не знаю.
КапчаНеплохо, главное не тратить деньги, поэтому я нашел открытый код и сделал графический код проверки. В то время, чтобы быть более безопасным и затруднить распознавание машины, в то время была сделана 6-значная комбинация букв и цифр, и были добавлены факторы помех. Факты доказали, что он может защитить не только от машин, но и от людей, многие коллеги говорят, что их часто трудно идентифицировать, когда они проводят тесты. Поэтому он был изменен на 4 бита, и коэффициент помех был уменьшен.
На этом уроке, когда я увидел, как 12306 шаг за шагом повышает сложность проверочного кода, я почувствовал беспомощность и внутреннюю нерешительность 12306.
Ограничить частоту доступа
Добавление графического проверочного кода — это первый шаг, этого недостаточно, в случае его обхода, ведь автоматическая идентификация проверочного кода только увеличивает порог, если кто-то действительно хочет с вами поиздеваться, это вас не остановит.
Ограничьте частоту запросов кода подтверждения для одного номера мобильного телефона: в течение 5 минут разрешено отправлять только три раза, а более 9 раз в течение часа нельзя отправлять в течение 24 часов.
Помимо ограничения частоты номеров мобильных телефонов, также ограничивается частота запросов одного IP, правила те же.
установить черный список
Однако другая сторона использует динамический пул IP-адресов и не может делать непрерывные запросы в течение 5 минут. В результате анализа логов было установлено, что за этот период запросы отправляли в общей сложности сотни IP-адресов, поэтому все запросы с одного IP-адреса более 10 раз за этот период были добавлены в черный список.
И любой одиночный запрос IP более 8 раз за 4 часа будет добавлен в черный список. Конечно, эти правила получены через журналы наблюдений, конечно, окончательной научной основой является "погладить по голове".
После того, как придет запрос, сначала посмотрите, есть ли IP в черном списке, и если да, отклоните его напрямую.
другие методы
Помимо вышеперечисленных мер, существуют и другие способы защиты.
Например, когда пользователь заходит на фронтенд-страницу (страницу входа или регистрации), генерируется или запрашивается токен, а затем токен проверяется при выполнении запроса, в нем можно написать какую-то логику сложного алгоритма. Конечно, это только повышает порог, если процесс освоен, то его все равно будут использовать.
Старый интерфейс доменного имени также сохранился, но мы должны посмотреть, как долго он будет запрашивать.Примерно через 8 или 9 дней запрос исчезнет.
Наконец
Вопросы безопасности также являются важным аспектом развития Интернета, но разработчики часто упускают их из виду. Если хорошенько подумать, если возникнет проблема, когда продукт только продвигается, это действительно сильно навредит пользователям.
Есть несколько стартапов, которые обанкротились из-за определенных нарушений безопасности. Крупные фабрики подвергаются еще большему риску.Многие влиятельные партии шерсти используют лазейки для черпания шерсти.Например,некоторое время назад крупный торговый центр был разгромлен десятками миллионов из-за лазеек для купонов.
Пока это выгодно, существует риск эксплуатации, и к вопросам безопасности нужно относиться с осторожностью.
Не жди сильного мужика, сначала поставь лайк, меня вечно трахают зря, и мое тело этого не выдерживает!
Я коршун, общественный номер "Воздушный змей в древности". Программист-поощритель с глубиной и широтой, пастырский фермер-кодировщик, который планировал писать стихи, но написал код! Вы можете подписаться на меня сейчас или никогда не поздно читать исторические статьи.