Перекрестный протокол XSS с нестандартными портами услуг

Добавьте uniq_by метод для Выстраивания в проекте. Это работает по аналогии с sort_by. Так uniq_by к uniq, как sort_by к sort. Использование:

uniq_array = my_array.uniq_by {|obj| obj.id}

реализация:

class Array
  def uniq_by(&blk)
    transforms = []
    self.select do |el|
      should_keep = !transforms.include?(t=blk[el])
      transforms << t
      should_keep
    end
  end
end

Примечание, что это возвращает новый массив вместо того, чтобы изменить Ваш текущий на месте. Мы не записали uniq_by! метод, но должно быть достаточно легко, если бы Вы хотели.

РЕДАКТИРОВАНИЕ: Tribalvibes указывает, что та реализация является O (n^2). Лучше было бы что-то как (непротестированный)...

class Array
  def uniq_by(&blk)
    transforms = {}
    select do |el|
      t = blk[el]
      should_keep = !transforms[t]
      transforms[t] = true
      should_keep
    end
  end
end
5
задан Cheekysoft 8 September 2009 в 11:29
поделиться

3 ответа

Это можно использовать следующим образом.

  • MrCrim хочет украсть логин у кого-то, кто использует жертву.net
  • MrCrim замечает, что у жертвы.net запущен ftp-сервер на необычном порту
  • MrCrim размещает форму на своем собственном сайте evil.com
  • Форма содержит «команды ftp» в элементах формы, а ее действие отправки - на жертву.net
  • MrCrim пишет сценарий JS, который крадет document.cookie с сайта и размещает этот сценарий в файле .js на сайте evil.com. Вероятно, он работает, включая строку cookie как часть URL-адреса источника изображения, который запрашивается с evil.com
  • . Одна из «команд ftp» в форме MrCrim предназначена для написания небольшого фрагмента JS, который выполняет кражу файлов cookie MrCrim. скрипт
  • MrCrim соблазняет людей взглянуть на evil.com, размещая ссылки на форумах и рассылая спам.
  • Ничего не подозревающий Пользователь переходит по ссылке, размещенной на его любимом форуме, и попадает на evil.com. Он публикует форму, не зная о ее злых и коварных намерениях
  • UnsuspectingUser теперь находится на сайте жертвы и Бам! JS, "введенный" FTP-сервером, выполняется, и cookie UnsuspectingUser для жертвы отправляется на evil.com
  • Profit! : -)
3
ответ дан 15 December 2019 в 06:31
поделиться

Думаю, ваш аргумент состоит в том, что никто не запускает FTP-сервер на том же хосте, что и HTTP-сервер. Вы правы, если это предположение верно. Его нельзя использовать, если вы точно знаете, что у вас нет других открытых портов.

Чтобы использовать эту дыру в IE, на хосте должны быть запущены другие службы, а номера портов должны быть нестандартными. Это действительно редкость. Многие сайты имеют FTP на одном хосте, но обычно используют стандартный номер порта (21). Однако это может случиться. Моя хостинговая компания использует FTP-сервер на нескольких портах (один должен быть нестандартным) на том же хосте, где обслуживается моя веб-страница, и это альтернативный способ обновления страниц, если инструмент разработки не поддерживает WebDAV.

0
ответ дан 15 December 2019 в 06:31
поделиться
  • Атака размещена на другом сервере,
  • FTP-сервер должен быть размещен на сервере жертвы
  • Поскольку атака получает ответ от сервера жертвы, теперь страница злоумышленника может читать файлы cookie. Потому что теперь код злоумышленников отражается в контексте целевого домена.

Вот и все.

Итак нет, вам не нужна другая уязвимость , FTP-сервер или аналогичный сервер с общедоступным портом достаточно, чтобы быть уязвимым.

  • FTP-сервер должен размещаться на сервере-жертве.
  • Поскольку атака получает ответ от сервера-жертвы, теперь страница злоумышленника может читать файлы cookie. Потому что теперь код злоумышленников отражается в контексте целевого домена.
  • Вот и все.

    Итак нет, вам не нужна другая уязвимость , FTP-сервер или аналогичный сервер с общедоступным портом достаточно, чтобы быть уязвимым.

  • FTP-сервер должен размещаться на сервере-жертве.
  • Поскольку атака получает ответ от сервера-жертвы, теперь страница злоумышленника может читать файлы cookie. Потому что теперь код злоумышленников отражается в контексте домена цели.
  • Вот и все.

    Итак нет, вам не нужна другая уязвимость , FTP-сервер или аналогичный сервер с общедоступным портом достаточно, чтобы быть уязвимым.

    0
    ответ дан 15 December 2019 в 06:31
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: