Доброго времени суток! Имеется код: PHP: <? if( isset( $_GET["output"] )) $output = urldecode( $_GET["output"] ); else $output = ""; if( isset( $_GET["title"] )) $title = $_GET["title"]; else $title = ""; header("Cache-control: private"); header("Content-Disposition: attachment; filename=".$title."Report".$todaysdate.".xls"); header("Content-Type: application/octet-outputeam"); header("Content-Length: $len"); header("Connection: close"); header("Expires: 0"); echo($output); ?> скачивается файс с именем и с содержимым что указывается. Что можно с таким кодом сделать? И к чему можно прийти? P.S. если есть возможность и желание - разжуйте для "особо одаренных". Заранее благодарен!!!
Читалка, можно получит доступы к конфиденциальным данным, и использовать их для зловреда, к примеры доступы к бд, логины и пароли администраторов
не получается читалка нулл могу использовать но при запросе ?title=/../../../../../etc/passwd%00 выдает файл с _.._.._.._.._.._.._etc_passwd
Если этот скрипт на какой-нить соляре или *BSD крутится, то это не только читалка файлов, но и просматривалка директорий, в юниксах этот момент криво обработан, так-что при обращении к папке, вместо ошибки увидим имена файлов, находящихся в папке в перемешку с какозябрами.
Меня тоже интересует, с чего вы взяли, что это читалка файлов, но это еще не самое интересное, гораздо интереснее как кто-то с помощью неё /etc/passwd прочитал Из векторов атаки могу назвать следующие: 1) XSS 2) Redirect 3) раздача вируса с доверенного домена (если скрипт стоит на таковом) Только вот скрипт баганутый, ибо $len нигде не рассчитывается, его передать можно будет только при register_globals=on что не так то и часто в наше время. Пустой контент-ленг - это конечно не большая беда, но все же...