Збережені паролі в Opera та інших браузерах

Нотатки про веб-розробку та адміністрування

Головне меню

Навігація за записами

Ймовірно, дуже багато користувачів Internet зберігають принаймні деякі паролі у своїх браузерах. Власне, всі браузери цю функцію підтримують, але реалізують її по-різному. І з цими паролями досить часто виникають дві проблеми:

1. Найкращий спосіб забути пароль – натиснути на кнопку «запам'ятати пароль». 2. Будь-хто, отримавши доступ до вашого комп'ютера, може зайти на ваші сторінки з використанням запам'ятаних паролів, а за деякого бажання та вміння – підглянути вміст цих паролів.

Але в цьому випадку — ми бачимо, що друга проблема — чудово вирішує першу, доки вона існує.

Розглянемо спосіб, як можна отримати паролі із браузера Opera. Але описаний спосіб можна застосувати до інших браузерів, якщо вони дозволяють редагувати вихідний код сторінки. У Опери ця можливість реалізована з коробки, тоді як для інших — необхідне встановлення додаткових плагінів. Зокрема для Mozila - firebug дозволить зробити те саме, причому різними способами.

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

Отже. Буквально зараз мені дуже захотілося побачити пароль від Gmail. Я його вже й так і сяк уводив і капчу кілька разів набирав – нічого не допомагало. Можна було б змінити, надіславши запит, але хотілося, щоб він залишавсязбереженим на іншому комп'ютері. У результаті з'ясував, що правильний варіант я теж набирав і можна будувати безліч припущень, чому він не підходив.

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

  1. Щоб отримати пароль, нам потрібно відкрити сторінку, на якій менеджер паролів пропонує його ввести.
  2. Відкрити вихідний текст цієї сторінки та знайти кілька ключових моментів цього коду.
  3. ID поля, в яке вводиться пароль;
  4. Дія, що виконується під час відправлення форми;
  5. Внести зміни, застосувати зміни та спробувати вставити пароль.

Не треба лякатися бачачи стільки коду. Нам з нього потрібно відредагувати лише один рядок, а значення для редагування взяти з іншого. 1. Поле з паролем має чітку характерну ознаку - рядокtype="password", що означає, що під час введення рядок закривається зірочками. А отримати з неї нам достатньо значення id: id="Passwd" Рядок «Passwd» нам і потрібна (на інших сайтах вона матиме інше значення id). Маючи id, нам не обов'язково шукати ім'я форми, оскільки id на сторінці унікально.

2. Бажано недопустити відправлення пароля відразу на сервер, при вставці його з менеджера, а натомість видати повідомлення з паролем. Для цього необхідно відредагувати заголовок форми. У нашому випадку він має такий вигляд:Подія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 поля з паролем (яке було визначено на попередньому кроці).

3. Зберігаємо зміни, переходимо на оновлену сторінку та натискаємо на жезл паролів. І бачимо довгоочікувані символи. Якщо ви побачили рядок undefined, то ймовірно він не є паролем, а ви десь припустилися помилки.

У рядку onsubmit="alert(document.getElementById('Passwd').value); return false;" Використовуються подвійні та одинарні лапки. Подвійні на весь рядок одинарні всередині функції getElementById або навпаки.

Якщо в полі з паролем не встановлено ID, його можна дописати чи змінити.