Использование CRLF для обхода xss

Недавно я видел, как некоторые люди писали о своих полигонах xss,

Я столкнулся с проблемой, когда все говорили об использовании crlf для обхода XSS.

Я не понимаю, как можно использовать CRLF для обхода фильтров XSS.

Пожалуйста, дайте мне знать.

Заранее спасибо.

То, как написан ваш вопрос, предполагает, что вы вообще не исследовали это.

user47589 31.10.2018 19:31

@ Эми. У меня есть, но я все еще в замешательстве. Я понимаю, что в некоторых местах нельзя использовать такие символы, как | `это будет законно. Но я не понимаю, зачем использовать его вместо> и <

Rudra Singh 31.10.2018 19:44

Nevermind получил помощь: D

Rudra Singh 31.10.2018 20:06
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
3
163
1

Ответы 1

Я приведу вам пример, чтобы лучше это объяснить. Но общая идея заключается в том, что символы CRLF интерпретируются серверными языками (такими как, например, PHP), но отбрасываются как пробелы в HTML, что позволит вам потенциально обойти серверные фильтры (поскольку это не то, что они блокируют. ) и будет брошен в DOM, где он более или менее лишен символа CRLF и выполняет полезную нагрузку.

Пример:

<iframe src = "{$user_input}"></iframe>

Представим, что мы берем пользовательский ввод, где находится переменная {$user_input}. Вы можете знать, что ввод, введенный в источник iframe, опасен, поскольку злоумышленник может ввести javascript:alert(0) в качестве своего ввода и получить предупреждение. Не стесняйтесь попробовать это, и вы увидите.

Итак, давайте представим, что разработчик слышит, что кто-то использовал эту уязвимость, чтобы получить XSS на своем веб-сайте. Они решили создать правило, в котором они удаляют javascript: из входа перед вводом в источник. Теперь есть 3 возможных способа получить XSS.

Во-первых, сделать что-то вроде jAvAsCrIpT:alert(0). Это будет работать, если метод замены чувствителен к регистру.

Второй способ - попробовать что-то вроде этого: javajavascript:script:alert(0). Это также будет работать, поскольку оно просто удалит javascript:, оставив его как javascript:alert(0).

Третий и последний способ (который я могу придумать, по крайней мере, вероятно, есть больше методов) - использовать символ CRLF / Line Feed. Вы можете сделать это: java%0a%0dscript:alert(0), который является символом CRLF в кодировке URL (%0a%0d). Это обойдет его, поскольку PHP считывает, что это на самом деле не javascript:, в то время как HTML будет читать его как пробел в значении атрибута (src) и игнорировать возврат каретки.

Другие вопросы по теме