Когда мы пишем код, наши мысли почти всегда заняты исключительно правильностью его работы. Мы очень редко обращаем внимание на то, как именно его пишем. Выбор оформления и применения определенных элементов языка может влиять на восприятие вашего кода коллегами. Поэтому для эффективной работы в команде необходимо поддерживать единый стиль кода. В этом докладе я постараюсь рассказать, какие средства для этого можно использовать и что делать, если их не хватает.
Спросите любого программиста и он честно вам ответит, что 90% процентов его времени уходит на поиск ошибок. Подпишусь под этим и я, сменивший за долгие годы множество языков и фреймворков. Действительно, "человеку свойственно ошибаться". Так что же делать, если из человека это свойство не выбить? Как сократить это бездарно потраченное время?
Тот же программист вам и ответ: "отлаживать, конечно". Это искуство сродни магии, доступно всем и покоряется немногим. Но к счастью, помимо проверенной временем практики "вставь сюда print" к услугам питонистов целый зоопарк инструментов.
В этом докладе я постараюсь обобщить самые частые практики отладки, описать их плюсы/минусы и как они соотносятся с Python. Кроме этого, мы совершим обзорный экскурс по экосистеме и посмотрим, чем можно помочь себе в этой нелегкой борьбе. Для особенных эстетов мы рассмотрим техники получения информации из уже запущенного кода. Buckle up!
======
Ссылки
======
Python Debugger Uncovered
https://www.youtube.com/watch?v=2sEPipctTxw
How I built a power debugger out of the standard library and
things I found on the internet
https://www.youtube.com/watch?v=g8kF9tuYZ6s
Architecture of Open Source Applications: GDB
http://www.aosabook.org/en/gdb.html
Advanced Python Debugging Techniques Using GDB
https://www.youtube.com/watch?v=rB9rPdMRxIA
pdb – Interactive Debugger
https://pymotw.com/2/pdb/
bdb — Debugger framework
https://docs.python.org/2/library/bdb.html
Когда мы пишем код, наши мысли почти всегда заняты исключительно правильностью его работы. Мы очень редко обращаем внимание на то, как именно его пишем. Выбор оформления и применения определенных элементов языка может влиять на восприятие вашего кода коллегами. Поэтому для эффективной работы в команде необходимо поддерживать единый стиль кода. В этом докладе я постараюсь рассказать, какие средства для этого можно использовать и что делать, если их не хватает.
Спросите любого программиста и он честно вам ответит, что 90% процентов его времени уходит на поиск ошибок. Подпишусь под этим и я, сменивший за долгие годы множество языков и фреймворков. Действительно, "человеку свойственно ошибаться". Так что же делать, если из человека это свойство не выбить? Как сократить это бездарно потраченное время?
Тот же программист вам и ответ: "отлаживать, конечно". Это искуство сродни магии, доступно всем и покоряется немногим. Но к счастью, помимо проверенной временем практики "вставь сюда print" к услугам питонистов целый зоопарк инструментов.
В этом докладе я постараюсь обобщить самые частые практики отладки, описать их плюсы/минусы и как они соотносятся с Python. Кроме этого, мы совершим обзорный экскурс по экосистеме и посмотрим, чем можно помочь себе в этой нелегкой борьбе. Для особенных эстетов мы рассмотрим техники получения информации из уже запущенного кода. Buckle up!
======
Ссылки
======
Python Debugger Uncovered
https://www.youtube.com/watch?v=2sEPipctTxw
How I built a power debugger out of the standard library and
things I found on the internet
https://www.youtube.com/watch?v=g8kF9tuYZ6s
Architecture of Open Source Applications: GDB
http://www.aosabook.org/en/gdb.html
Advanced Python Debugging Techniques Using GDB
https://www.youtube.com/watch?v=rB9rPdMRxIA
pdb – Interactive Debugger
https://pymotw.com/2/pdb/
bdb — Debugger framework
https://docs.python.org/2/library/bdb.html
Playing CTF and Entering the World of Information Security / Играем в CTF поз...Mad Devs
Presentation tells about CTF laboratory and its competitions as well as how useful for a developer is to know more about cyber security in their every day life
В презентации идет речь о лаборатории CTF и различных заданиях. А также о том, как прохождение заданий CTF поможет разработчику узнать больше в кибер безопасности с применением в повседневной жизни.
Автор: Александр Вишняков / Alexander Vishnyakov
РусКрипто CTF 2010 Full Disclosure (мастер класс)Dmitry Evteev
В презентации рассмотрены следующие вопросы:
- технические и организационные подробности подготовки и проведения РусКрипто CTF 2010
- заложенные уязвимости, пути их обнаружения и эксплуатации
- хронология событий на РусКрипто CTF 2010 и не найденные игроками уязвимости
В презентации рассмотрены следующие вопросы:
- технические и организационные подробности подготовки и проведения РусКрипто CTF 2010
- заложенные уязвимости, пути их обнаружения и эксплуатации
- хронология событий на РусКрипто CTF 2010 и не найденные игроками уязвимости
How to organize solid web development process using Django. Includes:
- project structure;
- standard solutions for common problems;
- hosting & support.
В рамках одного доклада мы расскажем, во первых, про наиболее популярные уязвимости веб-приложений. Также мы расскажем про такие классические вещи, как переполнение буфера (на стеке (stack) и на куче (heap), атаки на формат строки и не только. Многие про это слышали, но не многие знают, как этим может воспользоваться злоумышленник. Будет рассмотрена эксплуатация описанных уязвимостей без достаточной информации о приложении, принципы работы и написания шеллкода.
Будут функционировать два стенда, где все желающие могут попробовать свои силы и почувствовать себя настоящими хакерами.
Доклад будет интересен студентам и молодым разработчикам.
How to organize solid web development process using Django. Includes:
- project structure;
- standard solutions for common problems;
- hosting & support.
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...Ontico
HighLoad++ 2017
Зал «Конгресс-Холл», 7 ноября, 12:00
Тезисы:
http://www.highload.ru/2017/abstracts/2864.html
Большое количество современных веб-проектов переходит на микросервисную архитектуру. Она решает огромное количество проблем, присущих монолитным системам, однако накладывает качественно новые требования, в том числе и на аналитику данных.
В докладе будет рассказано о том, какие вызовы и возможности преподнесла нам микросервисная архитектура, а также показано, как clickstream может быть полезен не только аналитикам, но и разработчикам.
Виктор Русакович - Выборы, выборы, все фреймворки… приторныFDConf
Пять лет назад присоединился к команде разработки проекта, над которым до сих пор идёт работа. За это время приложения, создаваемые в рамках проекта, использовали разные фреймворки - от jQuery до React, от Backbone до Angular.
Как мы выбираем фреймворк для нашего следующего приложения? Какой фреймворк самый лучший? Как выбрать фреймворк и через год разочароваться в своём выборе? Короткая история о выборах в одном длинном проекте.
Алексей Куканов — Параллелизм в C++: управляйте приложением, а не потоками!Yandex
Алексей Куканов, Intel.
Последняя версия стандарта С++ добавляет в язык и библиотеку поддержки средства для использования потоков исполнения (threads) и синхронизации между ними. Однако это лишь необходимая низкоуровневая база для внедрения параллелизма. Эффективная разработка параллельных программ требует высокоуровневого API, реализующего типичные шаблоны использования параллелизма в виде, пригодном для применения в широком спектре алгоритмов и приложений. В докладе речь пойдёт о наиболее часто встречающихся параллельных шаблонах, реализованных в программных моделях Intel® Threading Building Blocks и Intel® Cilk Plus, и о примерах их использования.
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?Ruslan Begaliev
Анна Ладошкина поговорит о ботах для мессенджера Telegram, их устройстве и возможностях, а также о том, как разработчикам и авторам сайтов на WordPress можно использовать этот новый инструмент для развития своих проектов. WordPress как backend для Telegram-бота за несколько простых шагов.
kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?Krivoy Rog IT Community
Что такое кранонит, как устроен клуб, как его можете использовтаь вы, какие встречи мы провели, какие проблемы у нас есть, какая наша публика и многое другое.
Playing CTF and Entering the World of Information Security / Играем в CTF поз...Mad Devs
Presentation tells about CTF laboratory and its competitions as well as how useful for a developer is to know more about cyber security in their every day life
В презентации идет речь о лаборатории CTF и различных заданиях. А также о том, как прохождение заданий CTF поможет разработчику узнать больше в кибер безопасности с применением в повседневной жизни.
Автор: Александр Вишняков / Alexander Vishnyakov
РусКрипто CTF 2010 Full Disclosure (мастер класс)Dmitry Evteev
В презентации рассмотрены следующие вопросы:
- технические и организационные подробности подготовки и проведения РусКрипто CTF 2010
- заложенные уязвимости, пути их обнаружения и эксплуатации
- хронология событий на РусКрипто CTF 2010 и не найденные игроками уязвимости
В презентации рассмотрены следующие вопросы:
- технические и организационные подробности подготовки и проведения РусКрипто CTF 2010
- заложенные уязвимости, пути их обнаружения и эксплуатации
- хронология событий на РусКрипто CTF 2010 и не найденные игроками уязвимости
How to organize solid web development process using Django. Includes:
- project structure;
- standard solutions for common problems;
- hosting & support.
В рамках одного доклада мы расскажем, во первых, про наиболее популярные уязвимости веб-приложений. Также мы расскажем про такие классические вещи, как переполнение буфера (на стеке (stack) и на куче (heap), атаки на формат строки и не только. Многие про это слышали, но не многие знают, как этим может воспользоваться злоумышленник. Будет рассмотрена эксплуатация описанных уязвимостей без достаточной информации о приложении, принципы работы и написания шеллкода.
Будут функционировать два стенда, где все желающие могут попробовать свои силы и почувствовать себя настоящими хакерами.
Доклад будет интересен студентам и молодым разработчикам.
How to organize solid web development process using Django. Includes:
- project structure;
- standard solutions for common problems;
- hosting & support.
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...Ontico
HighLoad++ 2017
Зал «Конгресс-Холл», 7 ноября, 12:00
Тезисы:
http://www.highload.ru/2017/abstracts/2864.html
Большое количество современных веб-проектов переходит на микросервисную архитектуру. Она решает огромное количество проблем, присущих монолитным системам, однако накладывает качественно новые требования, в том числе и на аналитику данных.
В докладе будет рассказано о том, какие вызовы и возможности преподнесла нам микросервисная архитектура, а также показано, как clickstream может быть полезен не только аналитикам, но и разработчикам.
Виктор Русакович - Выборы, выборы, все фреймворки… приторныFDConf
Пять лет назад присоединился к команде разработки проекта, над которым до сих пор идёт работа. За это время приложения, создаваемые в рамках проекта, использовали разные фреймворки - от jQuery до React, от Backbone до Angular.
Как мы выбираем фреймворк для нашего следующего приложения? Какой фреймворк самый лучший? Как выбрать фреймворк и через год разочароваться в своём выборе? Короткая история о выборах в одном длинном проекте.
Алексей Куканов — Параллелизм в C++: управляйте приложением, а не потоками!Yandex
Алексей Куканов, Intel.
Последняя версия стандарта С++ добавляет в язык и библиотеку поддержки средства для использования потоков исполнения (threads) и синхронизации между ними. Однако это лишь необходимая низкоуровневая база для внедрения параллелизма. Эффективная разработка параллельных программ требует высокоуровневого API, реализующего типичные шаблоны использования параллелизма в виде, пригодном для применения в широком спектре алгоритмов и приложений. В докладе речь пойдёт о наиболее часто встречающихся параллельных шаблонах, реализованных в программных моделях Intel® Threading Building Blocks и Intel® Cilk Plus, и о примерах их использования.
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?Ruslan Begaliev
Анна Ладошкина поговорит о ботах для мессенджера Telegram, их устройстве и возможностях, а также о том, как разработчикам и авторам сайтов на WordPress можно использовать этот новый инструмент для развития своих проектов. WordPress как backend для Telegram-бота за несколько простых шагов.
kranonit S14E02 Серёжа Пономарёв: kranonit’у уже год. Полёт нормальный?Krivoy Rog IT Community
Что такое кранонит, как устроен клуб, как его можете использовтаь вы, какие встречи мы провели, какие проблемы у нас есть, какая наша публика и многое другое.
Similar to flag{жив_ли_CTF_в _Казахстане?} (@fuzzyf10w && @n0z3r0) CTF Team: b1n4ry4rms (20)
3. $ whois fuzzyf10w
Олег - Penetration tester
Certs: Offensive Security Certified Professional (OSCP)
Интересы: ИБ, Участие в CTF, Wargames
Опыт работы в ИБ > 10 лет
Основатель и Капитан команды b1n4ry4rms
Специализация: Pwn, Reverse, Web
Twitter && Telegram: @fuzzyf10w
4. $ whois n0z3r0
Александр - разработчик в maddevs.io
Использую: Go, Python, C, Ruby, Node.js, JavaScript и т.д.
Интересы: ИБ, Разработка, участие в открытых лабораториях и CTF
Опыт разработки > 10 лет
В ИБ относительно недавно - 1 год
Присоединился к команде b1n4ry4rms в 2016 году
Специализация: Стего, Реверс, Веб
7. Типы CTF
● Jeopardy / Task-based
Каждое задание стоит определенное количество очков. По истечении
отведенного времени автоматически выбирается победитель в зависимости
от набранного количества очков.
● Attack-Defense / Classic
Целью является защита от атак на свой сервер, а также атака
наибольшего возможного количества серверов других команд. За атаку и
защиту отдельно начисляются очки. По сумме очков определяется
победитель.
17. С чего начать?
● Начните играть в CTF прямо сейчас! (http://ctftime.org/)
● Читайте write-up’ы уже прошедших CTF (https://github.com/ctfs)
● Участвуйте в постоянно доступных Wargames (https://io.netgarage.org/ ,
http://smashthestack.org/ , http://overthewire.org/ , https://www.wechall.net/)
● Полезный ресурс со сборником уязвимых образов различный систем ,
Vulnerable By Design (https://www.vulnhub.com/)
22. Хотелось бы особо отметить
● Интересные задачи от @Orange с разборами:
○ https://github.com/orangetw/My-CTF-Web-Challenges
● Организация и реалистичность.
● Лучшие CTF:
○ HITCON 2016
○ CTF.COM.UA 2016 (DCUA)
○ EKOPARTY 2016 (NULL Life)
23. Что получаешь от участия в CTF?
● Удовольствие от командной работы
● Опыт
● Информацию о реальных уязвимостях.
● Новые инструменты