Ars Longa, Vita Brevis

Наткнулся сегодня на очень интересную статью:

Российский хакер, известный как Крис Касперски, обнаружил уязвимость в процессорах Intel, которая позволяет совершить удаленный взлом системы при помощи скрипта на JavaScript или TCP/IP-пакета вне зависимости от операционной системы. Об этом пишет PC World со ссылкой на краткое описание презентации, подготовленной Касперски.

Хакер намерен в октябре продемонстрировать свою методику на конференции Hack In The Box в малайзийском Куала-Лумпуре. Касперски заявил, что намерен показать работающий код и сделать его общедоступным. Он добавил, что ошибки в микропроцессорах становятся все более серьезной угрозой, так как уже пишутся использующие их зловредные программы.

По словам хакера, некоторые ошибки процессоров позволяют просто обрушить систему, другие помогают злоумышленнику получить доступ на уровне ядра ОС, а использование третьих отключает защиту Vista.

Крис Касперски продемонстрирует свою методику взлома на компьютерах с Windows XP, Vista, Windows Server 2003, Windows Server 2008, ОС на базе ядра Linux и BSD. Возможно, также добавится Mac. На все эти системы будут установлены последние обновления.

Всё же интересно: правда ли это? Или доблестные щелкопёры всё приукрасили?

В оригинале статьи сказано:

In this presentation, I will share with the participants the finding of my CPU malware detection research which was funded by Endeavor Security. I will also present to the participants my improved POC code and will show participants how it’s possible to make an attack via JavaScript code or just TCP/IP packets storms against Intel based machine. Some of the bugs that will be shown are exploitable via common instruction sequences and by knowing the mechanics behind certain JIT Java-compilers, attackers can force the compiler to do what they want (for example: short nested loops lead to system crashes on many CPUs). I will also share with the participants my experience in data recovery and how CPU bugs have actually contributed in damaging our hard drives without our knowledge.

И я вот не могу отделаться от подозрения, что всё это розыгрыш: начать уж с того, что Java != JavaScript, и не факт, что любой движок для JavaScript будет компилировать JavaScript в родной код процессора. И я не уверен, что процессор может напрямую повредить жесткий диск (разве что он будет скармливать контроллеру соответствующие команды). Обработкой TCP/IP-пакетов процессор напрямую вообще не занимается (если только я что-то не пропустил).

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

Но всё-таки, вдруг это не самореклама и Крис прав?

В статье "Избавляемся о ошибок xHTML-валидации при использовании JavaScript, Flash, <noindex>, CSS" рассказывается о четырёх основных источниках неправильной разметки в WordPress:

  1. JavaScript;
  2. Глобальные CSS, размещаемые в заголовке документа;
  3. Flash;
  4. Несуществующий по стандартам тег <noindex>, придуманный Яндексом

Естественно, после прочтения статьи я решил проверить свой, как я полагал, валидный, блог. В том-то и дело, что только плагал: нашёлся пятый источник неправильной разметки. Где бы Вы думали? В самом WordPress, в функции wpautop(). Читать статью «Основные источники неправильной разметки в WordPress» полностью…

Стараниями Дмитрия Лялина я узнал про еще один плагин WordPress для подсветки синтаксиса — CodeColorer. Как и многие другие плагины (напрмер, WP CodeBox Эрика Вонга или мой CodeBox), CodeColorer использует в качестве движка библиотеку GeSHi. Читать статью «Обновление для CodeColorer 0.6.0» полностью…

В Австралии и США большой популярностью пользуется плагин Clicky — Web Analytics 2.0. Как следует из названия, Clicky является еще одним сервисом для анализа статистики веб-сайта. Судя по приведённой на сайте таблице, Clicky, образно говоря, "затыкает за пояс" даже такого конкурента, как Google Analytics.

Себе на сайты я ставить Clicky не пытался, но наблюдал его в действии в проекте, над которым работаю. Могу сказать, что сервис действительно мощный и удобный, а плагин Clicky для WordPress относится к разряду "сконфигурировал и забыл".

Всё хорошо, но по традиции есть одно "но": если на странице используется, например, Prototype, то плагин начинает кидаться ошибками JavaScript. Читать статью «Clicky 0.3b для WordPress и проблемы с JavaScript» полностью…

Июнь 26, 2008

Сброс пароля в WordPress 2.5.1

Рубрика: Патчи
Метки: , , , ,
Vladimir

У WordPress 2.5.1 есть одна весьма нехорошая ошибка: не работает сброс пароля. При попытке сброса WordPress выдает следующую ошибку: "Sorry, that key does not appear to be valid". Данная ошибка исправлена в dev-версии WordPress 2.5.2.

Тем не менее, все мы люди, и нам, к сожалению, свойственно забывать. В том числе и пароли. Для восстановления пароля ждать выхода официальной версии 2.5.2 не кажется логичным, поэтому будем исправлять то, что есть. Читать статью «Сброс пароля в WordPress 2.5.1» полностью…

Июнь 20, 2008

Патч для WassUp 1.6

Рубрика: Патчи
Метки: , , , , , ,
Vladimir

Недавно вышла очередная версия WassUp, и, что характерно, остались все старые проблемы. Для их решения готов новый патч :-) Но что меня очень разочаровывает, с разработчиками WassUp очень трудно разговаривать :-( За последние несколько месяцев я им неоднократно говорил о различных багах, но они так и остались неисправленными.

Из-за проблем с производительностью я наконец-таки снёс WassUp (слишком много переделывать, чтобы исправить все проблемы, а написан он всё же кривовато), так что данный патч будет всё же последним. Читать статью «Патч для WassUp 1.6» полностью…

oDesk меня сегодня очень удивил…

3.17+1.17=?

Всё-таки, сколько будет 3.17+1.17? :-)

При решении одной задачи с вертикальным выравниванием и плавающими элементами внутри ячейки таблицы, натолкнулся на одну очень интересную особенность браузеров, построенных на движке Gecko, а также Internet Exploret 6 и 7: плавающие элементы конфликтуют со статическими инлайновыми или псевдо-инлайновыми элементами. Читать статью «Проблема с плавающими элементами в FireFox и IE6/7» полностью…

Гуляя по Internet, совершенно случайно натолкнулся на статью "Стили CSS - центрируем объекты по центру веб-страницы".

Первой мыслью было, что автор начнёт рассказывать про вертикальное центрирование и всем известный margin: 0 auto. Но не тут-то было, всё гораздо интереснее :-) Читать статью «Размещение блока неизвестного размера в центре страницы при помощи CSS» полностью…

Так случилось, что срочно понадобилось сделать горизонтальное меню, причем для проекта, который нужно было сдавать вчера :-) Естественно, самому писать не было времени, нужно было взять что-то готовое. Я недавно прочитал статью "Всплывающее гибридное меню на CSS", поэтому взял код именно оттуда. Но не в этом дело. У подавляющего большинства меню камнем преткновения становится IE6 — а всё из-за того, что он понимает :hover только для тэга <a>. Когда-то у меня был заказчик, требовавший, чтобы всё одинаково работало с выключенным JavaScript'ом; вспомнив его, я решил попробовать сделать меню, работающее безо всякого JavaScript. Так получилось, что попутно я нашел еще один очень интресный глюк в IE6 (о нём далее), в борьбе с которым у меня получилось вертикальное меню. Читать статью «Кросс-браузерное одноуровневое вертикальное меню без JavaScript» полностью…

Март 21, 2008

WassUp for WordPress и Windows

Рубрика: WordPress
Метки: , , , , , , , ,
Vladimir

Для WordPress есть замечательный плагин — Wassup. Хороший плагин, но вот беда: не дружит с Windows. Не дружит из-за того, что переменные хардкодить нельзя. Это в Unix/Linux каталоги разделяются ‘/’, а в Windows используется ‘\’. И вот из-за невнимательности автора плагин не работает в Windows. К счастью, всё лечится очень просто.

Патч лежит здесь. Патч нужно применить к файлу /wp-content/plugins/wassup/lib/action.php.

Помимо исправления ошибки с разделителями каталогов, патч исправляет небольшую ошибку, связанную с невалидностью (инвалидностью?) генерируемого (X)HTML-кода.

Читая один замечательный блог, я наткнулся на заметку о том, что в IE6/7 кнопки c "длинным текстом" становятся очень длинными. Читать статью «IE6/7: слишком широкие кнопки» полностью…

Не так давно я боролся с вертикальным выравниванием в Internet Explorer, и вот опять оказалось, что с выходом IE8 Beta это было всё напрасно. Как и многие, я не рискнул устанавливать IE8 на основную машину, поэтому поставил на виртуальную. Затем зашёл на парочку сайтов, которые отображаются нормально во всех остальных браузерах… Я был потрясён и разочарован…

Возникает чувство, что Micro$oft называет свои alpha-релизы бетами. Они делали акцент на том, что MS IE8 проходит тест ACID2, так гордились этим… А оказалось, что всё как обычно: убрали один старый баг, внесли десяток новых. Читать статью «Почему Microsoft называет альфы бетами, или, кому нужны ACID-тесты» полностью…

Работая над одним проектом, мне пришлось столкнуться с одной неприятной задачей: отцентрировать многострочный список (то есть один <ul>, много <li>) так, чтобы элементы списка (неизвестное количество, неизвестная ширина, одинаковая высота) были отцентрированы в каждой строчке:

menu.png

Читать статью «Центрирование нескольких блочных элементов» полностью…

Работая над одним сайтом, столкнулся с одной проблемой: в IE6 при использовании whatever:hover для выпадающего меню, построенного чисто на CSS, и Scriptaculous (а именно, Sortable, причем для элемента, не имеющего никакого отношения к меню) возникало непонятное мерцание. Читать статью «IE6, Sortable и whatever:hover» полностью…