Эксплуатация Heap Overflow с использованием JavaScript

Автор: admin от 16-11-2017, 06:05, посмотрело: 58

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



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

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



Предисловие



В этой статье представлен новый метод эксплуатации переполнения кучи (heap

overflows) в интерпретаторах javascript. Вкратце, для получения heap

overflow можно использовать команды javascript для обеспечения надежного отображения указателя функции сразу после переполнения буфера. В данном учебном исследовании используется техника для Safari, которую авторы использовали для победы в конкурсе CanSecWest 2008 Pwn2Own.

Категория: Информационная безопасность

 

Введение в часто используемые особенности ES6. Часть 2

Автор: admin от 2-11-2017, 07:05, посмотрело: 37

Данная публикация является 2-ой частью перевода статьи «Introduction to commonly used ES6 features» под авторством Zell Liew, размещенного здесь. Перевод 1-ой части находится здесь.



Деструктуризация



Деструктуризация — удобный способ извлечения значений из массивов и объектов. Между деструктуризацией массивов и объектов существуют незначительные различия, поэтому рассмотрим их отдельно.



Деструктуризация объектов



Допустим, имеется следующий объект:



const Zell = {
  firstName: 'Zell',
  lastName: 'Liew'
}

Категория: Программирование » Game Development

 

Pebble Kombat. История разработки игры для часов на Javascript

Автор: admin от 31-10-2017, 14:15, посмотрело: 52

Здравствуйте, меня зовут Александр и я анонимный питоноголик. Но год назад мне посчастливилось написать одну игру исключительно на javascript для умных часов Pebble…



Pebble Kombat. История разработки игры для часов на Javascript

Категория: Программирование » Game Development

 

Тащим музыку из ВК без публичного music API

Автор: admin от 24-10-2017, 09:55, посмотрело: 91

Как все начиналось


Дело было вечером, делать было нечего… Точнее, я просто хотел загрузить аудиокнигу перед парами и тут меня ждал сюрприз. Кэш в кейт мобайле отключили. Как так? Что делать? Конечно же писать свое приложение с кэшем и аудиозаписями. Но для начала нужно понять, как вк превращает ссылки вида audio%user_id%_%track_id% в прямые ссылки на mp3. Что из этого вышло приложения я не написал и как скачать определенный плейлист можно прочитать под катом.

Категория: Информационная безопасность

 

We need to go deeper: обходим скрипт который обходит адблок

Автор: admin от 20-10-2017, 14:20, посмотрело: 43

We need to go deeper: обходим скрипт который обходит адблок

Немного пятничный пост. В последнее время заметил что есть реклама которая пробивает сразу 2(!) расширения блокирующие её. И обычно это очень низкокачественная и навязчивая реклама. Решил разобраться как так, и, возможно, даже попробовать побороть эту дрянь. Кому интересно — прошу под кат (осторожно, много картинок).

Категория: Программирование » Game Development

 

Почему роботы должны форматировать код за нас

Автор: admin от 19-10-2017, 05:25, посмотрело: 50

Почему роботы должны форматировать код за нас



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



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



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

Категория: Программирование » Веб-разработка

 

Введение в часто используемые особенности ES6. Часть 1

Автор: admin от 13-10-2017, 17:30, посмотрело: 83

Данная публикация является переводом статьи «Introduction to commonly used ES6 features» под авторством Zell Liew, размещенного здесь. Перевод разделён на 2 части.



javascript серьезно развился в последние несколько лет. Если ты изучаешь язык в 2017 году и при этом не касался ES6, то упускаешь легкий способ читать и писать на нём.



Не волнуйся, если ты еще не знаток языка. От тебя не требуется превосходно знать его, чтобы пользоваться преимуществами «бонусов», добавленных в ES6. В этой статье хотел бы поделиться восемью особенностями ES6, которые использую каждый день как разработчик, что поможет тебе легче погрузиться в новый синтаксис.

Категория: Программирование

 

Потоки (Stream) в NodeJS — реки, в которые войдешь дважды

Автор: admin от 12-10-2017, 14:05, посмотрело: 179

Потоки (Stream) в NodeJS — реки, в которые войдешь дважды



Поток — это концепция, которая была сначала реализована в UNIX системах для передачи данных из одной программы в другую в операциях ввода/вывода. Это позволяет каждой программе быть очень специализированной в том, что она делает — быть независимым модулем. Сочетание таких простых программ помогает в создании более сложных систем путем «объединения» их в цепочку вызовов.



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



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



Модуль stream предоставляет базовый API по работе с потоками в Node.JS. Документации Node.JS вполне достаточно, чтобы разобраться в данном вопросе, но мы попытаемся составить что-то вроде шпаргалки с пояснениями некоторых моментов.

Категория: Компании » Apple

 

Redux: отправляем асинхронность туда, где ей самое место

Автор: admin от 11-10-2017, 11:15, посмотрело: 59

Redux — технология относительно молодая. Чётких правил что, как и где использовать нет.

Есть рекомендации, но и их не все читают.



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



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



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

Категория: Программирование

 

Пора убить веб

Автор: admin от 28-09-2017, 11:40, посмотрело: 72

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



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



Пора убить веб
Это ты, хакер фронтенда
->

Категория: Веб-разработка, Windows

 
Назад Вперед