Рубрика «embedded» - 10

image

В предыдущих сериях:

  1. Взламываем D-Link DSP-W215 Smart Plug
  2. Взламываем D-Link DSP-W215 Smart Plug. Снова
  3. Взламываем D-Link DSP-W215 Smart Plug. Снова и опять

До сих пор, все найденные в DSP-W215 уязвимости могли быть выполнены только из LAN, ну, если вы не глупец и не открыли доступ к Smart Plug из интернета.
Типичным способом атаки устройств со встроенным веб-сервером, доступным только из внутренней сети, типа того, что у DSP-W215 — через CSRF. Проблема этого метода в том, что любой веб-браузер будет кодировать (urlencode) передаваемые данные, например, адрес возврата, но до этого момента мы использовали уязвимости, которые не декодируют (urldecode) наши данные (уязвимость в функции replace_special_char, которую мы эксплуатировали в предыдущей статье, декодирует только ограниченный набор ASCII-символов).

Бинарный файл my_cgi.cgi, который является основной уязвимой целью, содержит функцию-декодировщик «decode», которая декодирует POST-данные. Этой функции передается два аргумента: указатель на закодированные данные и указатель на буфер, где хранятся раскодированные данные:

void decode(char *encode_buf, char *decode_buf);

Эта функция просто проходит циклом по всем байтам в encode_buf и раскодирует или копирует их в decode_buf:
imageЧитать полностью »

Вот мы снова и опять.
image

В последнем эксплоите к DSP-W215 я говорил, чтобы функция get_input_entries не падала, нужно использовать имя «storage_path» в POST-запросе. Так нужно было сделать из-за того, что есть еще одно переполнение буфера, на этот раз в функции get_input_entries, которую вызывает get_input_entries, если имя пост параметра отлично от «storage_path» или «path»:
image

В функцию replace_special_char передается один аргумент — указатель на обрабатываемое POST-значение:
imageЧитать полностью »

Расщепляем Quark. Микроархитектура нового процессора Intel

Кварк — это фундаментальная, то есть бесструктурная элементарная частица, введенная в теорию в 1964 году, которую до настоящего времени не удалось описать как составную. Intel Quark — это процессор для Интернета Вещей, выпускаемый Intel с осени 2013, но до сих пор не имеющий публичного описания своей внутренней структуры и воспринимающийся вне Intel как «черный ящик». — Как вы яхту назовете, так она и поплывет? Но я в это не верю. Скорее уж, как вы яхту назовете, так она вас назовет (если в ней стоит бортовой компьютер). В общем, в этом посте я исправлю ситуацию и расскажу, как устроен Quark.
Читать полностью »

image

Выход нового SoC процессора Intel Quark и первых систем на его базе заставили сжаться мое сердце и предаться воспоминаниям. У каждого инженера-системщика был любимый проект, даже детище, родиться которому и выйти в свет так и не было суждено по разным причинам.
Хочу немного рассказать о своем подобном проекте и порассуждать, что было бы, если б тогда мне были доступны сегодняшние технологии типа Quark. Также хотелось бы спросить Хабросообщество: что бы вы смогли реализовать, имея выбор из сегодняшних систем. Ну а комментарии к этому посту — самое подходящее место для холивара ARM vs. x86, так как Intel вступает на опасную территорию, где давно правят контроллеры с RISC-ядрами от ARM и Atmel. Но тогда просьба сравнивать не просто железки (мегагерцы, килобайты, и милливатты), но рассматривать в комплексе с программной экосистемой и в контексте конкретного применения контроллеров.
Читать полностью »

В первой части статьи я рассказал о компании DMP Electronics, малоизвестном тайваньском производителе x86-совместимых процессоров семейства Vortex86, а также материнских плат и компьютеров на их базе. Во второй части я обещал привести сравнительные характеристики процессора Vortex86MX, и сделать обзор компьютера eBox-3300MX на его базе. К сожалению, по не зависящим от меня причинам, вторая часть ещё не закончена, и я вынужден опубликовать третью часть раньше второй. В третьей части речь пойдёт об Arduino.

Не прошло и месяца, как Intel объявила о начале продаж первого x86-совместимого Arduino-контроллера, а DMP Electronics уже выпустила свою версию платы на базе своего собственного процессора Vortex86EX. Новая плата получила название 86Duino.x86 compatible, часть 3: «86Duino наносит ответный удар»Читать полностью »

x86 compatible, часть 1: «Тёмная лошадка с Тайваня»Пожалуй, самый частый вопрос, который разработчики KolibriOS слышат в свой адрес: "Когда вы собираетесь портировать Колибри на ARM?" Мы всегда отвечаем, что это невозможно, KolibriOS написана на ассемблере FASM с использованием инструкций x86, и портирование её на ARM будет означать практически полное переписывание с нуля. Но главная причина в том, что на рынке есть достаточно компьютеров на x86-совместимых процессорах, размером как Raspberry Pi и стоимостью всего на $5-$35 дороже, а это делает портирование не только невозможным, но также и бесполезным занятием. Чтобы читатели не говорили, что x86-совместимый компьютер за $40 — это «сферический конь в вакууме», я решил написать обзорный цикл из 3 статей о нескольких таких компьютерах. Сразу оговорюсь, что статьи не спонсируются — всё это железо я покупал на свои деньги, и на части него я практически каждую неделю тестирую Колибри — не стала ли она, случаем, слишком медленной? Кому интересно — прошу под кат.
Читать полностью »

Я бы хотел продолжить тему блока впрыска топлива на базе stm32 и рассказать о текущем статусе проекта rusEfi.

rusEfi: opensource проект DIY инжектора

Читать полностью »

Завтра, 17 октября Ciklum Киев приглашает всех желающих посетить открытый Speakers’ Corner на тему “Программирование микроконтроллеров в домашних условиях и о жизни в Дублине”, подготовленный Владимиром Пузановым, который в настоящее время является сотрудником Google (Дублин).
image
Читать полностью »

Всем привет! Последние 9 месяцев мы разрабатывали Wiren Board — компактный индустриальный компьютер с множеством встроенных интерфейсов (Wi-Fi, GPRS, GPS, NFC, Ethernet и т.д.) Мы уже писали о нём, и получили кучу отзывов и пожеланий. В итоге в новую версию было внесено много изменений, и эта статья про самые значительные из них.

По сравнению с апрельским прототипом на плате появились 2 USB-host, интерфейс RS-485 и разъём с 8 GPIO. Кроме этого мы сделали новую схему питания, поддерживающую входные напряжения от 5 до 22 вольт, Passive PoE и подключение Li-Pol аккумулятора, добавили управление низковольтной нагрузкой и аналоговые входы на клеммниках.

Как мы делали Wiren Board

Как мы это делали, с какими трудностями столкнулись и что получилось в итоге — читайте в нашей статье.
Читать полностью »

В четверг, 12 сентября, при участии портала Айти-Событие.рф, в Петербурге стартует новый проект — Embedded Meetup.

Первый Embedded Meetup в Санкт Петербурге

Embedded Meetup — это регулярные встречи профессиональных разработчиков встраиваемых систем в неформальной обстановке. Основными составляющими являются доклады и networking.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js