Search
Write a publication
Pull to refresh
16
0
Андрей @Defari

User

Send message

Как я проник на сервер PayPal через баг в загрузке файлов и получил доступ к удаленному выполнению кода

Reading time4 min
Views25K
Пентестер (тестировщик на проникновение) рассказывает, как ему удалось найти баг в загрузке файлов и проникнуть на сервер платежной системы PayPal.

image

Привет всем!

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

На самом деле это был довольно простенький взлом, направленный на проверку уязвимости (так называемый POC). Единственный момент, с которым мне повезло — поиск и успешное определение уязвимого домена.
Читать дальше →

GraphQL запросы. От простого к более сложному

Reading time3 min
Views67K

image


Привет, Мир! Много было сказано о сути GraphQL, но гораздо меньше о самих запросах. От простого к более сложному, я раскрою тему. Заинтересованным, — добро пожаловать под кат.

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

Стек, который позволил Medium обеспечить чтение на 2.6 тысячелетия

Reading time10 min
Views23K

Предлагаю общественности мой перевод статьи Dan Pupius'а об архитектура сервиса Medium и используемых технологиях. Хочу особо отметить, что статья является переводом, поэтому местоимение "я", используемое в тексте далее относится к автору оригинального текста, а не к переводчику.


Фон


Medium это сеть. Это место, где обмениваются историями и идеями, которые важны — место, где вы развиваетесь, и где люди провели 1.4 миллиарда минут — 2.6 тысячелетия.


У нас более 25 миллионов уникальных читателей в месяц, и каждую неделю публикуются десятки тысяч постов. Но мы хотим, чтобы на Medium мерилом успеха было не количество просмотров, а точки зрения. Чтобы значение имело качество идеи, а не квалификация автора. Чтобы Medium был местом, где обсуждения развивают идеи, а слова по-прежнему важны.


Я руковожу инженерной командой. Раньше я работал инженером в Google, где я работал над Google+ и Gmail, а также был одним из со-основателей проекта Closure. В прошлой жизни я гонял на сноуборде, прыгал из самолёта и жил в джунглях.

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

Обзор систем мониторинга серверов. Заменяем munin на…

Reading time9 min
Views188K
Очень долго хотел написать статью, но не хватало времени. Нигде (в том числе на Хабре) не нашёл такой простой альтернативы munin, как описанная в этой статье.


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

Создайте свои собственные “Нейронные Картины” с помощью Глубокого Обучения

Reading time3 min
Views21K


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

Сегодня я собираюсь познакомить вас с тем как это делается. Прежде всего, убедитесь, что у вас обновленная копия Ubuntu (14.04 — та, что использовал я). Вам необходимо иметь несколько гигов свободного пространства на жестком диске и в оперативной памяти, хотя бы не менее 6 GB (больше оперативки для больших выводимых разрешений). Для запуска Ubuntu как виртуальной машины, вы можете использовать Vagrant вместе с VirtualBox.
Читать дальше →

Получил 1.2K звезд на GitHub с ужасной архитектурой. Как?

Reading time7 min
Views79K
Хочу поделится довольно обычной, но показательной историей. Идея проекта появилась 3 месяца назад, за 1 месяц была реализована и вот уже два месяца как проект переодически висит в топе GitHub, попал в какие только можно профильные новостные ресурсы, и даже забрался в дайджест в статье “Топ 5 библиотек апреля”.
Читать дальше →

Я заглянул в приложение Prisma, и вы не поверите, что я там нашёл

Reading time12 min
Views87K
2016 год ещё не кончился, но продолжает радовать нас крутыми продуктами по обработке изображений. Сначала все болели FaceSwap, потом появился MSQRD, теперь у нас есть Prisma. Ещё больше радости/гордости, конечно, от того, что последние 2 продукта — наши, родные. MSQRD делают ребята из Беларуси, Prisma же вообще родом из Москвы. Логично, что у любого популярного продукта сразу начинают плодитьяся конкуренты. Призме в этом плане повезло больше всех — благодаря стечению некоторых обстоятельств, основным конкурентом призме стали Mail.ru Group, которые почти сразу выпустил аж 2 похожих продукта со схожими функциями: Vinci (от команды vk.com) и Artisto (от команды my.com).



А лично мне стало интересно посмотреть на эти «клоны» изнутри. Зачем мне всё это и к каким выводам я пришёл — об это я рассказал на roem.ru, повторяться не вижу смысла. На Хабре же я бы хотел поделиться техникой детального анализа приложений для iOS на примере Prisma.

Что нам предстоит? Во-первых, мы узнаем, что есть приложение для iOS и из чего оно состоит, какую информацию можно оттуда извлечь. Во-вторых, я расскажу как снифать траффик client-server приложений, даже если их авторы этого очень сильно не хотят. По факту я не расскажу вам ничего нового, я не придумал никакого ноу-хау, это просто вектор известных техник и умений на приложения. Но будет интересно. Погнали.
Читать дальше →

Архитектура модульных React + Redux приложений

Reading time7 min
Views63K


Большинство разработчиков начинает знакомство с Redux с Todo List Project. Это приложение имеет следующую структуру:

actions/
  todos.js
components/
  todos/
    TodoItem.js
    ...
constants/
  actionTypes.js
reducers/
  todos.js
index.js
rootReducer.js

На первый взгляд такая организация кода кажется логичной, ведь она напоминает стандартные соглашения многих backend MVC-фреймворков:

app/
  controllers/
  models/
  views/

На самом деле, это неудачный выбор как для MVC, так и для React+Redux приложений по следующим причинам:

  1. С ростом приложения следить за взаимосвязью между компонентами, экшнами и редюсерами становится крайне сложно
  2. При изменении экшна или компонента с большой вероятностью потребуется внести изменения и в редюсер. Если количество файлов велико, скролить IDE вверх/вниз не удобно
  3. Такая структура потворствует копипасте в редюсерах

Не удивительно, что многие авторы(раз, два, три) советуют структурировать приложение по «функциональности» (by feature).
Читать дальше →

Вы знаете, что такое трансдьюсеры

Reading time6 min
Views45K

Трансдьюсеры были анонсированы еще в далеком 2014, с тех пор по ним было написано немалое количество статей (раз, два), но ни после одной статьи я не мог сказать, что понимаю трансдьюсеры кристально ясно. После каждой статьи у меня возникало ощущение, что я приблизительно понимаю что-то сложное, но оно все равно оставалось сложным. А потом однажды в голове что-то щелкнуло: "я ведь уже видел этот паттерн, только он назывался иначе!"

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

Нейронные сети для начинающих. Часть 2

Reading time14 min
Views587K


Добро пожаловать во вторую часть руководства по нейронным сетям. Сразу хочу принести извинения всем кто ждал вторую часть намного раньше. По определенным причинам мне пришлось отложить ее написание. На самом деле я не ожидал, что у первой статьи будет такой спрос и что так много людей заинтересует данная тема. Взяв во внимание ваши комментарии, я постараюсь предоставить вам как можно больше информации и в то же время сохранить максимально понятный способ ее изложения. В данной статье, я буду рассказывать о способах обучения/тренировки нейросетей (в частности метод обратного распространения) и если вы, по каким-либо причинам, еще не прочитали первую часть, настоятельно рекомендую начать с нее. В процессе написания этой статьи, я хотел также рассказать о других видах нейросетей и методах тренировки, однако, начав писать про них, я понял что это пойдет вразрез с моим методом изложения. Я понимаю, что вам не терпится получить как можно больше информации, однако эти темы очень обширны и требуют детального анализа, а моей основной задачей является не написать очередную статью с поверхностным объяснением, а донести до вас каждый аспект затронутой темы и сделать статью максимально легкой в освоении. Спешу расстроить любителей “покодить”, так как я все еще не буду прибегать к использованию языка программирования и буду объяснять все “на пальцах”. Достаточно вступления, давайте теперь продолжим изучение нейросетей.
Читать дальше →

33 способа ускорить ваш фронтенд в 2017 году

Reading time20 min
Views85K

enter image description here


Вы уже используете прогрессивную загрузку? А как насчёт технологий Tree Shaking и разбиения кода в React и Angular? Вы настроили сжатие Brotli или Zopfli, OCSP stapling и HPACK-сжатие? А как у вас обстоят дела с оптимизацией ресурсов и клиентской части, со вложенностью CSS? Не говоря уже о IPv6, HTTP/2 и сервис-воркерах.

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

Трагикартинки Фэйсбука

Reading time4 min
Views31K
Всем привет! Да, это я 2 года 11 месяцев и 6 дней назад обещал рассказать про новые уязвимости. Но со временем стало понятно, что, либо они не интересные, либо рассказывать о них пришлось бы с помощью скриншотов больше похожих на рассекреченные документы спецслужб — пара бессмысленных слов и куча чёрных прямоугольников. Но — время пришло.

Я уверен, что все вы слышали про ImageMagick и его «Трагедию». Эта уязвимость была найдена в конце апреля 2016 года и в следствии того, что многие плагины, обрабатывающие изображения, использовали библиотеку ImageMagick, данная проблема охватывала большое количество систем. Так как были свидетельства о том, что информация о данной уязвимости была доступна не только исследователям, которые её обнаружили, и разработчикам ImageMagick'а, но и третьим лицам, 3 мая 2016 года информация о уязвимости (без PoC) была раскрыта для всего мира. Многие исследователи воспользовались данной информацией и нашли уязвимости в приложениях, которые не были обновлены вовремя. К сожалению, я не был среди этих счастливчиков. Но это было в мае:)
Читать дальше →

Сьюзен Войжитски: от студента CS50 до CEO Youtube

Reading time6 min
Views19K
Сьюзен Войжитски CEO Youtube

Давайте сразу расставим точки над «i». Это не статья о Гарвардском курсе по основам программирования CS50 как таковом. И даже не ремейк известной сказки «Золушка» на лад «пройди CS50 и стань супер-айтишником высшей категории». Здесь мы хотим рассказать о человеке с необычной историей, которой мы заинтересовались именно благодаря CS50. А точнее лишь о некоторых фактах из жизни Сьюзен Войжитски, которые показались нам интересными и в какой-то мере поучительными для тех, кто в ИТ и не только.
Читать дальше →

Webpack + React. Как уменьшить бандл в 15 раз

Reading time3 min
Views56K
image

Ясной инструкции по сборке webpack для продакшена я не нашел. Поэтому решил написать эту статью. Надеюсь, пригодится.
Существует множество сборщиков скриптов. Я выбрал для себя Webpack по таким критериям:

  • Гибкость настройки
  • Большое количество плагинов и лоадеров
  • Lazy loading
  • Использование es6 и es7 синтаксиса с помощью babel-loader

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

Год использования ReactJS: подводим итоги

Reading time5 min
Views26K
React мы в Voximplant любим и ценим. Вовсе не из-за хайпа (полторы тысячи твитов о новом SDK просто потому, что это React Native) а потому, что фреймворк действительно удобный. Простое дробление интерфейса на маленькие изолированные кусочки – это то, чего так не хватало и Jade/Pug, и Web Components, и даже Angular.

Под катом адаптированный перевод статьи, в которой разработчики JetRuby Agency делятся впечатлениями о React: что использовали, что не использовали и что еще только планируют использовать.
Под катом художественный перевод Store как Стор, держитесь!

Руководство по работе с Redux

Reading time80 min
Views286K
Сегодня Redux — это одно из наиболее интересных явлений мира JavaScript. Он выделяется из сотни библиотек и фреймворков тем, что грамотно решает множество разных вопросов путем введения простой и предсказуемой модели состояний, уклоне на функциональное программирование и неизменяемые данные, предоставления компактного API. Что ещё нужно для счастья? Redux — библиотека очень маленькая, и выучить её API не сложно. Но у многих людей происходит своеобразный разрыв шаблона — небольшое количество компонентов и добровольные ограничения чистых функций и неизменяемых данных могут показаться неоправданным принуждением. Каким именно образом работать в таких условиях?

В этом руководстве мы рассмотрим создание с нуля full-stack приложения с использованием Redux и Immutable-js. Применив подход TDD, пройдём все этапы конструирования Node+Redux бэкенда и React+Redux фронтенда приложения. Помимо этого мы будем использовать такие инструменты, как ES6, Babel, Socket.io, Webpack и Mocha. Набор весьма любопытный, и вы мигом его освоите!
Читать дальше →

Frontend-разработчики должны быть в теме всего

Reading time7 min
Views207K

Мысли Криса Койера


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

От переводчика


Всем привет, с вами Максим Иванов, и сегодня мы поговорим на довольно острую тему в сфере веб-разработки. Как утверждает Крис Койер, frontend-разработчик должен разбираться в очень многих вещах, о которых не все даже и задумываются. Конечно, мы должны понимать, что frontend-разработчик не главный в процессе разработки любого онлайн-сервиса или ПО в целом. На ту же позицию frontend-разработчика вы найдете больше откликов на вакансию, чем на позицию backend-разработчиком. Но почему же тогда Крис Койер считает, что работать frontend-разработчиком сложнее, ибо ты должен специализироваться во всем. Конечно, ситуаций в жизни очень много, разные компании по-разному используют своих специалистов, но в чем наверняка должен разбираться frontend-разработчик? Об этом мы сегодня и поговорим. Жду комментариев на эту тему, а сейчас приступим.
Читать дальше →

Как мы выходили в ТОП-3 украинского App Store

Reading time4 min
Views9.3K


Если вы iOS-разработчик, работаете в компании по разработке iOS-приложений или любым другим образом связаны с этой сферой, то знаете приблизительное количество скачек, необходимое для выхода в топ. Цифры разнятся от категории к категории, каждый использует собственную стратегию, поэтому любой опыт важен. Ниже я хочу поделиться нашим опытом. Надеюсь, он будет полезен читателям. Хочу предупредить, кейс нетипичный. Мы выходили в топ украинского App Store, а не российского. Тут вы не найдёте магических "тысяч скачек с нулевым бюджетом на маркетинг". У нас так не получилось, и бюджет был хоть и небольшой, но уж точно не нулевой.

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

25 книг по теме облачных вычислений

Reading time4 min
Views29K


/ фото Olli Henze CC

Сегодня мы в «ИТ-ГРАД» решили немного отойти от привычного формата дайджеста и подготовили для вас подборку из литературных материалов по теме облачных вычислений, IaaS и виртуализации.

Руководство: Как посчитать выгоды от миграции в «облако»
В этом материале разбираются рабочие модели для расчета экономической эффективности перехода в облако. С примерами.

IaaS для бизнеса по кирпичикам
Книга предназначена для тех, кто впервые сталкивается с облаками и понятием IaaS (Infrastructure as a Service), и рассчитана на бизнес-аудиторию, желающую разобраться в последних тенденциях в сфере ИТ. Прочитав данную книгу, вы найдете ответы на следующие вопросы: Какие ИТ-сервисы имеет смысл выносить на аутсорсинг? Какие сервисы лучше оставить внутри? Как выбрать поставщика облачных услуг и убедиться в его надежности?

Идеальная архитектура. Ведущие специалисты о красоте программных архитектур
Из каких компонентов строятся надежные, элегантные, гибкие, удобные в сопровождении программные архитектуры? Книга отвечает на этот вопрос серией очерков, написанных ведущими программными архитекторами и проектировщиками современности. В каждом очерке авторы представляют какую-либо выдающую программную архитектуру, анализируют ее отличия от других архитектур и объясняют, почему она идеально подходит для своей цели.
Читать дальше →

Правильный оффер при устройстве программиста в офис

Reading time6 min
Views57K
В этой статье я хотел бы поделиться своими заметками связанными с трудоустройством программистов в офис.



У меня веб-студия в Москве, в подчинении более 70 человек. Опыт работы с 2001 г. Начинали с обычных веб-сайтов: друг делал дизайн, а я программировал по ночам. За все время прошел долгий путь от простых сайтов-визиток до сложных интеграционных решений.
Читать дальше →

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity