На бб нашелся забавный кейс.



Есть Stored XSS на приложении, но стоит WAF AWS ELB/2.0.



Встал вопрос: как байпасить?



Сначала попробовал вектора для хитрых пейлоадов, но все, что дальше одного слова, завернутого в кавычки, возвращет бан на реквест.



Тогда встал вопрос как байпасить не сигнатуры, а вообще парсинг.

И тут буквально с первой тычки прошел следующий трюк.



Данный WAF парсит заголовок Content-Type и в соответствии с ним парсит тело запроса.



Соответственно ломаем этот заголовок так, чтобы WAF его не съел, а nginx съел:



Решение:

Content-Type: application/x-www-form-urlencoded




Вместо пробела - табуляция!



Спасибо CTFам! 😄