Обновить
91
0
Бурдаков Даниил@burdakovd

Разработчик ПО

Отправить сообщение

Войны в песочнице – Часть 3. ARP-Spoofing, бесполезность фильтрации по MAC-адресу и опасность установки неподписанного ПО

Время на прочтение9 мин
Охват и читатели45K


Прошло чуть более года с момента публикации предыдущих статей (1, 2), и только недавно обстоятельства сложились так, что у меня появился повод для проведения новой атаки.

В этот раз физического доступа к сетевой инфраструктуре нет. Есть лишь ноутбук с доступом в интернет по Wi-Fi. Жертва – сосед по общежитию — подключена к другой точке доступа (DIR-320) по Ethernet, но пароль для подключения к точке известен почти всем, т.к. её хозяин предпочитает использовать в качестве средства разграничения доступа фильтрацию по MAC-адресам, добавляя и удаляя адреса из базы по мере необходимости. Моего MAC-адреса в списке разрешенных нет.

Ок, подключаемся, делаем несколько тестов, и видим, что фильтрация MAC-адресов происходит только на сетевом уровне, то есть точка доступа не отказывается:
  • пересылать мои фреймы в Ethernet сегмент, и доставлять ответы
  • отвечать на ARP-запросы и принимать ARP-ответы


Единственное что точка доступа отказывается делать, так это взаимодействовать с чужаком на сетевом уровне, то есть IP-адрес она мне через DHCP не выдаёт, пропинговать её нельзя и в интернет через неё тоже не выйти.

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

Часовые пояса

Время на прочтение1 мин
Охват и читатели1.1K
По долгу учебы последнее время приходится ездить из России в Украину и обратно.

И что же приходится делать при смене часового пояса?
Зайти на все посещаемые сайты, и поменять часовой пояс.

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

Подобная проблема есть также и при смене страны и языка, но если в настройках стоит не та страна — то это ни на что не повлияет, а язык человек меняет редко.

Нужно что-то с этим делать.

Первая идея — по аналогии с OpenID или gravatar сделать что-то типа OpenTimeZone, сервис, в котором человек указывает свой часовой пояс, а все остальные сервисы берут его оттуда. Но, судя по достаточно малой распространённости вышеуказанных сервисов, и эту идею будет внедрить сложно.

Вторая идея — использовать всюду что-то глобальное (GMT, UTC), и только на клиентской стороне делать перевод в локальное время. Однако это усложняет код клиентской стороны, и работает только для Web. Для напоминаний через e-mail такой подход не годится, так как там нет javascript.

Войны в песочнице — Часть 2. Обход HTTPS

Время на прочтение10 мин
Охват и читатели49K
Ранее была получена возможность перехватывать весь трафик исследуемого субъекта. Однако банальный анализ логов tcpdump не даёт значимого результата, так как большинство сервисов использует шифрование с помощью SSL для передачи важных данных, в том числе паролей.
Как обойти шифрование SSL

Войны в песочнице — Часть 1

Время на прочтение5 мин
Охват и читатели13K

Предупреждение


В статье описаны приключения одного моего знакомого.

Предыстория


События проходят во времена далекого третьего курса.

Жил со мной в студенческом общежитии в одной комнате сосед-первокурсник, который, также как и я, учился на ВМК и интересовался информационными технологиями. Для определённости в дальнейшем буду называть его N.

Что же дальше?

Локализаторы Google знают про волшебного кролика

Время на прочтение1 мин
Охват и читатели649
Случайно заметил:


Волшебный кролик

Потом посмотрел по другим письмам, обычно там что-то вроде «Отмечено как важное потому, что содержит определённые слова» или «Отмечено как важное потому, что подпадает под действие одного из ваших фильтров важности» и т.п.

Этот загадочный C++ (std::min и static const int)

Время на прочтение1 мин
Охват и читатели2.2K
Внезапно обнаружилось что g++ не компилирует (а точнее не линкует) следующий код (в MS VS 2008 работает)

#include <algorithm>

struct Test
{
  static const int a = 0, b = 1;
};

int main()
{
  std::min(Test::a, Test::b);
  return 0;
}


* This source code was highlighted with Source Code Highlighter.


с диагнозом:
Fail.cpp:(.text+0x15): undefined reference to `Test::a'
...


Если присвоить значения константам вне класса (const int Test::a = 0), то всё работает.

Информация

В рейтинге
Не участвует
Откуда
London, England - London, Великобритания
Работает в
Дата рождения
Зарегистрирован
Активность