Узнать по html логин

Извлечение данных из HTML формы с помощью JavaScript

Извлечение данных из HTML формы с помощью JavaScript

Прежде чем пересылать данные на сервер, введенные пользователем в поля формы на сайте, нужно научится их извлекать. И с этой задачей JavaScript умеет отлично справляться. Существует несколько способов получения данных из HTML форм, но мы в рамках данного урока рассмотрим самый понятный для новичков метод.

HTML + CSS код

Все элементы управления и поля формы должны обязательно находится внутри тега form.

body font-family: sans-serif;
font-weight: 700;
background-color: yellow;
>

form button margin-top: 10px;
font-weight: 700;
padding: 10px 20px;
font-size: large;
>

Получение данных из HTML формы с помощью JavaScript.

JavaScript код

После создания формы в HTML, мы можем обратится к элементу form для получения введенных пользователем данных через JavaScript. Наша форма состоит из четырех полей: name, age, terms, plan и одной кнопки submit. Найдем все поля формы по отдельности через селектор, получим данные и запишем их в объект. В дальнейшем этот объект будет передаваться на сервер.

Найдем элемент form по идентификатору с помощью метода document.getElementById.

const form = document.getElementById(‘form’);

При отправки формы сработает событие submit, которое мы будем отслеживать при помощи слушателя addEventListener. Передадим первым параметром отслеживаемое событие submit (клик по кнопке), а вторым параметром название callback-функции. Данная функция запустится сразу после клика по кнопке.

После нажатия на кнопку Отправить, браузер перезагрузится, что нежелательно. Поэтому отменим дефолтное поведение браузера с помощью метода preventDefault (предотвратить действия по умолчанию). Передадим объект события в аргументах функции и вызовем метод preventDefault для события event.

function getFormValue(event) event.preventDefault();

Что должна делать функция getFormValue? Внутри функции мы получим поля формы и извлечем из них значения.

const name = form.querySelector(‘[name=»name»]’), //получаем поле name
age = form.querySelector(‘[name=»age»]’), //получаем поле age
terms = form.querySelector(‘[name=»terms»]’), //получаем поле terms
plan = form.querySelector(‘[name=»plan»]’); //получаем поле plan

Создадим объект, в который запишем полученные нами данные. Их текстовых полей получим значения data, а из поля с типом checkbox нам нужно получить состояние checked (отмеченную галочку).

const data = name: name.value,
age: age.value,
plan: plan.value,
terms: terms.checked
>;

Для проверки, выведем в консоль объект data.

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

Получение данных из HTML формы с помощью JavaScript.

Выводы

Такой способ очень простой для начинающих, но он лишен гибкости. Ведь мы должны явно указать все поля формы в JavaScript коде, а что если со временем появятся новые поля? Тогда придется программисту при каждом добавлении нового поля, дописывать код.

Читайте также:  Javascript document location reloaded

Создано 19.04.2021 10:23:15

  • Михаил Русаков
  • Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
    Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,
    то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.

    Источник

    Как узнать, какая строка авторизации на сайте?

    Добрый день! Мой вопрос может не имеет отношения к PHP, я не знаю, в каком именно форуме задать вопрос.
    Скажите пожалуйста, как узнать строку авторизации на сайте? Я использую IE, в нем есть F12. Можно ли в F12 посмотреть строку авторизации?
    Например на этом форуме можно авторизоваться: ввести логин и пароль. Как можно узнать, какая строка авторизации на этом форуме?
    Я хочу авторизваться с помощью программирования (не веб-программирования).
    Я себе представляю так структуру строки авторизации:
    http://сайт/страница?login=»логин»&password=»пароль»

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

    Как узнать какая строка выделена в ListView?
    Подскажите, как узнать какая строка выделена в ListView? Нашел свойство SelectedItems, но не понял.

    Как узнать какая строка выделена в JScrollPane
    Создал таблицу, сделал кнопку " удалить строку" вопрос как узнать какая строка таблицы выделена ?

    Как узнать какая строка и таблица была обработана?
    Здравствуйте. Подскажите пожалуйста, как можно узнать в какой таблице и строке этой таблицы.

    Как узнать, какая из двух сетевых карт в системе интегрирована с материнской платой, а какая — нет?
    Две сетевухи в системе, а физически одна интегрированная в материнку. Как узнать которая "та" , а.

    Эксперт PHP

    IMJ, заходите на сайт, открываете инструменты разработчика (F12), переходите в инструментах на вкладку Network, заполняете поля авторизации на сайте, нажимаете войти. В инструментах появится куча гет и пост запросов. Ищете нужный пост запрос, кликаете по нему, прокручиваете окно до строки Form Data, нажимаете view resource, и вуаля — строка запроса.

    Источник

    HackWare.ru

    Этичный хакинг и тестирование на проникновение, информационная безопасность

    Получение имён пользователей сайта методом перебора

    Одним из важных этапов подготовки к брут-форсу входа на сайт является сбор имён пользователей. Важность этого можно показать математически. Например, для брут-форса аутентификации веб-приложения подготовлен словарь на 10,000 имён пользователей и 40,000 паролей. Легко посчитать, что количество комбинаций имя-пароль составит 10,000*40,000=400,000,000, т.е. очень много.

    Читайте также:  Тег INPUT, атрибут value

    Если удалось собрать имена пользователей, допустим, список получился из десяти имён, то для перебора пар имя-пароль с тем же словарём паролей получится 10*40,000=400,000, т.е. разница драматическая – на три порядка.

    Метод сбора имён пользователя зависит от конкретного приложения: некоторые содержат этот список в открытом виде и достаточно его спарсить, некоторые содержат профили пользователей и их можно перебрать по ID или адресу в URL. В этой заметке я покажу, как собрать имена пользователей через форму входа, которая сама говорит, существует пользователь или нет. Например, имеется форма входа:

    При вводе данных реального пользователя, но с неправильным паролем, она выдаёт:

    Password incorrect – неверный пароль.

    А при вводе логина несуществующего пользователя мы видим:

    Account does not exist – аккаунт не существует.

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

    Для осуществления перебора, в результате которого будет составлен список пользователей веб-сайта, я буду использовать Burp Suite и patator.

    Делаем тестовый вход с заведомо неправильным логином и получаем:

    POST /mutillidae/index.php?page=login.php HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Referer: http://localhost/mutillidae/index.php?page=login.php Cookie: showhints=0; PHPSESSID=r0tduju2e6cl0q0jmc2b8qgfq5 Connection: close Content-Type: application/x-www-form-urlencoded Content-Length: 65 username=admin111&password=password&login-php-submit-button=Login

    Эта информация дала нам следующие сведения:

    • Данные передаются методом POST
    • Они передаются хосту localhost на страницу /mutillidae/index.php?page=login.php
    • Передаётся строка username=admin111&password=password&login-php-submit-button=Login, в которой admin111 – это имя пользователя, а password – это пароль.

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

    Мы уже видели, что в случае отсутствия аккаунта появляется запись «Account does not exist». Т.е., вроде бы, если аккаунта нет, то в HTML коде должна быть строка «Account does not exist». Правильно?

    Давайте проверим. Введём логин существующего пользователя, но с неправильным паролем. В Burp Suite мы переходим к новому пункту в HTTP history, выбираем вкладку Response и под-вкладку Raw. Теперь сделаем поиск по строке «Account does not exist»:

    Как можно убедиться, строка «Account does not exist» присутствует, как и другие строки, которые выводятся при разных ошибках.

    Это означает, что строка «Account does not exist» является частью кода, всегда содержится в странице, даже если мы её не видим. Т.е. эта строка не подходит для проверки был ли результат положительным или отрицательным.

    Читайте также:  Технология создания html документа

    Посмотрим на часть JavaScript кода:

    switch(lAuthenticationAttemptResultFlag)< case cACCOUNT_DOES_NOT_EXIST: lMessage="Account does not exist"; lAuthenticationFailed = "TRUE"; break; case cPASSWORD_INCORRECT: lMessage="Password incorrect"; lAuthenticationFailed = "TRUE"; break; case cNO_RESULTS_FOUND: lMessage="No results found"; lAuthenticationFailed = "TRUE"; break; case cAUTHENTICATION_EXCEPTION_OCCURED: lMessage="Exception occurred"; lAuthenticationFailed = "TRUE"; break; >;

    switch говорит о том, в зависимости от значения lAuthenticationAttemptResultFlag выбирается одна из случаев.

    Сделаем поиск переменной lAuthenticationAttemptResultFlag. При несуществующем аккаунте:

    Итак, если аккаунт не существует, значит в HTML коде будет содержаться строка:

    var lAuthenticationAttemptResultFlag = 0;
    wget https://raw.githubusercontent.com/1N3/BruteX/master/wordlists/namelist.txt
    cat namelist.txt | sort | uniq > namelist_new.txt

    Теперь у нас имеется вся необходимая информация для перебора имён пользователей на сайте.

    Даже если вы пользуетесь Kali Linux, то рекомендуется проверить установленную версию patator и если она не является самой свежей, то загрузить свежую:

    wget https://raw.githubusercontent.com/lanjelot/patator/master/patator.py chmod +x patator.py ./patator.py

    У меня получилась такая команда:

    ./patator.py http_fuzz url="localhost/mutillidae/index.php?page=login.php" method=POST body='username=FILE0&password=password&login-php-submit-button=Login' 0=namelist_new.txt accept_cookie=1 -x ignore:fgrep='var lAuthenticationAttemptResultFlag = 0;'

    Если вам в ней что-то непонятно, то обратитесь к инструкции «Брут-форс веб-сайтов: инструкция по использованию patator, Hydra, Medusa». Там подробно описывается процесс составления команд для брут-форса веб-приложений. Строка &password=password означает, что переменной &password всегда присвоено одно и то же значение (в данном случае password, но можно было выбрать любое произвольное слово, поскольку для брут-форса имён пользователей это несущественно).

    В столбце candidate можно увидеть пять имён пользователей целевого веб-сайта. Можно продолжить искать новых пользователей с помощью другого словаря или полного перебора, а можно создать маленький словарь из этих пяти логинов и начать уже брутфорсить пароли – процесс пойдёт значительно быстрее, чем если бы одновременно брутфорсились и имена пользователей и пароли.

    Если форма ввода при вводе неправильных данных показывает что-то вроде «Неправильное имя пользователя или пароль», т.е. не выдаёт информацию, существует ли такой пользователь, то стоит проанализировать другие доступные формы. Например, в разделе «восстановление забытого пароля» веб-приложение может выдавать информацию о существовании пользователя с введённым логином (или адресом почты).

    Как видим, не совсем удачная реализация аутентификации или предварительная разведка позволяют очень значительно (на несколько порядков) сократить время, необходимое на брут-форс учётных данных для входа.

    Связанные статьи:

    Источник

    Узнать по html логин

    Learn Latest Tutorials

    Splunk tutorial

    SPSS tutorial

    Swagger tutorial

    T-SQL tutorial

    Tumblr tutorial

    React tutorial

    Regex tutorial

    Reinforcement learning tutorial

    R Programming tutorial

    RxJS tutorial

    React Native tutorial

    Python Design Patterns

    Python Pillow tutorial

    Python Turtle tutorial

    Keras tutorial

    Preparation

    Aptitude

    Logical Reasoning

    Verbal Ability

    Company Interview Questions

    Artificial Intelligence

    AWS Tutorial

    Selenium tutorial

    Cloud Computing

    Hadoop tutorial

    ReactJS Tutorial

    Data Science Tutorial

    Angular 7 Tutorial

    Blockchain Tutorial

    Git Tutorial

    Machine Learning Tutorial

    DevOps Tutorial

    B.Tech / MCA

    DBMS tutorial

    Data Structures tutorial

    DAA tutorial

    Operating System

    Computer Network tutorial

    Compiler Design tutorial

    Computer Organization and Architecture

    Discrete Mathematics Tutorial

    Ethical Hacking

    Computer Graphics Tutorial

    Software Engineering

    html tutorial

    Cyber Security tutorial

    Automata Tutorial

    C Language tutorial

    C++ tutorial

    Java tutorial

    .Net Framework tutorial

    Python tutorial

    List of Programs

    Control Systems tutorial

    Data Mining Tutorial

    Data Warehouse Tutorial

    Javatpoint Services

    JavaTpoint offers too many high quality services. Mail us on h[email protected], to get more information about given services.

    • Website Designing
    • Website Development
    • Java Development
    • PHP Development
    • WordPress
    • Graphic Designing
    • Logo
    • Digital Marketing
    • On Page and Off Page SEO
    • PPC
    • Content Development
    • Corporate Training
    • Classroom and Online Training
    • Data Entry

    Training For College Campus

    JavaTpoint offers college campus training on Core Java, Advance Java, .Net, Android, Hadoop, PHP, Web Technology and Python. Please mail your requirement at [email protected].
    Duration: 1 week to 2 week

    Like/Subscribe us for latest updates or newsletter RSS Feed Subscribe to Get Email Alerts Facebook Page Twitter Page YouTube Blog Page

    Источник

    Оцените статью