Разделение HTTP-ответа

Vulnerability Assessment as a Service (VAaaS)
Tests systems and applications for vulnerabilities to address weaknesses.

Разделение HTTP-ответа это уязвимость веб-безопасности, которая позволяет злоумышленнику вводить дополнительные HTTP-заголовки и данные в ответ сервера. Это может привести к целому ряду атак, таких как межсайтовый скриптинг (XSS), отравление кэша и перехват сеанса.
The vulnerability occurs when a web application does not properly sanitize user input that is used to construct the HTTP response headers. An attacker can exploit this by submitting specially crafted input that includes line breaks or carriage returns, which can be interpreted by the server as a separate header or response.
Пример уязвимого кода на разных языках программирования:
• в Java:
String data = request.getParameter("data");
response.addHeader("Set-Cookie", "session-id=" + data);
В этом фрагменте кода Java data переменная берется из пользовательского ввода и не обрабатывается должным образом. Злоумышленник может отправить запрос со специально созданным data parameter that contains line breaks, which can be interpreted as separate headers by the server.
• в PHP:
$data = $_GET['data'];
header('Set-Cookie: session-id=' . $data);
Этот фрагмент кода PHP похож на приведенный выше пример Java. В data переменная берется из $_GET массив и не очищен должным образом. Злоумышленник может отправить запрос со специально созданным data parameter that contains line breaks, which can be interpreted as separate headers by the server.
• в 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 variable is taken from the query string of the GET request and is not properly sanitized. An attacker can send a request with a specially crafted query string that contains line breaks, which can be interpreted as separate headers by the server.
Примеры использования разделения HTTP-ответов
Пример 1: Отравление кэша
Злоумышленник может использовать разделение HTTP-ответа, чтобы внедрить поддельный заголовок cache-control в ответ сервера. Это может привести к неправильному кэшированию ответа промежуточным кэшем, таким как прокси-сервер или CDN. Затем злоумышленник может отправить последующий запрос с тем же заголовком, в результате чего будет возвращен кэшированный ответ и потенциально будет раскрыта конфиденциальная информация.
Пример 2: Межсайтовый скриптинг (XSS)
Злоумышленник может использовать разделение HTTP-ответа, чтобы внедрить вредоносный скрипт в ответ сервера. Это может привести к запуску скрипта браузером пользователя, что позволит злоумышленнику украсть конфиденциальную информацию или выполнить другие вредоносные действия.
Например, злоумышленник может ввести в ответ следующий сценарий:
Когда браузер пользователя выполняет скрипт, он перенаправляет на сайт злоумышленника и отправляет файл 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-ответов
Методология:
Определите точки входа: Определите точки входа, где пользовательский ввод принимается и обрабатывается. Эти точки входа включают любые параметры или данные, которые могут быть отправлены в HTTP-запросе, такие как параметры запроса, данные формы или файлы cookie.
Отправка входных данных, которые могут быть использованы для ввода заголовков: Send input to the identified entry points that includes characters such as newline (\n) or carriage return (\r). These characters can be used to inject additional headers into the response.
Проверьте ответ: Проверьте заголовки ответов, чтобы узнать, были ли входные данные включены в какие-либо заголовки. Если входные данные были включены в заголовки ответов, это может указывать на уязвимость к разделению HTTP-ответов.
Подтвердите уязвимость: Если обнаружена потенциальная уязвимость, подтвердите ее, попытавшись ввести полный заголовок, который может привести к неожиданному поведению сервера. Например, введение поддельного заголовка “Местоположение”, который приводит к перенаправлению пользователя на другой сайт, может подтвердить уязвимость.
Сообщить об уязвимости: Если уязвимость подтверждена, сообщите о ней соответствующим сторонам, чтобы ее можно было устранить и устранить.
Контрольный список:
Определите все места в приложении, где принимается пользовательский ввод, включая любые параметры, которые могут быть отправлены в HTTP-запросе, такие как параметры запроса, данные формы и файлы cookie.
Test each user input point by entering data that contains newline characters, carriage return characters, and other special characters. This can help identify whether the application is properly validating user input and preventing HTTP Response Splitting attacks.
Протестируйте приложение, чтобы убедиться, что оно правильно очищает выходные данные, что может помочь предотвратить внедрение злоумышленниками вредоносных заголовков в ответ сервера.
Протестируйте приложение, чтобы убедиться, что оно правильно обрабатывает HTTP-заголовки, включая проверку того, правильно ли они сформированы и не подвержены манипуляциям.
Проверьте, является ли приложение уязвимым для заражения кэша, отправив запрос, содержащий поддельный заголовок cache-control, и проверив, неправильно ли кэшируется ответ промежуточным кэшем.
Проверьте, является ли приложение уязвимым для перехвата сеанса, попытавшись ввести поддельный идентификатор сеанса в ответ и посмотреть, принимает ли сервер его и связывает с сеансом пользователя.
Проверьте, является ли приложение уязвимым для межсайтового скриптинга, попытавшись внедрить вредоносный скрипт в ответ сервера, используя разделение HTTP-ответа.
Если есть подозрение на уязвимость, подтвердите ее, попытавшись использовать ее в контролируемой среде. Это может помочь убедиться в том, что уязвимость является реальной, а не ложноположительной.
Сообщайте о любых подтвержденных уязвимостях соответствующим сторонам, чтобы их можно было устранить и исправить.
Набор инструментов для эксплуатации Разделение 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 – A command-line tool that can be used to send HTTP requests and test for HTTP Response Splitting vulnerabilities. cURL can be used to manipulate HTTP headers and inspect server responses.
Netcat – Another command-line tool that can be used to send HTTP requests and test for HTTP Response Splitting vulnerabilities. Netcat can be used to manipulate HTTP headers and inspect server responses.
Telnet – A command-line tool that can be used to connect to a web server and manually send HTTP requests. Telnet can be used to test for HTTP Response Splitting vulnerabilities by manipulating HTTP headers and inspecting server responses.
Firefox Tamper Data – Плагин для браузера, который можно использовать для перехвата и изменения HTTP-запросов и ответов. Данные несанкционированного доступа можно использовать для проверки уязвимостей разделения HTTP-ответов путем манипулирования HTTP-заголовками и проверки ответов сервера.
Chrome DevTools – Набор инструментов разработчика, которые можно использовать для проверки и отладки веб-приложений. Chrome DevTools можно использовать для проверки уязвимостей разделения HTTP-ответов путем манипулирования HTTP-заголовками и проверки ответов сервера.
BeeF – Платформа для работы с браузером, которая может использоваться для проверки уязвимостей разделения HTTP-ответов в веб-приложениях. BeeF может использоваться для перехвата и изменения HTTP-запросов и ответов, а также для выполнения других типов атак.
Wget – A command-line tool that can be used to retrieve files and web pages from web servers. Wget can be used to test for HTTP Response Splitting vulnerabilities by manipulating HTTP headers and inspecting server responses.
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 Response Splitting: CWE-113 specifically describes the vulnerability of HTTP Response Splitting. It occurs when an attacker is able to inject a newline character into a HTTP response, which can allow them to inject arbitrary HTTP headers and potentially manipulate user sessions or redirect users to malicious sites.
• 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 is an open source scala interface for HTTP. In affected versions http4s is vulnerable to response-splitting or request-splitting attacks when untrusted user input is used to create any of the following fields: Header names (`Header.name`å), Header values (`Header.value`), Status reason phrases (`Status.reason`), URI paths (`Uri.Path`), URI authority registered names (`URI.RegName`) (through 0.21). This issue has been resolved in versions 0.21.30, 0.22.5, 0.23.4, and 1.0.0-M27 perform the following. As a matter of practice http4s services and client applications should sanitize any user input in the aforementioned fields before returning a request or response to the backend. The carriage return, newline, and null characters are the most threatening.
Разделение HTTP-ответа подвиги
Внедрение заголовка HTTP-ответа: Этот эксплойт включает внедрение вредоносных заголовков HTTP-ответов в ответ веб-приложения, что может позволить злоумышленнику перехватывать сеансы пользователей или перенаправлять пользователей на вредоносные сайты.
Отравление кэша: Этот эксплойт включает в себя манипулирование заголовками HTTP-ответов для отравления кэша веб-приложения. Это может позволить злоумышленнику использовать вредоносный контент из кэша, потенциально ставя под угрозу безопасность веб-приложения.
Контрабанда HTTP-запросов: Этот эксплойт использует преимущества непоследовательного анализа HTTP-запросов интерфейсными и серверными серверами. Он включает в себя вставку мошеннического HTTP-запроса в законный запрос, что может позволить злоумышленнику обойти средства контроля безопасности и выполнять несанкционированные действия.
Инъекция печенья: Этот эксплойт включает в себя внедрение вредоносного файла cookie в ответ веб-приложения, который может позволить злоумышленнику перехватывать сеансы пользователей или красть конфиденциальную информацию.
Манипулирование URL-адресами: Этот эксплойт включает в себя манипулирование URL-адресом веб-приложения для внедрения вредоносного кода в заголовки HTTP-ответов, что может позволить злоумышленнику перехватывать сеансы пользователей или перенаправлять пользователей на вредоносные сайты.
Межсайтовый скриптинг (XSS): Хотя XSS не имеет прямого отношения к разделению ответов HTTP, он может использоваться в сочетании с разделением ответов HTTP для внедрения вредоносного кода в заголовки ответов веб-приложения.
Практикуясь в тестировании на Разделение HTTP-ответа
Определите приложение или веб-сервер, который вы хотите протестировать на разделение HTTP-ответов.
Определите точки входа в приложение, такие как поля ввода или URL-адреса.
Отправьте запрос в приложение, которое содержит параметр или поле ввода, уязвимое для разделения HTTP-ответа.
Проанализируйте заголовки HTTP-ответов, чтобы узнать, есть ли какие-либо дополнительные заголовки, которые были введены злоумышленником.
Если обнаружены дополнительные заголовки, попробуйте манипулировать ими, чтобы узнать, можно ли перехватить сеанс пользователя или перенаправить его на вредоносный сайт.
Повторите этот процесс с другими полями ввода и параметрами, чтобы узнать, сможете ли вы выявить другие уязвимости.
Для изучения Разделения HTTP-ответов
OWASP Топ-10: это список наиболее критических угроз безопасности веб-приложений, и разделение HTTP-ответов включено в этот список. Веб-сайт OWASP содержит подробную информацию об уязвимостях и способах их предотвращения.
Руководство хакера веб-приложений: Эта книга представляет собой всеобъемлющее руководство по безопасности веб-приложений и включает в себя главу о разделении HTTP-ответов. В нем содержится подробная информация о том, как работает уязвимость, а также методы ее тестирования и использования.
Online courses: There are many online courses available that cover web application security and HTTP Response Splitting specifically. Some popular options include the Web Application Penetration Testing course on Udemy and the Ethical Hacking course on Coursera.
Online tutorials and guides: There are many online tutorials and guides available that cover HTTP Response Splitting and other web application vulnerabilities. The OWASP website provides a wide range of resources, including tutorials and cheat sheets.
Конференции и семинары: Посещение конференций и семинаров по безопасности веб-приложений может стать отличным способом узнать больше о разделении 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-ответов
%0d%0a – This is a URL-encoded representation of the CRLF sequence, which is used to create new lines in HTTP headers. It is commonly used in HTTP Response Splitting attacks.
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: текст / html – эта полезная нагрузка может использоваться для изменения типа содержимого ответа, позволяя злоумышленнику вводить HTML или другой вредоносный контент.
Set-Cookie: session_id=злоумышленник; HttpOnly – эта полезная нагрузка может использоваться для установки нового значения cookie для сеанса жертвы с установленным флагом HttpOnly для предотвращения доступа JavaScript к cookie.
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-ответов
Обновляйте программное обеспечение и приложения вашего веб-сервера с помощью последних исправлений безопасности.
Используйте методы безопасного кодирования при разработке веб-приложений и избегайте использования пользовательских входных данных непосредственно в заголовках HTTP.
Внедрите проверку и очистку входных данных, чтобы предотвратить внедрение вредоносных данных в HTTP-заголовки.
Используйте брандмауэр веб-приложений (WAF) для фильтрации вредоносного трафика и блокирования известных атак с разделением HTTP-ответов.
Включите и используйте флаги Secure и HttpOnly для файлов cookie, чтобы предотвратить захват файлов cookie и другие атаки.
Используйте HTTPS для шифрования сообщений между клиентом и сервером и избегайте смешивания трафика HTTP и HTTPS.
Используйте политики безопасности содержимого (CSP) для управления источниками содержимого, которое может быть загружено на веб-страницу, и для предотвращения выполнения вредоносных сценариев.
Регулярно проверяйте свои веб-приложения на наличие уязвимостей и слабых мест с помощью автоматических инструментов или ручного тестирования.
Внедрите надлежащие методы управления сеансами, такие как тайм-ауты сеансов и регенерация, чтобы снизить риск перехвата сеанса.
Обучайте разработчиков и другие заинтересованные стороны рискам и передовым методам, связанным с разделением ответов HTTP, а также регулярно просматривайте и обновляйте политики и процедуры безопасности, чтобы убедиться, что они остаются эффективными.
Меры по смягчению последствий разделения HTTP-ответов
Убедитесь, что пользовательский ввод правильно отформатирован и не содержит каких-либо вредоносных данных, прежде чем использовать его в заголовках HTTP.
Правильно кодируйте все выходные данные, чтобы предотвратить попадание вредоносных данных в HTTP-заголовки.
Избегайте использования пользовательских входных данных непосредственно в заголовках HTTP.
WAF может отфильтровывать вредоносный трафик и блокировать известные атаки с разделением HTTP-ответов.
Эти флаги помогают предотвратить захват файлов cookie и другие атаки.
Протокол HTTPS шифрует сообщения между клиентом и сервером и помогает предотвратить перехват или изменение трафика злоумышленниками.
CSP контролирует источники контента, который может быть загружен на веб-страницу, и помогает предотвратить выполнение вредоносных сценариев.
Внедрите надлежащие методы управления сеансами, такие как тайм-ауты сеансов и регенерация, чтобы снизить риск перехвата сеанса.
Используйте автоматические инструменты или ручное тестирование для регулярной проверки веб-приложений на наличие уязвимостей и слабых мест.
Применяйте исправления и обновления безопасности для обеспечения безопасности программного обеспечения и приложений веб-сервера.
Заключение
Разделение HTTP-ответа это уязвимость веб-приложения, которая позволяет злоумышленнику вводить произвольные HTTP-заголовки в ответ веб-сервера. Это может привести к целому ряду атак, таких как перехват сеанса, перехват файлов cookie и фишинг.
Атаки с разделением HTTP-ответов можно предотвратить, следуя методам безопасного кодирования, проверки входных данных, кодирования выходных данных и реализации брандмауэров веб-приложений, методов безопасного управления сеансами и использования HTTPS. Регулярное сканирование веб-приложений на наличие уязвимостей и слабых мест, а также обновление программного обеспечения и приложений веб-сервера с помощью исправлений безопасности также являются важными мерами по устранению этой уязвимости.
Разработчикам и администраторам веб-сайтов важно знать о рисках, связанных с разделением ответов HTTP, и принимать соответствующие меры для защиты от этой уязвимости. Внедряя соответствующие меры безопасности, организации могут снизить риск атак с разделением ответов HTTP и защитить свои веб-приложения и пользователей от вреда.
Другие Услуги
Insomnia Security Scanner
AI-powered web application security scanner by CQR. Automated vulnerability discovery, exploit verification, and detailed reporting for modern applications.
Узнать большеЗащита Инфраструктуры CRYEYE
Аудит безопасности с помощью CryEye обеспечивает информационную безопасность предприятия, защищая всю инфраструктуру.
Узнать большеТестирование на проникновение
Найдите уязвимости во всей инфраструктуре вашего бизнеса раньше, чем это сделают хакеры! В рамках консалтинга по тестированию на проникновение мы подберем методы пентестов.
Узнать большеСоциальная инженерия
Simulate real-world phishing, vishing, and pretexting attacks to measure and improve your team's security awareness and response capabilities.
Узнать большеНагрузочное Тестирование
All kinds of load and performance testing of your system from the CQR online security company.
Узнать большеAI-Powered Vulnerability Assessment
Leverage artificial intelligence to discover, prioritize, and remediate vulnerabilities across your digital assets faster and more accurately than traditional scanners.
Узнать большеCloud Security Audit (AWS / GCP / Azure)
Comprehensive security review of your cloud environments — IAM policies, network controls, data exposure, and misconfigurations across all major cloud platforms.
Узнать большеDevSecOps Integration
Embed security into every stage of your CI/CD pipeline. Automated SAST, DAST, SCA, and secret scanning so vulnerabilities are caught before they reach production.
Узнать большеAPI Security Testing
In-depth testing of REST, GraphQL, and SOAP APIs for authentication flaws, authorization bypasses, injection vulnerabilities, and data leakage risks.
Узнать большеMobile Application Penetration Testing
Manual and automated security testing for iOS and Android applications — reverse engineering, runtime analysis, traffic interception, and backend API assessment.
Узнать большеIoT Security Assessment
Evaluate firmware, communication protocols, cloud backends, and physical interfaces of IoT devices to identify vulnerabilities before attackers do.
Узнать большеBlockchain & Smart Contract Audit
Formal verification and manual code review of smart contracts on Ethereum, Solana, and other chains. Detect reentrancy, overflow, and logic flaws before deployment.
Узнать большеRed Team Operations
Advanced adversary simulation using real attacker TTPs (MITRE ATT&CK) to test your detection, response, and overall security posture under realistic conditions.
Узнать большеThreat Intelligence & Monitoring
Continuous monitoring of threat feeds, dark web, and attacker infrastructure to provide actionable intelligence specific to your organization and industry.
Узнать большеZero Trust Architecture Review
Assess and design your Zero Trust security model — identity verification, micro-segmentation, least-privilege access, and continuous validation controls.
Узнать большеCompliance Consulting (PCI DSS / SOC 2 / GDPR)
Expert guidance to achieve and maintain compliance with major security frameworks. Gap analysis, remediation roadmaps, and audit-readiness support.
Узнать большеDark Web Monitoring
Continuous surveillance of dark web forums, marketplaces, and breach databases for leaked credentials, sensitive data, or mentions of your organization.
Узнать большеPhishing Simulation & Awareness Training
Controlled phishing campaigns combined with interactive security awareness training to build a human firewall across your entire organization.
Узнать большеSupply Chain Security Audit
Assess third-party vendor risks, open-source dependencies, and software supply chain integrity to prevent attacks like SolarWinds and Log4Shell.
Узнать большеContainer & Kubernetes Security
Security review of Docker images, Kubernetes clusters, RBAC policies, network policies, and runtime configurations to harden your container infrastructure.
Узнать большеWeb Application Firewall (WAF) Deployment
Professional WAF setup, rule tuning, and ongoing management to block SQL injection, XSS, CSRF, and other OWASP Top 10 threats in real time.
Узнать большеBug Bounty Program Management
Full lifecycle management of your bug bounty program — scope definition, researcher coordination, triage, validation, and remediation tracking.
Узнать большеOSINT Investigation Services
Open-source intelligence gathering on individuals, organizations, and infrastructure. Ideal for pre-engagement recon, fraud investigation, and competitive analysis.
Узнать большеDigital Forensics & Incident Response
Rapid response to security breaches — evidence collection, malware analysis, attacker timeline reconstruction, and actionable remediation recommendations.
Узнать больше