Search
Write a publication
Pull to refresh
0
0
Vadim Toptunov @g0rd1as

Пользователь

Send message

Google's Shell Style Guide (на русском)

Reading time14 min
Views24K

Предисловие


Какой Shell использовать


Bash единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.


Скрипты должны начинаться с #!/bin/bash с минимальным набором флагов. Используйте set для установки shell опций, что бы вызов вашего скрипта как bash <script_name> не нарушил его функциональности.


Ограничение всех shell скриптов до bash, дает нам согласованный shell язык, который установлен на всех наших машинах.


Единственное исключение составляет если вы ограничены условиями того под что вы программируете. Одним из примеров могут стать пакеты Solaris SVR4, для которых требуется использование обычного Bourne shell для любых скриптов.


Когда использовать Shell


Shell следует использовать только для небольших утилит или простых скрптов-оберток.


Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.

Читать дальше →

Как безопасно программировать в bash

Reading time11 min
Views45K

Почему bash?


В bash есть массивы и безопасный режим. При правильном использовании bash почти соответствует практикам безопасного кодирования.

В fish сложнее допустить ошибку, но там нет безопасного режима. Поэтому хорошей идеей станет прототипирование в fish, а затем трансляция с fish на bash, если вы умеете правильно это делать.

Предисловие


Данное руководство сопровождает ShellHarden, но автор также рекомендует ShellCheck, чтобы правила ShellHarden не расходились с ShellCheck.

Bash — не тот язык, где самый правильный способ решить проблему одновременно является самым простым. Если принимать экзамен по безопасному программированию в bash, то первое правило BashPitfalls звучало бы так: всегда используй кавычки.

Главное, что нужно знать о программировании в bash


Маниакально ставить кавычки! Незакавыченная переменная должна расцениваться как взведённая бомба: она взрывается при контакте с пробелом. Да, «взрывается» в смысле разделения строки на массив. В частности, расширения переменных вроде $var и подстановки команд вроде $(cmd) подвергаются расщеплению слов, когда внутренняя строка расширяется в массив из-за расщепления в специальной переменной $IFS с пробелом по умолчанию. Это обычно незаметно, потому что чаще всего результатом становится массив из 1 элемента, неотличимый от ожидаемой строки.
Читать дальше →

Веста Матвеева: борьба с киберпреступностью – это моральный выбор

Reading time11 min
Views8.3K
Знакомьтесь: Веста Матвеева – эксперт в области информационной безопасности Group-IB.

Специализация: расследование киберпреступлений.

Чем известна: Веста регулярно участвует не только в расследованиях, но и в задержаниях, допросах и обысках участников хакерских групп. За 6 лет провела десятки экспертиз — технических разборов инцидентов в роли криминалиста, после чего перешла в отдел расследований Group-IB, успешно раскрыла несколько дел и продолжает работать в этом направлении.
Читать дальше →

ТОП 8 книг, которые стоит прочитать этим летом

Reading time5 min
Views28K


Добрый день, уважаемые хабровчане!

Поздравляем вас с первым днем лета! Лето – это время отдыха, но важно провести его еще и с пользой. Сегодня мы хотим отойти немного от нашей стандартной темы анализа данных в Splunk и представить вам на обозрение список книг, которые, по нашему мнению, стоит прочитать этим летом, если вы хотите быть на волне последних тенденций и трендов, быть в курсе интересных публикаций по развитию информационных технологий, IoT, анализу данных, информационной безопасности и т.п. или же хотите усовершенствовать свои навыки.
Читать дальше →

Что посмотреть в выходные: 5 фильмов про хакеров

Reading time3 min
Views20K


Создатели фильмов часто допускают ляпы и неточности в вопросах, связанных с технологиями (что приводит, в том числе к появлению постов вида «Почему хакинг в голливудских фильмах ужасен»). Но несмотря на это в мире есть и фильмы о хакерах, которые хочется пересматривать вновь и вновь. Ниже — наша подборка самых интересных историй в этом жанре.
Читать дальше →

Профессия: кибердетектив

Reading time9 min
Views21K
Веста Матвеева — эксперт в области информационной безопасности компании Group-IB, признанной изданием Business Insider UK одной из 7 самых влиятельных мировых организаций в индустрии кибербезопасности. За 6 лет она провела десятки экспертиз — технических разборов инцидентов в роли криминалиста, после чего перешла в отдел расследования и раскрыла несколько дел.

Веста приехала в Университет Иннополис по приглашению преподавателей и студентов программы магистратуры Разработка безопасных систем и сетей в рамках курса CyberCrime and Forensics. Гостья прочла лекцию о том, как глобализируется киберпреступность, какие тактики и инструменты используются для атак на финансовые и промышленные организации и какими методами пользуются киберкриминалисты для борьбы с хакерами.

image
Читать дальше →

Как я нашёл баг в системе Avios Travel и получил тысячи валидных баллов для авиамиль

Reading time4 min
Views6.9K


Если вы похожи на меня, то наверняка размышляли над идеей путешествовать по миру первым классом на халяву, смотрели YouTube и знаете о таких людях.

Это история о том, как я нашел ошибку в программе вознаграждений Avios Travel, который позволяет исполнить эту мечту*.
Читать дальше →

Рассказ о том, как я, с помощью Google, нашёл пароли на десятках публичных досок Trello

Reading time4 min
Views18K
Кушагра Патак занимается информационной безопасностью. 25 апреля он обнаружил, что множество частных лиц и компаний выкладывают секретную информацию на публичные доски Trello. В частности, речь идёт о сведениях, касающихся неисправленных ошибок и уязвимостей в программах, об учётных данных аккаунтов в социальных сетях и в почтовых службах, об именах и паролях для доступа к серверам и панелям управления администраторов. Все эти, а также другие подобные сведения, находились на общедоступных досках Trello, которые индексируют все поисковые системы, что позволяет кому угодно эти сведения найти. В материале, перевод которого мы сегодня публикуем, речь пойдёт о том, как была сделана эта находка.

image
Читать дальше →

Слабости HTTPS. Часть 1

Reading time3 min
Views20K
Иногда технически неподготовленные люди продавая IT услугу либо продукт, на вопрос «а как насчёт надёжности вашей системы?» отвечают: «У нас всё защищено по https». Если с другой стороны такой же технически неподготовленный человек, то вопрос автоматически закрывается, и все остались довольны уровнем безопасности. Сам неоднократно был свидетелем подобного разговора. Было смешно.

HTTPS активно продвигается Интернет сообществом и основная идея перевести весь Интернет к определённому году на шифрованный трафик, благо современные машины это позволяют. HTTPS — это всегда хорошо. Но нужно знать и подводные камни связанные с ним.
Задача данной статьи — показать возможность слушать HTTPS трафик пользователя (назовём его Степан), и чтобы он этого не заметил.

Мы не будет брать последние исследования и эксплоиты в области взлома HTTPS. Пойдём лучше к основам и рассмотрим давно известные и простые способы.

HTTPS — это HTTP + SSL. Http — это открытый протокол передачи данных, открытый означает, что данные передаются в открытом виде. SSL — это протокол, обеспечивающий безопасное соединение посредством шифрования. То есть, наша задача состоит именно в том, чтобы перехватить чистый трафик нашего Степана и вывести его на чистую воду, какие же ХХХ сайты он смотрит по вечерам. Но мы ведь не как наш Степан и не смотрим XXX, поэтому для примера возьмём поисковик bing, который пока ещё может работать как по https, так и по http.

Ниже на картинке пример как выглядит перехваченный трафик при помощи WireShark на один и тот же запрос в bing для HTTP и для HTTPS.
Читать дальше →

Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 2

Reading time12 min
Views11K

Представляем вашему вниманию вторую часть статьи о реверс-инжиниринге прошивки устройства «Мигающий носорог» по мотивам мастер-класса на конференции SMARTRHINO-2018.

В первой части статьи прошивка устройства была загружена в дизассемблер IDA и выполнен первичный анализ команд протокола устройства. Отдельные команды были проверены на работающем устройстве.

Во второй части будет выполнен анализ оставшихся тасков прошивки.

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

Файл прошивки доступен для самостоятельного изучения.

Вся информация приводится исключительно в образовательных целях.

Под катом много мигающего носорога.
Читать дальше →

Где больше платят программистам. Сравниваем 22 страны

Reading time3 min
Views140K
Пару месяцев назад я постила сводную таблицу-сравнение под названием «Лучшая страна для программиста». В ней было 9 стран. Статья была горячо воспринята и в силу некоторых ошибок в ней, и в силу желания читателей получить сходные данные по другим странам. Я обещала доделать таблицу. Сказано – сделано.

В этой статье 22 страны сравниваются по следующим параметрам:

1. Зарплаты программистов
2. Налоги
3. Стоимость жизни (аренда жилья, коммунальные услуги, продукты, транспортные расходы)
4. Развитость рынка IT
5. Социальное обеспечение
Читать дальше →

Вознаграждаем за уязвимости четвёртый год подряд

Reading time8 min
Views11K

Специалисты в IT-безопасности, которые умеют находить уязвимости и эксплуатировать их, всегда стоят перед выбором — что, в итоге, с этими знаниями и умениями делать? И надо признать, что довольно большое количество таких специалистов выбирает путь ответственного раскрытия информации о найденных проблемах и уязвимостях. Именно с такими людьми компании должны уметь и хотеть взаимодействовать. Речь идет о Bug Bounty — объявляемых компаниями программах поиска уязвимостей в их продуктах и сервисах за денежное вознаграждение.
Читать дальше →

Автоматическая визуализация python-кода. Часть третья: новые возможности графического представления кода

Reading time8 min
Views14K
Ссылки на предыдущие части:

  • Часть первая — обсуждены блок-схемы, имеющиеся инструменты для работы с блок-схемами, а также все графические примитивы, необходимые для создания графического представления кода.
  • Часть вторая — обсуждены реализация ( выполнена, в основном, на Питоне) генерации графического представления кода, реализованная и планируемая функциональность, предлагаемый микро язык разметки.

Пример среды, поддерживающей такое графическое представление показан на картинке ниже.

image

Среда, поддерживающая графическое представление кода

В третьей части статьи речь пойдет о новых возможностях графического представления кода.
Читать дальше →

Humansnotinvited: разгадываем капчу на bash

Reading time5 min
Views29K
Приветствую, дорогой читатель!

Многие из Вас встречались с капчей — автоматическим тестом Тьюринга. Она позволяет отделить реальных людей от различных ботов. В последнее время очень популярной стала reCAPTCHA от Google Inc. На ней Вы должны выбрать изображения, содержащие некие объекты, к примеру, автомобили. Относительно недавно появился сайт, который делает ровно наоборот: отделяет ботов от людей.
Читать дальше →

Мега-Учебник Flask, Часть XXIII: Интерфейсы прикладного программирования (API)

Reading time34 min
Views47K

(издание 2018)


Miguel Grinberg




Туда Сюда


Это двадцать третья часть Мега-Учебника, в которой я расскажу вам, как расширить микроблог с помощью интерфейса прикладного программирования (или API), который клиенты могут использовать для работы с приложением более прямым способом, чем традиционный рабочий процесс веб-браузера.

Читать дальше →

Знакомимся с хакерспейсом Нижнего Новгорода — CADR. Часть 1

Reading time6 min
Views8K


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

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

Как пришла идея создать хакспейс, и как это происходило?

Рождение идеи


Меня на идею создания хакерспейса натолкнула, можно сказать, сама жизнь — были сложности в семье, на которые не мог при всех стараниях повлиять и, поскольку являюсь в определённой мере творческим человеком, ощущал «острую творческую недостаточность» на фоне постоянного стресса. Не знаю, бывало ли у вас такое чувство, когда вам хочется куда-то бежать, но некуда? Хотелось найти место, где можно было бы просто заниматься техническим творчеством, плюс найти сообщество «гиков», где бы не смотрели на человека, программирующего ради удовольствия, как на «белую ворону». Поскольку такого места найти не удалось, то решил попробовать создать его сам.

Цель была поставлена следующая: создать некоммерческое место для технического творчества со своей «гиковской» атмосферой, набором инструментов, управляемое сообществом, участие в котором будет либо бесплатно, либо за минимальную оплату.
Читать дальше →

CTF от Минобрнауки: разбор задач олимпиады по ИБ

Reading time7 min
Views22K
Каждый год МИФИ проводит студенческую олимпиаду по ИБ. Это очень необычное мероприятие, сильно отличающееся от привычных task-based CTF. Забавно, что олимпиада носит официальный статус и даже признана Минобром, но о ней мало кто знает. При этом ее победители и призеры имеют возможность поступить в МИФИ без экзаменов.

Если вы горите желанием размять мозги и протестить ваши знания в области инфобеза, читайте наш разбор пяти более интересных задач практического тура олимпиады.
Читать дальше →

Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 1

Reading time16 min
Views49K

26 апреля 2018 года компания ИНФОРИОН провела конференцию для студентов МГТУ им. Баумана SMARTRHINO-2018. Специально для конференции было подготовлено небольшое устройство на базе микроконтроллера STM32F042.

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

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

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

Осторожно, под катом мигающий носорог и его прошивка!
Читать дальше →

Сказ о том, как я в Финляндию переехала

Reading time7 min
Views81K
Всего год назад я сидела на Хабре и читала подобного рода статьи для того, чтобы поддержать свой боевой дух, когда решила покинуть родной Казахстан и найти работу в Европе. Но, к моему сожалению, все статьи начинались примерно одинаково: “Меня зовут username и я программирую с 8 лет”. Я вам поведаю совсем другую историю.


Читать дальше →

Самая сложная программа

Reading time5 min
Views130K
От переводчика: я нашел на Quora вопрос: Какую программу или код можно назвать самыми сложными из когда-либо написанных? Ответ одного из учасников был настолько хорош, что вполне тянет на статью.

Пристегни ремни.

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

Это программа – компьютерный червь. Червь был написан, судя по всему, между 2005 и 2010 годами. Поскольку этот червь является таким сложным, я могу дать лишь общее описание того, что он делает.
Читать дальше →

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity