defsolveJS(self, jsEnv, js):
если js2py.eval_js('(+(+!+[]+[+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[ !+[]+!+[]]+[+[]])+[])[+!+[]]') == '1':
print («Пожалуйста, обновите ваш js2py https://github.
com/PiotrDabkowski/Js2Py, применив обходной путь».)
js = jsunfuck (js)
атоб (ы):
вернуть base64.b64decode('{}'.format(s)).decode('utf-8')
js2py.disable_pyimport()
контекст = js2py.EvalJs({'atob': atob})
результат = context.eval('{}{}'.format(jsEnv, js))
вернуть результат 9<>]*?)<\/div>',
тело,
re.МУЛЬТИЛАЙН | ре.ДОТАЛЛ
)
innerHTML = innerHTML.group(2).replace("'", r"\'") если innerHTML иначе ""
js = jsunfuck(jsEnv.format(domain=domain, innerHTML=innerHTML, js=js))
атоб (ы):
вернуть base64.b64decode('{}'.format(s)).decode('utf-8')
js2py.disable_pyimport()
контекст = js2py.EvalJs({'atob': atob})
результат = контекст.eval(js)
кроме исключения:
logging.error("Ошибка выполнения Cloudflare IUAM Javascript. {}".format(BUG_REPORT))
поднимать
пытаться:
поплавок (результат)
кроме исключения:
поднять ValueError("Запрос Cloudflare IUAM вернул неожиданный ответ.
{}".format(BUG_REPORT))
вернуть результат
Обход WAF для выполнения XSS. Недавно я охотился за некоторыми XSS и… | by kleiton0x7e
Опубликовано в·
Чтение: 4 мин.·
28 мая 2020 г.Недавно я искал XSS и наткнулся на веб-сайт (давайте назовем его веб-сайтом. com из соображений конфиденциальности) где у него была форма входа администратора в каталоге /admin .
Панель администратора на сайте website.com/adminИнстинктивно я попытался ввести случайные учетные данные, чтобы посмотреть, какой ответ я получу.
/admin/index.php?msg=Invalid%20Email%20and%20Password/admin/index.php?msg=Неверный адрес электронной почты и пароль
Это URL-адрес, на который меня перенаправили, по умолчанию это очень плохая идея отображать сообщение об ошибке, но это реализация, которую я часто вижу на разных веб-сайтах.
Любое значение ?msg= может быть отражено на веб-сайте, поэтому давайте попробуем изменить его, чтобы лучше понять.
То, что я пробовал, было website.com/admin/index.php?msg=Hello World
?msg=Hello World было отраженоТеперь мы видим, что каждый ввод, который мы вводим, отражается в этом тексте с красным шрифтом.
Что, если я попытаюсь внедрить некоторые теги HTML?
Внедрение HTML?msg=
Hello World
Мы успешно внедрили HTML, теперь пришло время добавить код Javascript.
Я перепробовал более 50 основных полезных данных XSS, надеясь, что XSS появится во всплывающем окне:
?msg=
?msg=
?msg= ?msg=
Вы поняли, что я переборщил все типы XSS. Все они были заблокированы сервером, похоже, за кулисами работает WAF:
Вредоносных запросов XSS, заблокированных WAFВведя более 50 полезных нагрузок XSS, я пришел к выводу, что WAF действительно фильтрует:
Каждая полезная нагрузка с
была моей следующей полезной нагрузкой, она была отражена, но без XSS 🙁
Вскоре я понял, что не был отфильтрован, поэтому я продолжал следовать этому пути. Так как alert() заблокирован, я пытаюсь подтвердить(), так как это сработало.

