Результаты поиска по запросу

Дополнительные фильтры
Теги:
новый тег
Автор поста
Рейтинг поста:
-∞050100200300400+
Найдено: 572
Сортировка:

Пьяный мастер

"И так сойдёт… или как данные 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, но, во всяком случае, в открытых базах данных совпадений ни к одному хэшу не нашлось. Или я что-то не умею.

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

В Индии Telegram по решению местного суда раскрыл имена администраторов каналов, их номера телефонов и IP-адреса в рамках дела о нарушении авторских прав.
Местный учитель Ниту Сингх обратилась в суд из-за несанкционированного распространения материалов её курса на платформе. Она заявила, что ряд каналов в Telegram перепродают её учебные материалы без разрешения по сниженным ценам.
Представители Telegram заявили, что раскрытие информации о пользователях нарушит политику конфиденциальности и законы Сингапура, где размещены физические серверы для хранения данных пользователей. Однако индийский суд постановил, что обладатели авторских прав не могут оставаться «полностью беззащитными перед фактическими нарушителями».
Вскоре судья Пратиба Сингх заявил, что Telegram выполнил постановление и поделился данными. Копию данных передали адвокату истца с указанием, что сторона не должна раскрывать эту информацию третьим лицам, если это не касается разбирательства. 
Представитель Telegram Реми Вон заявил TechCrunch, что мессенджер «хранит очень ограниченные данные о своих пользователях или вообще не хранит их». «В большинстве случаев мы даже не можем получить доступ к каким-либо пользовательским данным без определённых точек входа. Следовательно, мы не можем подтвердить, что в этом случае были переданы какие-либо личные данные», — отметил он.
Индия — один из крупнейших рынков для Telegram, а всего у мессенджера насчитывается почти 150 млн пользователей в Южной Азии.
Местный суд ранее обязал Telegram соблюдать законы Индии и раскрывать подробности о тех, кто управляет каналами.
Между тем российская компания «Интернет-поиск» заявляла, что она совместно с компанией T.Hunter разработала сервис, который позволяет находить пользователя Telegram по его IP-адресу благодаря логам с сайтов.

Отличный комментарий!

,телеграм,Павел Дуров,Общественные деятели,Знаменитости,копирасты,новости,политика,политические новости, шутки и мемы
Так давно известно. Думаешь чего его перестали запрещать в РФ.
жмакаем на слова и кажем что получилось

RFDS: скорая помощь Австралии с SLA в 1 час до любой точки континента



Представьте для начала, что вы живёте в раю на краю земли, и вокруг на 500 километров нет людей. Это прекрасно во всех ситуациях кроме той, когда вас укусила змея, и жить вам осталось 2 часа, если двигаться. Или примерно 20-25 часов, если лежать в тени и пускать пену и слюни в траву.

Можно же носить с собой вакцину, правда? Да. Вместе с холодильником. Это увеличивает ваши шансы выжить при укусе змеи до 20%. Дело в том, что вакцин пять штук. И введение не той гарантированно убьёт вас за 15 минут. Нужно либо держать в руках ту змею, что вас укусила и внимательно её рассматривать, читая инструкцию (а большинство укусов ощущается как укол травой, и иногда жертвы даже не знают, что это было, пока не начнёт кружиться голова) — ну либо иметь под рукой полевую лабораторию для экспресс-анализов. И ещё если вы вдруг на двадцатом году жизни узнаете о выборочном дальтонизме, радоваться будете недолго. И это только змеи, потому что есть ещё куча обычных бытовых вещей от прихватившего аппендицита до проблем с сердцем.

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

Стартовые условия
Очень сокращённая история колонизации выглядит так: сначала континент предполагали, даже отправляли экспедиции на поиски, но мимо него несколько раз эпически промахивались. В итоге его нашёл капитан Кук (которого десятилетия спустя съели на Гавайях). Причём нашёл по очень интересной причине — тогда Венера проходила через диск Солнца, плюс появились точные хронометры. Это позволяло очень хорошо уточнить координатную сетку.

Через полвека Англия поняла, что хранить преступников на баржах посреди Темзы — идея так себе, и отправила флот заключенных и конвоиров основывать Сидней. Первые пару лет новое население познавало радости жизни — нифига из посевных не растёт, много змей, крокодилы, пауки — ну, в общем, вот это всё, что обычно рассказывают про Австралию. Через почти два года взошла свёкла, и тут понеслось. Быстро установилась правильная форма земледелия — мясное животноводство. Берёте участок территории примерно 100 на 200 километров, огораживаете его забором, убеждаетесь, что в сухой сезон все крокодилы ушли, — и загоняете туда бычков. Их не едят собаки динго (а вот овец едят), им плевать на змей и пауков, им не нужно стойло. Летом в Австралии, скажем, плюс 25, зимой — плюс 24. Дальше вы время от времени обновляете забор, чтобы скотина не разбежалась и крокодилы не пролезли, а через два года собираете бычков и забиваете их на мясо. Проблем было много, но самая очевидная — это то, что для такого животноводства нужно иметь огромные фермы. Чтобы вы понимали, большая ферма может быть 250 на 400 километров. Это почти Швейцария, на секундочку. А это значит, что уже где-то третий слой ферм от города — это возможность встретить другого человека раз в год-два.

Поэтому в качестве аптечки с собой стоило носить револьвер с патроном. Чтобы не мучиться, если что.

Радио
Доктор Джон Флинн очень много думал, как же сделать так, чтобы вместо «добейте его там» можно было вызвать врача. Как раз в этот момент в Первую мировую активно развивалась радиосвязь. Напомню ситуацию — подвода электричества нет, на производствах используются паровые машины, есть телеграф. На телеграфе строить было бы очень дорого, но рации решили все беды. Доктор с инженерами смог придумать и подобрать модель рации с динамомашиной — нечто среднее между пультом связиста и велосипедом. Вы крутите педали — и за это у вас есть работающая рация.



Подали прошение в правительство, и правительство профинансировало массовое производство одной модели с «велосипедом» и микрофоном, самой дешёвой, но безотказной. Через 10 лет фермеры имели возможность поговорить вечером о делах. Раньше они ложились спать, как стемнеет, либо что-то делали при свете керосиновой лампы. А теперь же садились на велосипед и слушали мир на много сотен километров вокруг. Тогда медицинские консультации давались по радио, и это уже стало в какой-то степени прорывом. Кстати, тогда же началось дистанционное образование в школах (до сих пор даже работает радиошкола Алис Спрингс для аборигенов, только теперь по 4G).

Самолёты
Чуть позже два лётчика решили, что копать землю как-то глупо, и появилось то, что станет современной авиакомпанией Квонтас (как Аэрофлот у нас). Сначала они просто возили людей быстрее дилижанса. Слоган был «За полчаса домой по цене дилижанса». Багаж лошадьми, а человека — на самолёте.

К ним и пришёл доктор Джон Флинн. И спросил, можно ли возить больных. И они начали потихоньку перетаскивать людей в больницы. Чуть позже начали делать специальную люльку на крыло для тех, кто не может сесть в узкую кабину за пилотом. Снова всё посчитали и пошли в правительство. Правительство кивнуло, закупило самолётов. Так появился авиационный флот, который занимался только медициной.



Это было начало RFDS. Сегодня у летающего доктора 10 аэродромов и 68 самолётов в постоянном флоте. В самом центре Австралии в Алис Спрингс (100 километров севернее геометрического центра континента) есть госпиталь для RFDS, туда всех и привозят. Ещё один госпиталь на побережье — туда везут тех, кто под пересадку органа или сложную операцию.

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


Источник. Первыми самолётами были de Havilland DH.50 (одномоторные бипланы, 180 километров в час). Более современные модели для серьёзных дел — например, Pilatus PC-12.

Каждая крупная ферма Австралии обязана иметь взлётно-посадочную полосу для лёгких самолётов RFDS, и эта полоса должна поддерживаться в отличном состоянии. Иногда фермеры с вертолётами забирают пациента до дороги, на которую садится самолёт RFDS — в этой ситуации доктор по УКВ-радио сообщает всем внизу, что ему нужна дорога. Одна машина перекрывает дорогу в начале импровизированной взлётно-посадочной полосы, вторая — в конце. Самолёт приземляется, забирает пациента и уходит в госпиталь за 1000-2000 километров.




Центральный офис в Алис и старая эмблема


Госпиталь в Алис

В самом самолёте оборудована полевая операционная. После нескольких лет практики в RFDS любой врач становится желанным гостем в любом городе. Представьте: поскольку у вас нет госпиталя за спиной, помощи ждать неоткуда. Скорая помощь в городах стабилизирует и везёт в операционную. Летающий доктор может так не всегда — ему надо действовать самому на месте. Набирается дичайший опыт и умение принимать решения. В последние годы на самолётах устанавливают средства спутниковой связи, и у службы есть контакты всех ведущих специалистов Австралии. Профессору сиднейского университета, ведущему токсикологию, могут позвонить во время лекции — он может вывести звонок прямо на доску и проконсультировать летающего доктора по видео. А потом продолжить учить обалдевших от романтики ничейных земель студентов.


В центральном офисе заботливо отгородили и запечатали первую диспетчерскую. Получился мини-музей.

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


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

В Австралии в пустошах Северных территорий нет традиции чаевых. Но банки стоят на каждой заправке, в каждом баре и в каждом кафе у кассы. Это не чаевые, это RFDS. Кстати, если вы спросите, что это за буквы, австралиец никогда не ответит иностранцу прямо. Скажет — положи два бакса, я расскажу. И потом рассказывает.

Государство даёт не очень большой бюджет на RFDS, но они собирают деньги и присылают подробный отчёт всем пожертвовавшим. Со многих фестивалей часть со входных билетов идёт на RFDS. Очень многие компании что-то дают летающему доктору — например, знаменитая R.M. Williams их полностью обшивает.


Они и в фольклор прочно вошли

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

Как-то лечил компы городского спорткомитета от чудесного вируса: он перехватывал отправляемые на печать документы, после каждой запятой встраивал конструкцию" бля," и уже в таком виде передавал текст драйверу принтера. До того, как меня туда позвали, они две недели носили в мэрию документы в таком
Здесь мы собираем самые интересные картинки, арты, комиксы, мемасики по теме (+572 постов - )