Pull to refresh
  • by relevance
  • by date
  • by rating

node.js бьет бинарные данные при работе по http из-за кодировки по умолчанию — лечим и ненавидим

Node.JS *
Короче, пишу свой прокси-сервер на node.js (это все равно пригодится, но и просто прокси свое применение имеет, мне давно тему спалили, интересно, живо ли это еще)

Прокси на основе методов типа .pipe() мне не подходит – мне надо полные данные через себя пропускать, а так они мимо пройдут. Мне надо скачать данные полностью, обработать и потом отправить.

Написал прокси на сокетах на основе примеров – бьет картинки (скачиваются данные другой длины, чем content-length, причем для маленьких картинок разница меньше, для больших больше)

Переписал на модуле http – все равно бьет, видимость проблемы та же.

Долго ***ся, нигде ничего нет про такую проблему…

Причина – что весь ввод-вывод и с сокетами, и с http – имеет указание кодировки, и даже если ты ее не указываешь (опциональный параметр), там внутри есть какая-то кодировка по умолчанию, и она по умолчанию что-то делает!
Читать дальше →
Total votes 30: ↑14 and ↓16 -2
Views 3.7K
Comments 21

Проверяй входящие данные. Исходная причина уязвимости и атаки на Cisco IOS

Information Security *Programming *System Analysis and Design *Perfect code *Industrial Programming *
Cisco IOS function weak

В пятницу 6 апреля 2018 началась мощная атака на оборудование Cisco.

Много пишут о том, что главная причина, по которой эта атака успешна, это открытые во внешние сети сервисные порты Cisco Smart Install.

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

При создании системы вы не имеете права расчитывать на то, что значения по умолчанию, которые следует изменить будут изменены, причём в нужную сторону.

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

Про выбор по умолчанию
Есть исследование 2003 года «Спасает ли жизни выбор по умолчанию?», в котором есть диаграмма

image

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

Я хочу обратить внимание на корень самой уязвимости. В отчёте есть такая часть:
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Views 13K
Comments 45