03 Бер, 2023

Обхід перевірки на стороні клієнта

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

Обхід перевірки на стороні клієнта (CSV) відноситься до способу обходу перевірок достовірності, які виконуються веб-додатками на стороні клієнта, наприклад, в браузері користувача, без запуску будь-яких попереджень і повідомлень про помилки. Зазвичай це робиться шляхом маніпулювання або зміни даних, що відправляються з боку клієнта на сторону сервера, щоб обійти або ухилитися від діючих перевірок достовірності.

Деякі поширені методи, що використовуються для обходу перевірки на стороні клієнта, включають редагування HTML-коду, використання JavaScript для зміни даних форми та використання перехоплюючих проксі-серверів для перехоплення і зміни HTTP-запитів. Ці методи можуть бути використані зловмисниками для обходу заходів безпеки та отримання несанкціонованого доступу до конфіденційних даних або ресурсів, а також для виконання інших шкідливих дій.

Приклад уразливого коду на різних мовах програмування:


в JavaScript:

				
					var password = document.getElementById('password').value;
if (password.length < 8) {
    alert('Password must be at least 8 characters long');
    return false;
}

				
			

 

У цьому прикладі код JavaScript перевіряє, чи пароль користувача не менше 8 символів. Однак зловмисник може легко обійти цю перевірку, змінивши HTML-код або використовуючи інструменти розробника браузера для зміни значення поля пароля.

Щоб запобігти це, серверний код повинен виконати додаткові перевірки достовірності, щоб переконатися, що пароль відповідає необхідним вимогам до складності.

• В PHP:

				
					$password = $_POST['password'];
if (strlen($password) < 8) {
    die('Password must be at least 8 characters long');
}

				
			

 

У цьому PHP-коді довжина пароля перевіряється перед його обробкою серверним додатком. Однак зловмисник може обійти цю перевірку, змінивши дані запиту POST перед його відправкою на сервер.

Щоб запобігти це, серверний код повинен виконати додаткові перевірки достовірності, щоб переконатися, що пароль відповідає необхідним вимогам до складності, та очистити користувальницький введення для запобігання атак з використанням ін'єкцій.

• в Python:

				
					password = request.form.get('password')
if len(password) < 8:
    return 'Password must be at least 8 characters long'

				
			

 

У цьому коді на Python довжина пароля перевіряється перед його обробкою серверним додатком. Однак зловмисник може обійти цю перевірку, змінивши дані форми перед її відправкою на сервер.

Щоб запобігти це, серверний код повинен виконати додаткові перевірки достовірності, щоб переконатися, що пароль відповідає необхідним вимогам до складності, та очистити користувальницький введення для запобігання атак з використанням ін'єкцій.

Приклади використання обходу перевірки на стороні клієнта

Обхід перевірок довжини:

Зловмисник може обійти перевірку довжини при перевірці на стороні клієнта, змінивши код HTML або JavaScript. Наприклад, зловмисник може використовувати інструменти розробника браузера для зміни функції перевірки довжини, щоб вона завжди повертала значення true, що дозволяє їм відправляти короткі паролі або інші вхідні дані, ніж ті, які потрібні серверного додатку.

Обхід перевірки вхідних даних:

Зловмисник може обійти перевірку правильності введення на стороні клієнта, відправивши шкідливі вхідні дані на сервер, не викликаючи жодних попереджень і повідомлень про помилки. Наприклад, зловмисник може використовувати перехоплюючі проксі-сервери для перехоплення і зміни HTTP-запитів, змінюючи вхідні дані так, щоб вони містили шкідливий код або атаки з використанням SQL-ін'єкцій.

Обхід перевірок формату даних:

Зловмисник може обійти перевірку формату даних на стороні клієнта, маніпулюючи вхідними даними, щоб вони відповідали очікуваним формату. Наприклад, зловмисник може відправити підроблений адресу електронної пошти або номер телефону, який проходить перевірку на стороні клієнта, але не є дійсним в реальному світі.

Обхід засобів контролю безпеки:

Зловмисник може обійти засоби контролю безпеки на стороні клієнта, маніпулюючи або змінюючи вхідні дані або поведінку додатка способами, які не були передбачені розробниками. Наприклад, зловмисник може змінити код на стороні клієнта, щоб вимкнути засоби контролю безпеки або увімкнути режим налагодження, що дозволяє їм отримати доступ до конфіденційної інформації чи ресурсів.

Методи підвищення привілеїв для обходу перевірки на стороні клієнта

Ін'єкційні атаки:

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

Перехоплення сеансу:

Іншим методом підвищення привілеїв є перехоплення сеансу, який включає в себе крадіжку ідентифікатор сеансу користувача або маркер для доступу до облікового запису користувача або для підвищення привілеїв. Наприклад, зловмисник може використовувати атаки з використанням міжсайтового скриптинга (XSS) для крадіжки токена сеансу користувача або файлу cookie, що дозволяє йому видавати себе за користувача та виконувати дії від його імені.

Впровадження коду:

Зловмисник також може використовувати методи впровадження коду для підвищення привілеїв шляхом впровадження шкідливого коду в серверний додаток. Наприклад, зловмисник може використовувати атаки віддаленого виконання коду (RCE) для виконання довільного коду на сервері, що дозволяє йому взяти під контроль додаток або отримати адміністративний доступ.

Зміна параметрів:

Підробка параметрів включає в себе зміну вхідних параметрів або даних, які відправляються в серверний додаток, щоб обійти перевірки достовірності або підвищити привілеї. Наприклад, зловмисник може змінити параметри HTTP-запиту, щоб обійти автентифікації або виконати несанкціоновані дії.

Загальна методологія та контрольний список для обходу перевірки на стороні клієнта

Методологія:

  1. Визначити механізми перевірки вхідних даних: Першим кроком є визначення механізмів перевірки вхідних даних, використовуваних додатком, включаючи перевірки на стороні клієнта, перевірки на стороні сервера та інші засоби контролю безпеки.

  2. Аналіз клієнтського коду: Наступним кроком є аналіз клієнтського коду, включаючи HTML, CSS і JavaScript, для виявлення потенційних вразливостей, таких як перевірки довжини, формату даних і інші типи перевірки вхідних даних.

  3. Маніпулювати введенням на стороні клієнта: Наступний крок - маніпулювати вхідними даними на стороні клієнта, щоб обійти перевірки достовірності і відправити невірні або шкідливі дані в серверний додаток. Це може включати зміну коду HTML і JavaScript, використання інструментів розробника браузера або перехоплення HTTP-запитів.

  4. Відстежувати відповіді на стороні сервера: Наступним кроком є моніторинг відповідей на стороні сервера для виявлення будь-якого несподіваного або несанкціонованого поведінки, такого як обхід перевірок достовірності, доступ до неавторизованим даними або ресурсів або виконання неавторизованих дій.

  5. Використовувати уразливості: Нарешті, якщо виявлені вразливості, тестувальник може спробувати використати їх для отримання несанкціонованого доступу чи підвищення привілеїв в системі або додатку.

Контрольний список:

  1. Визначте всі механізми перевірки вхідних даних, що використовуються додатком, включаючи перевірки на стороні клієнта, перевірки на стороні сервера та інші засоби контролю безпеки.

  2. Проаналізуйте код на стороні клієнта, включаючи HTML, CSS і JavaScript, для виявлення потенційних вразливостей, таких як перевірка довжини, перевірка формату даних і інші типи перевірки вхідних даних.

  3. Маніпулюйте вхідними даними на стороні клієнта, щоб обійти перевірки достовірності і відправити невірні або шкідливі дані в серверний додаток. Це може включати зміну коду HTML і JavaScript, використання інструментів розробника браузера або перехоплення HTTP-запитів.

  4. Протестуйте на предмет ін'єкційних атак, таких як впровадження SQL, міжсайтовий скриптінг (XSS) або віддалене виконання коду (RCE), шляхом впровадження шкідливого коду або даних у серверний додаток.

  5. Перевірте на підробку параметрів, змінивши параметри HTTP-запиту, щоб обійти автентифікації або виконати несанкціоновані дії.

  6. Перевірте на перехоплення сеансу, викравши ідентифікатор сеансу користувача або токен, щоб отримати доступ до облікового запису користувача або підвищити привілеї.

  7. Перевірте наявність засобів контролю безпеки, такі як обмеження швидкості, капчі або інші механізми, які використовуються для запобігання автоматичних атак.

  8. Перевірте правильність даних, відправивши різні типи даних, включаючи невірні дані, щоб переконатися, що серверний додаток правильно перевіряє всі вхідні дані.

  9. Запишіть всі результати, включаючи будь-які виявлені вразливості, потенційні загрози безпеки та рекомендації з усунення.

  10. Повторіть тестування і переконайтеся, що всі виявлені уразливості були належним чином усунуті, перш ніж додаток буде розгорнуто у виробничому середовищі.

Набір інструментів для експлуатації Обхід перевірки на стороні клієнта

Ручні Інструменти:

  • Burp Suite – Burp Suite - це інструмент тестування безпеки веб-додатків, який може використовуватися для перехоплення і зміни HTTP-запитів і відповідей. Він включає в себе проксі-сервер, який дозволяє тестувальникам перехоплювати вхідні дані на стороні клієнта і маніпулювати ними, щоб обійти перевірки достовірності.

  • Postman – Postman - це інструмент для розробки API, який дозволяє тестувальникам відправляти HTTP-запити до веб-служб і перевіряти відповіді. Його можна використовувати для перевірки обходу перевірки на стороні клієнта шляхом надіслання запитів з неприпустимими або шкідливими даними.

  • Fiddler – Fiddler - це проксі-сервер веб-налагодження, який може використовуватися для перехоплення і зміни HTTP-трафіку. Його можна використовувати для перевірки обходу перевірки на стороні клієнта, маніпулюючи введенням на стороні клієнта і спостерігаючи за результуючими відповідями на стороні сервера.

  • OWASP ZAP OWASP ZAP – це інструмент тестування безпеки веб-додатків з відкритим вихідним кодом, який можна використовувати для перевірки веб-додатків на наявність вразливостей, включаючи обхід перевірки на стороні клієнта. Він включає в себе проксі-сервер, який дозволяє тестувальникам перехоплювати і змінювати HTTP-трафік.

  • Chrome Developer Tools – Chrome Developer Tools - це набір інструментів веб-розробки і налагодження, вбудованих в браузер Chrome. Він включає в себе мережевий монітор, який можна використовувати для перехоплення і зміни HTTP-трафіку, а також консоль JavaScript, яку можна використовувати для зміни клієнтського коду.

  • Firefox Developer Tools – Інструменти розробника Firefox - це набір інструментів веб-розробки і налагодження, вбудованих в браузер Firefox. Він включає в себе мережевий монітор, який можна використовувати для перехоплення і зміни HTTP-трафіку, а також консоль JavaScript, яку можна використовувати для зміни клієнтського коду.

  • Wireshark – Wireshark - це аналізатор мережевих протоколів, який можна використовувати для збору і аналізу мережевого трафіку. Його можна використовувати для перехоплення і аналізу HTTP-трафіку з метою виявлення вразливостей, включаючи обхід перевірки на стороні клієнта.

  • Ручний перегляд коду – Ручна перевірка коду включає в себе аналіз вихідного коду програми для виявлення потенційних вразливостей, включаючи обхід перевірки на стороні клієнта. Це вимагає глибокого розуміння мов програмування та кращих практик веб-розробки.

Автоматизовані інструменти:

  • Nikto – Nikto - це сканер веб-додатків, який можна використовувати для сканування веб-додатків на наявність вразливостей, включаючи обхід перевірки на стороні клієнта. Він включає в себе набір визначених тестів, які можуть бути запущені проти додатки для виявлення потенційних вразливостей.

  • Arachni – Arachni - це сканер веб-додатків з відкритим вихідним кодом, який можна використовувати для перевірки веб-додатків на наявність вразливостей, включаючи обхід перевірки на стороні клієнта. Він включає в себе набір визначених тестів і може бути налаштований для виконання призначених для користувача тестів.

  • Wapiti – Wapiti - це сканер веб-додатків, який можна використовувати для сканування веб-додатків на наявність вразливостей, включаючи обхід перевірки на стороні клієнта. Він включає в себе набір визначених тестів і може бути налаштований для виконання призначених для користувача тестів.

  • Skipfish – Skipfish - це сканер веб-додатків, який можна використовувати для сканування веб-додатків на наявність вразливостей, включаючи обхід перевірки на стороні клієнта. Він включає в себе набір визначених тестів і може бути налаштований для виконання призначених для користувача тестів.

  • OWASP Dependency-Check – Перевірка залежностей OWASP - це інструмент, який можна використовувати для сканування веб-додатків на наявність відомих вразливостей в сторонніх залежностях. Він може бути використаний для виявлення вразливостей в клієнтських бібліотек JavaScript.

  • Retire.js – Retire.js це інструмент, який можна використовувати для сканування веб-додатків на наявність відомих вразливостей в клієнтських бібліотек JavaScript. Він може бути використаний для виявлення вразливостей в інших бібліотеках, використовуваних додатком.

  • SonarQube – SonarQube - це інструмент аналізу коду, який можна використовувати для перевірки веб-додатків на наявність вразливостей, включаючи обхід перевірки на стороні клієнта. Вона включає в себе

Загальна перерахування слабких місць (CWE)

• CWE-20: Неправильна перевірка вхідних даних – цей CWE пов'язаний з відсутністю належної перевірки вхідних даних на стороні клієнта, що може дозволити зловмисникам відправляти шкідливі вхідні дані в обхід перевірок перевірки.

• CWE-74: Неправильна нейтралізація спеціальних елементів у вихідних даних, використовуваних Нижчестоящим компонентом – цей CWE пов'язаний з відсутністю належного кодування вихідних даних на стороні клієнта, що може дозволити зловмисникам впроваджувати шкідливий код у вихідні дані.

• CWE-79: Неправильна нейтралізація вводу під час генерації веб–сторінки - це CWE пов'язаний з відсутністю належної перевірки введення на стороні клієнта, що може дозволити зловмисникам відправляти шкідливі вхідні дані в обхід перевірок перевірки і впроваджувати шкідливий код.

• CWE-94: Неправильний контроль генерації коду ('Впровадження коду') – Цей CWE пов'язаний з відсутністю належної перевірки вхідних даних на стороні клієнта, що може дозволити зловмисникам впроваджувати шкідливий код в додаток.

• CWE-98: Неправильний контроль імені файлу інструкції Include / Require у програмі PHP – Цей CWE пов'язаний з відсутністю належної перевірки введення на стороні клієнта, що може дозволити зловмисникам впровадити шкідливий код в додаток.

• CWE-116: Неправильне кодування або екранування вихідних даних – це CWE пов'язано з відсутністю належного кодування вихідних даних на стороні клієнта, що може дозволити зловмисникам впроваджувати шкідливий код у вихідні дані.

• CWE-602: Забезпечення безпеки на стороні сервера на стороні клієнта - це CWE пов'язано з залежністю від перевірки на стороні клієнта для забезпечення безпеки на стороні сервера, що може дозволити зловмисникам обходити перевірки перевірки.

• CWE-754: Неправильна перевірка на наявність незвичайних або виняткових умов – цей CWE пов'язаний з відсутністю належної обробки незвичайних або виняткових умов на боці клієнта, що може дозволити зловмисникам обійти перевірки достовірності.

• CWE-807: Залежність від ненадійних вхідних даних при прийнятті рішення про безпеку – цей CWE пов'язаний із залежністю від ненадійних вхідних даних на стороні клієнта для прийняття рішень щодо безпеки, що може дозволити зловмисникам обійти перевірки та впровадити шкідливий код.

• CWE-918: Підробка запиту на стороні сервера (SSRF) – Цей CWE пов'язаний зі здатністю зловмисників маніпулювати введенням на стороні клієнта, щоб обійти перевірки достовірності та надсилати запити на сервер, що може призвести до атак SSRF.

CVE, пов'язані з обходом перевірки на стороні клієнта

• CVE-2023-0581 – Плагін PrivateContent для WordPress вразливий для обходу механізму захисту через використання перевірки на стороні клієнта у версіях 8.4.3 включно. Це пов'язано з тим, що плагін перевіряє, чи IP-адресу заблоковано за допомогою клієнтських скриптів, а не на стороні сервера. Це дозволяє зловмисникам, які не пройшли перевірку автентичності, обходити будь-які обмеження на вхід, які можуть запобігти атаку методом перебору.

• CVE-2021-0269 – Неправильна обробка параметрів на стороні клієнта в J-Web ОС Juniper Networks Junos дозволяє зловмиснику виконувати ряд різних шкідливих дій проти цільового пристрою, коли користувач проходить аутентифікацію в J-Web. Зловмисник може замінити існуючі параметри, включаючи жорстко задані параметри в сеансі HTTP / S, отримати доступ до змінних і використовувати їх, обійти правила брандмауера веб-додатки або механізми перевірки вводу, а також іншим чином змінити нормальне поведінка J-Web. Зловмисник може перенаправляти жертв на шкідливі веб-служби або отримувати конфіденційну інформацію з захищених веб-форм. Ця проблема зачіпає: Juniper Networks ОС Junos: всі версії до 17.4R3-S3; 18.1 версії до 18.1R3-S12; 18.2 версії до 18.2R3-S6; 18.3 версії до 18.3R3-S4; 18.4 версії до 18.4R3-S6; 19.1 версії до 19.1R3-S4; 19.2 версії до 19.2R3-S1; 19.3 версії до 19.3R3-S1; 19.4 версії до 19. 4R2-S2, 19.4R3; 20.1 версії до 20.1R2; 20.2 версії до 20.2R2.

• CVE-2020-24683 – Порушені версії S + Operations (версія 2.1 SP1 і більш ранні) використовували підхід для аутентифікації користувача, який заснований на перевірці на клієнтському комп'ютері (перевірка справжності на стороні клієнта). Це не так безпечно, як якщо б сервер перевіряв клієнтське додаток, перш ніж дозволити підключення. Отже, якщо мережева зв'язок або кінцеві точки для цих додатків не захищені, неавторизовані суб'єкти можуть обійти перевірку автентичності і встановити несанкціоновані підключення до серверного додатку.

• CVE-2019-16327 – Пристрої D-Link DIR-601 B1 2.00 NA уразливі для обходу аутентифікації. Вони не перевіряють аутентифікацію на стороні сервера і покладаються на перевірку на стороні клієнта, яку можна обійти. ПРИМІТКА: це продукт з терміном служби.

• CVE-2014-0868 – RICOS в IBM Algo Credit Limits (він же ACLM) з 4.5.0 за 4.7.0 до 4.7.0.03 FP5 в IBM Algorithmics покладається на перевірку вхідних даних на стороні клієнта, що дозволяє віддаленим аутентифікованим користувачам обходити передбачувані обмеження подвійного контролю і змінювати дані з допомогою створеного XML-документа, що підтверджується маніпулюванням даними обмеження тільки для читання.

• CVE-2014-0865 – RICOS в IBM Algo Credit Limits (він же ACLM) з 4.5.0 за 4.7.0 до 4.7.0.03 FP5 в IBM Algorithmics покладається на перевірку вхідних даних на стороні клієнта, що дозволяє віддаленим аутентифікованим користувачам обходити передбачувані обмеження подвійного контролю і змінювати дані з допомогою створених серіалізовать об'єктів, як показано в маніпуляціях з обмеженнями.

• CVE-2013-1245 – Сторінка управління користувачами в Cisco WebEx Social заснована на перевірці на стороні клієнта значень в полях Екранне ім'я, Ім'я, по батькові, прізвище, адресу електронної пошти та посаду, що дозволяє віддаленим аутентифікованим користувачам обходити передбачувані обмеження доступу за допомогою оброблених запитів, також відомих як Ідентифікатор помилки CSCue67190.

• CVE-2007-1331 – Численні уразливості міжсайтового скриптинга (XSS) в TKS Banking Solutions ePortfolio 1.0 Java дозволяють віддаленим зловмисникам впроваджувати довільний веб-скрипт або HTML за допомогою невказаних векторів, які обходять схему захисту на стороні клієнта, одним з яких може бути параметр q в пошуковій програмі. ПРИМІТКА: деякі з цих відомостей отримані з інформації третьої сторони.

Обхід перевірки на стороні клієнта подвиги

  • SQL-ін'єкція: Зловмисник може маніпулювати перевіркою на стороні клієнта, щоб впровадити шкідливий SQL-код на сервер, що може призвести до несанкціонованого доступу до конфіденційних даних.

  • Міжсайтовий скриптінг (XSS): Зловмисник може обійти перевірку на стороні клієнта, щоб впровадити шкідливі сценарії код на стороні клієнта, які можуть вкрасти дані користувача або перехопити сеанси користувача.

  • Підробка міжсайтових запитів (CSRF): Зловмисник може обійти перевірку на стороні клієнта, щоб відправляти несанкціоновані запити на сервер, що може призвести до несанкціонованого доступу до конфіденційних даних або дій.

  • Порушена аутентифікація та управління сеансами: Зловмисник може обійти перевірку на стороні клієнта, щоб перехопити сеанси користувачів або маніпулювати токенами аутентифікації, що може дозволити їм отримати несанкціонований доступ до конфіденційних даних або виконати несанкціоновані дії.

  • Атаки на включення файлів: Зловмисник може обійти перевірку на стороні клієнта, щоб впровадити шкідливий код в інструкції про включення файлів, що може призвести до несанкціонованого доступу до конфіденційних даних або виконання шкідливого коду.

  • Впровадження зовнішньої сутності XML (XXE): Зловмисник може обійти перевірку на стороні клієнта, щоб впровадити шкідливі XML-об'єкти, що може призвести до несанкціонованого доступу до конфіденційних даних або атак типу "відмова в обслуговуванні".

  • Відкриті атаки з перенаправленням: Зловмисник може обійти перевірку на стороні клієнта, щоб маніпулювати URL-адресами перенаправлення, що може призвести до фішинговим атак або несанкціонованого доступу до конфіденційних даних.

  • Атаки з обходом шляху: Зловмисник може обійти перевірку на стороні клієнта, щоб маніпулювати шляхами до файлів, що може призвести до несанкціонованого доступу до конфіденційних даних або виконання шкідливого коду.

  • Атаки з використанням командного ін'єкції: Зловмисник може обійти перевірку на стороні клієнта, щоб впровадити шкідливі команди, що може призвести до виконання шкідливого коду на сервері або несанкціонованого доступу до конфіденційних даних.

  • Атаки на підробку запитів на стороні сервера (SSRF): Зловмисник може обійти перевірку на стороні клієнта, щоб маніпулювати запитами на стороні сервера, що може призвести до несанкціонованого доступу до конфіденційних даних або атакам на внутрішні системи.

Практикуючись в тестуванні на Обхід перевірки на стороні клієнта

Визначте поля введення і перевірки достовірності: По-перше, визначте всі поля введення у веб-додатку і перевірки дійсності, які існують для кожного поля.

Маніпулювати полями введення: Спробуйте маніпулювати полями введення, вводячи значення, які не можна при перевірці достовірності. Наприклад, якщо текстове поле допускає тільки літери та цифри, спробуйте ввести спеціальні символи або код SQL.

Спостерігайте за реакцією додатка: Поспостерігайте, як додаток реагує на змінений enter. Якщо додаток приймає вхідні дані, воно може бути вразливим для обходу перевірки на стороні клієнта.

Спробуйте обійти перевірку на стороні клієнта: Як тільки ви визначили вразливе поле введення, спробуйте обійти перевірку на стороні клієнта, використовуючи такі інструменти, як Burp Suite, OWASP ZAP або інші подібні інструменти.

Надішліть оброблений введення: Надішліть оброблений введення на сервер і поспостерігайте за відповіддю. Якщо сервер приймає вхідні дані, а програма веде себе несподівано, воно може бути вразливим для атаки в обхід перевірки на стороні клієнта.

Перевірка на наявність інших уразливостей: Після того як ви визначили вразливість обходу перевірки на стороні клієнта, перевірте наявність інших пов'язаних вразливостей, таких як впровадження SQL, міжсайтовий скриптінг (XSS) та інші.

Повідомте про результати: Якщо ви виявите які-небудь проблеми, повідомте про них власникам додатків або розробникам і надайте їм докладну інформацію про те, як відтворити проблему, і кроки з усунення вразливості.

Продовжуйте практикуватися: Обхід перевірки на стороні клієнта є поширеною вразливістю, тому важливо продовжувати практикуватися і бути в курсі нових інструментів і методик для виявлення і використання цих вразливостей. Відвідуйте конференції, беріть участь в CTFS і співпрацюйте з іншими фахівцями з безпеки, щоб продовжувати вчитися і вдосконалювати свої навички.

Для вивчення обходу перевірки на стороні клієнта

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

Керівництво хакера веб-додатків: У цій книзі докладно розглядаються питання безпеки веб-додатків, включаючи обхід перевірки на стороні клієнта. Вона охоплює широке коло тем, від базових концепцій веб-додатків до просунутих атак і технік.

Онлайн-курси: Доступно кілька онлайн-курсів, присвячених безпеки веб-додатків і обходу перевірки на стороні клієнта, таких як "Тестування на проникнення веб-додатків" на Udemy та "Безпека веб-додатків" на Coursera.

Практичні лабораторії: Кілька онлайн-платформ надають практичні лабораторії для тестування безпеки веб-додатків, такі як TryHackMe, HackTheBox і PentesterLab. Ці платформи пропонують реальні сценарії для практичного тестування та використання вразливостей, включаючи обхід перевірки на стороні клієнта.

Події захоплення прапора (CTF): CTFS - це змагання, які перевіряють навички учасників в пошуку і використанні уразливостей у веб-додатках. Існує кілька заходів CTF, присвячених безпеки веб-додатків, таких як OWASP Global AppSec і Google CTF.

Інструменти з відкритим вихідним кодом: Існує кілька інструментів з відкритим вихідним кодом для тестування і використання вразливостей обходу перевірки на стороні клієнта, таких як Burp Suite, OWASP ZAP і SQLMap. Ці інструменти можуть допомогти вам вивчити і застосувати на практиці методи виявлення і використання вразливостей.

Книги з оглядом обходу перевірки на стороні клієнта

Керівництво хакера веб-додатків: пошук і використання недоліків безпеки, 2-е видання Дафидд Штуттард і Маркус Пінто – Ця книга являє собою всеосяжне керівництво з безпеки веб-додатків, включаючи методи обходу перевірки на стороні клієнта.

Black Hat Python: Програмування на Python для хакерів і пентестеров автор: Джастін Зейтц – У цій книзі розглядаються методи програмування на Python для злому і тестування на проникнення, включаючи обхід перевірки на стороні клієнта.

Заплутана мережа: керівництво по забезпеченню безпеки сучасних веб-додатків Міхал Залевські – Ця книга охоплює широкий спектр питань безпеки веб-додатків, включаючи обхід перевірки на стороні клієнта, межсайтовые сценарії (XSS) і багато іншого.

Злом інформаційної безпеки: Освоєння основ 101 Джош Мор і Ентоні Стибер – Ця книга являє собою введення в інформаційну безпеку і охоплює такі теми, як обхід перевірки на стороні клієнта і інші уразливості веб-додатків.

Пошук помилок в реальному світі: практичне керівництво по веб-хакінгу Пітер Яворські – Ця книга являє собою практичне керівництво по тестуванню безпеки веб-додатків, включаючи обхід перевірки на стороні клієнта і інші поширені уразливості.

Підручник хакера 3: Практичне керівництво з тестування на проникнення Пітер Кім – Ця книга являє собою всеосяжне керівництво по тестування на проникнення, включаючи методи обходу перевірки на стороні клієнта і використання інших вразливостей веб-додатків.

Основи злому і тестування на проникнення: етичний злом і тестування на проникнення стали простіше Патрік Энгебретсон – Ця книга являє собою введення в етичний злом і тестування на проникнення, включаючи методи пошуку і використання вразливостей, таких як обхід перевірки на стороні клієнта.

Тестування на проникнення: практичне введення у злом автор Джорджія Вайдман – Ця книга являє собою введення в тестування на проникнення, включаючи методи пошуку і використання уразливостей у веб-додатках.

Практичне тестування на проникнення в Інтернет за допомогою Metasploit: створюйте динамічні, автоматизовані і приховані атаки автор: Суніл Гупта – У цій книзі представлено практичне керівництво по використанню Metasploit для тестування веб-додатків на проникнення, включаючи методи обходу перевірки на стороні клієнта.

Освоєння сучасного тестування на проникнення в Інтернет: Розвивайте передові навички виявлення і використання вразливостей в сучасних веб-додатках автор: Пракхар Прасад – Ця книга являє собою вичерпне керівництво по сучасному тестування веб-додатків на проникнення, включаючи обхід перевірки на стороні клієнта і інші передові методи.

Список корисних навантажень для обходу перевірки на стороні клієнта

  1. Введення спеціальних символів, таких як точка з коми, одинарні або подвійні лапки, зворотна коса риса, і т. д.

  2. Використання символів Юнікоду, таких як гомоглифы Юнікоду або змішування символів повної і половинної ширини.

  3. Обхід обмежень на довжину введення за допомогою довгих рядків, спеціальних символів або нульових байтів.

  4. Використання альтернативних схем кодування, таких як base64 або кодування URL, для обфускации корисних навантажень.

  5. Зміна коду JavaScript для обходу перевірки або виконання довільного коду.

  6. Відключення перевірки на стороні клієнта з допомогою інструментів розробника браузера або розширень браузера.

  7. Зміна HTML-коду сторінки для обходу перевірки або впровадження шкідливих скриптів.

  8. Використання плагінів браузера або доповнень, які змінюють поведінку відправлених форм.

  9. Відправка даних безпосередньо на сервер з допомогою користувальницьких сценаріїв або інструментів командного рядка.

  10. Використання інструментів автоматизації, таких як Burp Suite, OWASP ZAP або Selenium, для управління відправкою форм і обходу перевірки.

Як бути захищеним від обходу перевірки на стороні клієнта

  1. Реалізувати перевірку на стороні сервера: Перевірка на стороні клієнта є необхідною мірою, але вона повинна бути доповнена перевіркою на стороні сервера. Перевірка на стороні сервера більш безпечна, оскільки вона не залежить від клієнта і може забезпечити більш всебічні перевірки.

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

  3. Вбудуйте сувору санітарну обробку вхідних даних: Переконайтеся, що вхідні дані очищені, щоб запобігти впровадження шкідливого коду або спеціальних символів, які можуть обійти перевірки достовірності.

  4. Використовуйте політику безпеки контенту (CSP): CSP - це механізм безпеки, який дозволяє власникам веб-сайтів вказувати, які типи контенту дозволено завантажувати на їх веб-сайт. Це може допомогти запобігти впровадження шкідливих скриптів і коду.

  5. Будьте в курсі виправлень і оновлень безпеки: Оновлюйте свій веб-додаток та будь-які сторонні бібліотеки з допомогою останніх виправлень і оновлень безпеки.

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

  7. Навчати користувачів: Інформуйте користувачів про важливість відмови від маніпулювання відправленими формами, використання надійних джерел для введення та уникнення підозрілих посилань або вкладень.

Висновок

Перевірка на стороні клієнта це важливий аспект безпеки веб-додатків, але на нього не слід покладатися як на єдиний метод запобігання шкідливого введення. Атаки з обходом перевірки на стороні клієнта можуть виникати, коли зловмисники маніпулюють перевірками перевірки, виконуваними скриптом на стороні клієнта, або обходять їх.

Щоб запобігти атакам з обходом перевірки на стороні клієнта, організаціям слід запровадити перевірку на стороні сервера, використовувати безпечні середовища кодування, очистити enter, використовувати регулярні вирази, впровадити Політику безпеки контенту (CSP), впровадити засоби контролю доступу і виконувати регулярне тестування безпеки.

Також важливо відзначити, що обхід перевірки на стороні клієнта - це лише одна з багатьох вразливостей веб-додатків, від яких організаціям необхідно захищатися. Підтримання надійної системи безпеки, постійне оновлення виправлень і оновлень безпеки і навчання користувачів - все це важливі елементи комплексної стратегії безпеки веб-додатків.

Інші Послуги

Готові до безпеки?

зв'язатися з нами