Pull to refresh
92
0
Бурдаков Даниил @burdakovd

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

Send message

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

Reading time9 min
Views44K


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

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

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


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

Читать дальше
Total votes 85: ↑85 and ↓0+85
Comments61

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

Reading time1 min
Views956
По долгу учебы последнее время приходится ездить из России в Украину и обратно.

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

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

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

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

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

Вторая идея — использовать всюду что-то глобальное (GMT, UTC), и только на клиентской стороне делать перевод в локальное время. Однако это усложняет код клиентской стороны, и работает только для Web. Для напоминаний через e-mail такой подход не годится, так как там нет javascript.
Total votes 9: ↑4 and ↓5-1
Comments16

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

Reading time10 min
Views47K
Ранее была получена возможность перехватывать весь трафик исследуемого субъекта. Однако банальный анализ логов tcpdump не даёт значимого результата, так как большинство сервисов использует шифрование с помощью SSL для передачи важных данных, в том числе паролей.
Как обойти шифрование SSL
Total votes 94: ↑92 and ↓2+90
Comments56

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

Reading time5 min
Views13K

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


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

Предыстория


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

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

Что же дальше?
Total votes 223: ↑184 and ↓39+145
Comments93

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

Reading time1 min
Views579
Случайно заметил:


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

Потом посмотрел по другим письмам, обычно там что-то вроде «Отмечено как важное потому, что содержит определённые слова» или «Отмечено как важное потому, что подпадает под действие одного из ваших фильтров важности» и т.п.
Total votes 51: ↑41 and ↓10+31
Comments7

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

Reading time1 min
Views1.9K
Внезапно обнаружилось что 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), то всё работает.
Total votes 14: ↑9 and ↓5+4
Comments3

Information

Rating
Does not participate
Location
London, England - London, Великобритания
Works in
Date of birth
Registered
Activity