on line contact скачать
»Steam халява Steam Игры игры на ПК
LITTLE NIGHTMARES
Бесплатно получить игру Little Nightmares (Steam ключ). Для этого нужно перейти по ссылке на страницу магазина Bandai Namco, зарегистрироваться там и забрать ключ.https://store.bandainamcoent.eu/eu/product/437895/little-nightmares-pc-download
P.S. Для тех, кто не знаком с этой игрой - советую. Очень атмосферный и интересный платформер
взлом информационная безопасность sql длиннопост geektimes habrahabr текст много букв СНИЛС дыра story PostgreSQL obrnadzor инн рособрнадзор
"https://habrahabr.ru/post/347760/"
Одиноким вечером, глядя на свою пустую зачётку и осознавая, что конец близок, я снова задумался о том, как бы мне сейчас собрать сумку, или даже просто рюкзак, положить туда рубашку, шорты и свалить в тёплую страну. Было бы хорошо, да вот с дипломом живётся намного лучше. Во всяком случае, мне всегда так говорят.
Также часто слышал много историй про людей, которые приходили на собеседования с красными дипломами МГУ, но при этом абсолютно не разбирались в своей специальности, а потом на корпоративах признавались, что диплом у них купленный.
Но времена сейчас другие, сейчас 21 век, век больших возможностей, любой работодатель, который умеет пользоваться мышкой и знает, как выглядит браузер на рабочем столе, может проверить данные диплома. Каждый диплом, который выдаётся учебным заведением, теперь регистрируется в едином реестре, доступ к которому есть у каждого через сайт Федеральной службы по надзору в сфере образования и науки.
Для получение информации о документе об образовании достаточно просто заполнить форму, передвинуть слайдер и нажать кнопку. Вам либо покажут информацию о документе, либо скажут, что такого нет (но ещё рано обвинять соискателя в обмане, мало ли, что могло произойти).
Ну и пока я смотрел на эту форму, решил я с ней поиграться. Повводил всякой чепухи, и бац — на поле, в которое было введено 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
Отлично, мы знаем систему, версию БД (под неё вроде даже эксплоиты были). Поле для действия расширилось. Узнаём, как выглядит запрос:
Инъекция
Ответ:
"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"
Вся картина перед нами.
Попробуем узнать, что же за таблицы есть во всей базе данных:
Инъекция
Таким образом получили все таблицы. Узнаём столбцы каждой таблицы следующим образом:
Инъекция
Итак, зная структуру базы данных, я написал скрипт на Питон и выкачал все самые интересные на мой взгляд данные. А именно:
Таблицу с дипломами об образовании (серия, номер, год поступления, год окончания, СНИЛС!, ИНН!!, серия и номер паспорта (честно говоря, у всех записей поля пустые, но сам факт!), дата рождения, национальность (зачем?), учебная организация, выдавшая документ), таблицу с гражданами с образованием (там всё проще: ФИО и всё), таблицу с пользователями системы (стандартно, логин, email, и, НЕОЖИДАНО, md5 хэш пароля, хоть не сам пароль), отдельная таблица admin с одной записью (так же: логин, хэш пароля и прочее), таблица с информацией об учебных заведениях (кто начальник, email, телефон, лицензия — в общем всё, что и так есть в открытом доступе) и ещё кучу вспомогательных таблиц.
По объёмам получилось: около 14 000 000 документов об образовании, около 14 000 000 записей с данными о бывших студентах, 1322 пользователя системы, 1 админ, который логинится по будням в системе, видимо, когда на работу приходит, 3391 учебное заведение и горы непонятной информации типа ОКОГУ и прочее. База весом 5 гб.
А теперь представьте, сколько времени это качалось. Вы думаете, кто-то заметил? Может быть сервис резко отключился, ip заблокировали или ещё что-то? НЕТ!
Конечно, целью не является использовать эту информацию в корыстных целях (да я и не представляю, как). Иначе бы я не писал статью здесь. Но и писать лично администрации сайта или кто там за него отвечает я тоже не горю желанием, хватило истории про Микротех.
Дополнительно решил проверить хэши по радужным таблицам. Не уверен, конечно, что они хэшировались именно голым md5, но, во всяком случае, в открытых базах данных совпадений ни к одному хэшу не нашлось. Или я что-то не умею.
Мог бы я продолжить и получить доступ в систему? Смог бы я сам изменять записи и добавлять свои? Вполне возможно, но я решил этого не делать. Да и сессию надо закрывать, без диплома-то никак…
#Metal #Terror Night Industrial Metal
Прослушать или скачать Industrial Discipline бесплатно на Простоплеер
Прослушать или скачать Ministry Psalm 69 бесплатно на Простоплеер
Прослушать или скачать KMFDM WWIII бесплатно на Простоплеер
Прослушать или скачать Fukken Uber Death Party бесплатно на Простоплеер
Прослушать или скачать The Kovenant Mirrors Paradise бесплатно на Простоплеер
joyreactor парсер реактор скачать JoySave
JoySave v33
Привет! Новая версия скачивалки. Минимум изменений.
Всё как обычно. Скачайте, распакуйте, запускайте. Не запускайте прямо из архива!
Изменения по сравнению с прошлой: Куки теперь задаются не как значение joyreactor_sses3, а полностью, ибо сейчас параметр стал называться joyreactor_sses4. Может он и раньше у кого-то так назывался и у кого-то не работало. Т.е теперь в поле Куки надо писать joyreactor_sses4=blablabla...
Версия для МакОси тотально сломана, пока не готова. Какая-то проблема у Маков с libcrypto.dylib. Может на праздниках разберусь. Похоже, оно и раньше работало только на моём компе и больше ни у кого.
Может на праздниках найду немного времени, потому опрос: что еще доработать в скачивалке?
Проще интерфейс | |
|
75 (45.2%) |
Управление с командной строки | |
|
18 (10.8%) |
Скрипты (напишите в комменты зачем) | |
|
8 (4.8%) |
Стабильность (зависает, падает) | |
|
26 (15.7%) |
Логи и статистика | |
|
16 (9.6%) |
Другое (в комментах) | |
|
23 (13.9%) |
geek песочница
Звук получился не ахти какой. Но, думаю, сойдет и так. Вот вам необработанный пример звука:
Прослушать или скачать Наверное, я. Пример звучания. бесплатно на Простоплеер
Как-то так.
Заранее скажу: Все детали "гитары" были сделаны мной самим.
-Корпус: непонятное подгнившее дерево.
-Звукосниматель: мебельный болт+медная проволока(магниты взяты из винчестера).
-Прочая хрень: была собрана из того, что попалось под руку.
-Исключения: струна от акустики и колок оттуда-же.
Такое чувство, будто гитарофаги заранее приготовили свои ссаные тряпки, чтоб избить меня ими. Думаю, не стоит рассматривать мой девайс, как полноценный музыкальный инструмент.
Когда я проверял звукосниматель у друга дома на аппаратуре, то звук был намного лучше. Кажется тут еще и кабель подосрал.
Нормального фотоаппарата не было, пришлось снимать на камеру телефона.
joyreactor парсер реактор скачать JoySave
JoySave v32
Привет! Новая версия скачивалки. Минимум изменений.
Всё как обычно. Скачайте, распакуйте, запускайте. Не запускайте прямо из архива!Изменения по сравнению с прошлой: добавил галочку в настройках "Качать WebM/MP4 если нет GIF". Так как на реакторе набирают популярность видюшки без GIF, то это добавляет контроля. Так же добавил версию для MacOS (еще более глючную и корявую).
Проект на GitHub. Хотелки и замечания пишите, хотя вряд ли что-то сделаю - времени нету :-)
joyreactor парсер реактор скачать JoySave
JoySave v31
Привет! Новая версия скачивалки. Ничего нового, пару багов поправил.
Для Windows качайте JoySave_v31.zip, для Linux x64 качайте JoySave_v31.tar.gz.
Всё как обычно. Скачайте, распакуйте, запускайте. Не запускайте прямо из архива!
Изменения по сравнению с прошлой: починил нумерацию строк в главной таблице и работу строк больше 49-й. Это всё.
Проект на GitHub, но исходники есть и в самой проге (запустите с параметром sources).
Времени сейчас совсем нет. Но всё равно пишите замечания и пожелания.
joyreactor парсер реактор скачать JoySave
JoySave v30
Привет! Сделал новую версию скачивалки.
Для Windows качайте JoySave_v30.zip, для Linux x64 качайте JoySave_v30.tar.gz.
Скачайте, распакуйте, запускайте. Не запускайте прямо из архива!
Изменения по сравнению с прошлой:
Теперь можно добавлять теги-исключения. Очень помогает для сортировки по папкам. Не забывайте, что бывают теги-синонимы! Например, "art девушка" и "арт барышня". Перечислить в исключения надо все, так как синонимы для исключения не ищутся!Существующие файлы ищутся не только в текущей подпапки, но и паре соседних.
В txt-файл пишутся не только теги, но и рейтинг, автор поста, дата создания поста, а так же флаги nsfw и unsafe.
Проект на GitHub, но исходники есть и в самой проге (запустите с параметром sources).
Пишите замечания, ругательства, пожелания.
joyreactor парсер реактор скачать JoySave
JoySave v29
Привет! Сделал новую версию скачивалки.
Для Windows качайте JoySave_v29.zip, для Linux x64 качайте JoySave_v29.tar.gz.
Скачайте, распакуйте, запускайте. Не запускайте прямо из архива!Изменения по сравнению с прошлой:
Исправил ошибку при которой на многих адресах не воспринималось дополнение /all, /best и т.п.
Работает теперь через API реактора. А значит будет качать даже те картинки, которые заблокированы. И быстрее работает.
Теперь можно вместо ссылки в адрес написать тег. Так можно качать даже заблокированные теги!
В альт. имени файла номер поста теперь будет на 1 цифру длиннее, так как запасу было мало.
По иконке в трее можно прятать окно.
Проект на GitHub, но исходники есть и в самой проге (запустите с параметром sources).
Пишите замечания, ругательства, пожелания.
Отличный комментарий!