Два вектора обхода Incapsula WAF, может кому нибудь пригодится.
Раз:
И два:
В первом случае мы редиректим текущий url фрейма (this.src) на javascript:alert(). Про 	 я писал выше.
Не пускает точку? Например не проходит document.cookie?
Добавляем блоки document['cookie'] и точка нам больше не нужна (). Не пускает alert - разбиваем на две строки, "al"+"ert".
— Как вызвать функцию без скобок?
Вместо скобок можно использовать бэктики (ну вот этот вот знак - `). Этой клавишей можно не только вызывать консольку в игре, запомни её!
— Что за al\ert().
Alert во втором случае будет строкой, а \e - это экранированная e, лол. А что будет если экранировать буквы? Ничего (). Только не пытайся экранировать зарезервированные символы, например писать \r (возврат каретки) и \t (знак табуляции) в том же alert'е, так работать не будет.
Раз:
Код:
<iframe/onload='this["src"]="javas	cript:al"+"ert``"';>
И два:
Код:
<img/src=q onerror='new Function`al\ert\`1\``'>
В первом случае мы редиректим текущий url фрейма (this.src) на javascript:alert(). Про 	 я писал выше.
Не пускает точку? Например не проходит document.cookie?
Добавляем блоки document['cookie'] и точка нам больше не нужна (). Не пускает alert - разбиваем на две строки, "al"+"ert".
— Как вызвать функцию без скобок?
Вместо скобок можно использовать бэктики (ну вот этот вот знак - `). Этой клавишей можно не только вызывать консольку в игре, запомни её!
— Что за al\ert().
Alert во втором случае будет строкой, а \e - это экранированная e, лол. А что будет если экранировать буквы? Ничего (). Только не пытайся экранировать зарезервированные символы, например писать \r (возврат каретки) и \t (знак табуляции) в том же alert'е, так работать не будет.
Последнее редактирование: