DumbDumb 0 Опубликовано: 21 сен 2021 К концу этой статьи вы узнаете, как создаются веб-сайты, и познакомитесь с некоторыми основными проблемами безопасности. Как работают веб сайты: Когда вы посещаете веб-сайт, ваш браузер (например, 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-код в уязвимый веб-сайт. Санитарная обработка входных данных очень важна для обеспечения безопасности веб-сайтов, поскольку информация, которую пользователь вводит на веб-сайт, часто используется в других функциональных возможностях внешнего и внутреннего интерфейса. войдите в систему как другой пользователь, управляя вводом, который непосредственно используется в запросе. 0 Поделиться сообщением Ссылка на сообщение
muxxa 0 Опубликовано: 22 сен 2021 Такое чувство, что текст как будто из книги "Компьютер для чайников" 10 летней давности 0 Поделиться сообщением Ссылка на сообщение
Brutto 6 Опубликовано: 22 сен 2021 "вилами по воде писано" слабовато для статьи 0 Поделиться сообщением Ссылка на сообщение