Перейти к публикации

DumbDumb

Как устроены веб сайты и проблемы их безопасности

Рекомендованные сообщения

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

Как работают веб сайты:

Когда вы посещаете веб-сайт, ваш браузер (например, safari или google chrome) делает запрос к веб-серверу, запрашивая информацию о странице, которую вы посещаете, и отвечает данными, которые ваш браузер использует для этой страницы; веб-сервер - это просто выделенный компьютер где-то в другом месте в мире, который обрабатывает ваши запросы.

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

HTML:

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

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

<!DOCTYPE html>
<html>
<head>
<title> Page Title </title>
</head>
<body>
<h1> Example Heading </h1>
<p1> Example Paragraph </p1>
</body>
</html>

Структура HTML состоит из следующих компонентов:
Элемент <!DOCTYPE html> определяет, что страница является документами HTML5. Это помогает стандартизировать различные браузеры и указывает браузеру использовать HTML5 для интерпретации страницы.
Элемент <html> является корневым элементом HTML-страницы - все остальные элементы идут после этого элемента.
Элемент <head> содержит информацию о странице (например, заголовок страницы).
Элемент <body> определяет тело HTML-документа, в браузере отображается только его содержимое.
Элемент <h1> определяет большой хешдинг.
Элемент <p1> определяет абзац
Есть много других элементов (тегов), используемых для разных целей. Например, есть теги для кнопок (<button>), изображений (<img>), списков и многого другого.

Теги могут содержать атрибуты, такие как атрибут класса, который можно использовать для стилизации элемента (например, сделать тег другим цветом) <p class = "bold - text">, или атрибут src, который используется на изображениях для указания местоположения изображения: <img src = "img/cat.jpg">. Элемент может иметь несколько атрибутов, каждый со своей уникальной целью, например <p attribute2 = "value1" attribute2 = "value2">

Элементы также могут иметь атрибут id (<p id = "example">), который является уникальным для элемента. В отличие от атрибута class, в котором несколько элементов могут использовать один и тот же класс, элемент должен иметь разные идентификаторы, которые используются для стилизации и идентификации его с помощью JavaScript.

Вы можете просмотреть HTML-код любого веб-сайта, щелкнув правой кнопкой мыши и выбрав «Просмотр исходного кода страницы» (Chrome) / «Показать исходный код страницы» (Safari).

JavaScript:

JavaScript (JS) - один из самых популярных языков программирования в мире, позволяющий странице становиться интерактивной. HTML используется для создания структуры и содержимого веб-сайта, в то время как JavaScript используется для управления функциональностью веб-страниц - без JavaScript страница не будет иметь интерактивных элементов и всегда будет статической. JS может динамически обновлять страницу в режиме реального времени, предоставляя функциональные возможности для изменения стиля кнопки, когда на странице происходит определенное событие (например, когда пользователь нажимает кнопку), или для отображения движущихся анимаций.

JavaScript добавляется в исходный код страницы и либо загружается в тегах <script>, либо может быть включен удаленно с помощью атрибута scr: <script src = "/location/of/javascript_file.js"></script>

Следующий код JavaScript находит на странице HTML-элемент с идентификатором demo и изменяет его содержимое на "Hack the Planet":
document.getElementById("demo").innerHTML = "Hack the Planet";
Элементы HTML также могут иметь события, такие как «onclick» или «onhover», которые выполняют JavaScript при возникновении события. Следующий код изменяет текст элемента с идентификатором на нажатую кнопку:
<button onclick = 'document.grtElementById("demo").innerHTML = "Button Clicked"; '>Click Me!</button>
- события onclick также могут быть определены внутри тегов сценария JavaScript, а не непосредственно в элементах.

Раскрытие конфиденциальных данных:

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

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

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

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

HTML-инъекция:

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

Поделиться сообщением


Ссылка на сообщение

Такое чувство, что текст как будто из книги "Компьютер для чайников" 10 летней давности

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...