Сохраненные пароли в Opera и других браузерах

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

1. Лучший способ забыть пароль — нажать на кнопку «запомнить пароль».
2. Кто угодно, получив доступ к вашему компьютеру может зайти на ваши страницы с использованием запомненых паролей, а при некотором желании и умении — подсмотреть содержимое этих паролей.

Но в данном случае — мы видим, что вторая проблема — прекрасно решает первую, до тех пор, пока она существует.

Рассмотрим способ, как можно получить пароли из браузера Opera. Но описанный способ можно применить и к другим браузерам, если они позволяют редактировать исходный код страницы. У Оперы эта возможность реализована из коробки, в то время, как для других — необходима установка дополнительных плагинов. В частности для Mozila — firebug позволит сделать тоже самое, причем разными способами.

Проблема отправки паролей через браузер, состоит в том, что они обрабатываются страницей и отправляются на сервер в открытом виде (незашифрованными) и могут быть получены из скриптов запущенных на странице, firewall-ами, proxy-серверами, снифферами установленными на промежуточном сетевом оборудовании. Вирусы запущенные на вашем компьютере, также могут получать их почти из любых форм, во время ввода или вставки.

Итак. Буквально сейчас мне очень захотелось подсмотреть пароль от Gmail. Я его уже и так и сяк вводил и капчу несколько раз набирал — ничего не помогало. Можно было бы поменять, отправив запрос, но хотелось, чтобы он оставался сохраненным на другом компьютере. В итоге выяснил, что правильный вариант я тоже набирал и можно строить множество догадок, почему он не подходил.

Так вот, перейдем к делу.
В Opera есть очень удобная функция — редактирование исходного кода страницы.
По клавишам Сtrl+U открываем исходный код. Вносим в него любые изменения, нажимаем кнопку «применить изменения» и переходим на исходную страницу. Измененная страница далее обрабатывается также, как если бы она была загружена с исходного сайта.

  1. Для того, чтобы получить пароль, нам нужно открыть страницу, на которой менеджер паролей предлагает его ввести.
  2. Открыть исходный текст этой страницы и найти несколько ключевых моментов этого кода.
    • ID поля в которое вводится пароль;
    • Действие, выполняемое при отправке формы;
  3. Внести изменения, применить изменения и попробовать вставить пароль.

Не надо пугаться видя столько кода. Нам из него нужно отредактировать всего одну строчку, а значения для редактирования взять из другой.
1. Поле с паролем иммет четкий характерный признак — строку type="password", обозначающую, что во время ввода строка закрывается звездочками.
<input type="password"
name="Passwd" id="Passwd"
size="18"
class="gaia le val"
/>
А получить из нее нам достаточно значение id: id="Passwd"
Строка «Passwd» нам и нужна (на других сайтах она будет иметь другое значение id).
Имея id, нам уже не обязательно искать имя формы, так как id на странице уникально.

2. Желательно недопустить отправки пароля сразу на сервер, при вставке его из менеджера, а вместо этого выдать сообщение с паролем.
Для этого необходимо отредактировать заголовок формы. В нашем случае он имеет следующий вид:
<form id="gaia_loginform"
action="https://www.google.com/accounts/ServiceLoginAuth" method="post"
onsubmit="return(gaia_onLoginSubmit());"
>
Событие onsubmit происходит перед отправкой формы на сервер и результат его выполнения определяет, будут ли данные отправлены или нет.
В данном случае обработчиком onsubmit является функция gaia_onLoginSubmit. В зависимости от того, вернет функция true или false зависит — будет ли отправлена форма. true — отправлять. false — не отправлять.
Операции которые нам необходимо выполнить можно записать одной строкой:
onsubmit="alert(document.getElementById(‘Passwd’).value); return false;"

Здесь document.getElementById(‘Passwd’).value — значение поля с id=»Passwd»
alert — функция показывающая окно с текстом и единственной кнопкой OK.
«Passwd» — изменяемая часть, id поля с паролем (которое было определено на предыдущем шаге).

Эта строка должна быть прописана в объявлении формы. Если там уже присутствует другая строка onsubmit, то ее необходимо удалить и вместо нее написать эту.

3. Сохраняем изменения, переходим на обновленную страницу и нажимаем на жезл паролей. И видим долгожданные символы.
Если вы увидели строку undefined, то вероятно она не является паролем, а вы где то допустили ошибку.

Примечания:
В случае изменения адреса указанного в action на другой сайт, браузер всем своим видом показывает, что сохранненных паролей для этой страницы нет.
Если вы сохраните страницу у себя на диске, отредактируете ее и откроете в браузере — результат будет аналогичным.

В строке onsubmit="alert(document.getElementById(‘Passwd’).value); return false;" употребляются двойные и одинарные кавычки. Двойные на всю строку, одинарные внутри функции getElementById или наоборот.

Если у поля с паролем не задан ID, то его можно дописать или изменить.

Все эти действия можно автоматизировать, с помощью скрипта устанавливая обработчик onsubmit всех форм, так, чтобы при отправке формы отображались все поля типа password. Этот код может быть вынесен в отдельную кнопку или в закладки.

Аналогичный способ с кнопкой приведен здесь: http://www.computerra.ru/gid/rtfm/browser/357591/
А здесь — способ с установкой закладки, для любого браузера: http://operist.ru/kak-posmotret-parol-soxranennyj-v-mastere-parolej-opery/