|
|
Дырка в outlook express. Довольно классическая - buffer overrun.
Такие регулярно где-нибудь находят: то поле subject нельзя делать слишком длинным - программа осыплется, то
имя файла, то url... теперь вот - информацию о дате создания сообщения, посылаемую в заголовке письма.
Или как вариант - не в заголовке письма (это можно попытаться отловить умным MTA на почтовом сервере),
а в завернутом в mime письме в аутлуковом mime-multipart-message. Как обычно - buffer overrun можно использовать
для выполнения произвольного кода на машине клиента (и, как обычно письмо читать необязательно - достаточно получить с сервера). Опять-таки,
как обычно - сегодня баги, завтра фиксы, послезавтра новые баги...
И хотя на дворе конец 20 века - до сих пор строки хранят в char*, склеивают strcat()
и разбирают на кусочки sscanf(). И пока все программисты не перейдут на классы с встроенной проверкой
переполнения и не забудут напрочь про gets() и иже с ними - такое будет, и регулярно.
То есть - на ближайшую пятилетку дырами мы будем обеспечены - старые технологии уходят
медленно...
А всего-то - странная логика канонизированных святых Кернигана и Ритчи, решивших, что
строки должны храниться как zero-ended цепочка байт (тем самым резко снизив полезность
такой штуки как "строка" - теперь в строку нельзя положить что угодно, ибо оно обрежется
по первому же нулю), а библиотечным функциям не пристало заниматься проверкой выхода за границы массива.
А казалось бы - сделать строку не как char*, а как структурку (не класс, упаси боже - не было тогда классов)
с int maxlength, int size, char str[maxlength], да заложить проверку в библиотечные функции -
и, наверно, половины сегодняшних дыр просто не было бы. М-да.
...а журналисты тем временем обсуждают проблему шпионской точки.
Той, что <img src= или <iframe src=. И что позволяет вытащить с вашего компьютера
такую важную информацию, как (цитирую):
IP address of your computer (ага. а в логи веб-сервера слабО посмотреть?),
web location of bug (кхм. куда его положили - там и лежит. он же не ползает),
web page bug is attached to (см. пункт два. установив жучок, я, вероятно, знаю, куда я его установил, не так ли?),
Time the bug was viewed (см. пункт 1),
Which browser you are using (да, это важная информация. хотя браузеры почему-то без зазрения совести отдают ее
в User-Agent: поле http-запроса, даже без всяких жуков),
Any cookies already on your computer (any, говорите? ну-ну. не буду говорить "невозможно",
но... штатным образом - нельзя, а нештатных, похоже, не предлагается).
Интересно, средства массовой информации всегда "бесконечно далеки от народа"(с)ВИЛ, или
это только некоторые?
| |
| |