__________ ___ ___ \______ \__ __ ______/ | \ | _/ | \/ ___/ _ \ | | \ | /\___ \\ / |____|_ /____//____ >\___|_ / -======\/==security=\/=team==\/ Advisory#7 Продукт: iSite 1.0 Автор: http://scripts.igray.ru Уязвимость: просмотр любых .txt файлов на сервере bug found by 1dt.w0lf 11.05.2003 О программе... iSite - скрипт для создания небольшого сайта без использования SQL Уязвимость найдена в файле index.php в строках: [ scip ] if (isset($topic)) { $df = $topic."/".$page.".txt"; $fp = fopen($df, "r"); [ scip ] Gthtvtyyst $topic и $page не фильтруются в скрипте и мы можем модифицировать их для просмотра любых .txt файлов на уязвимом сервере: http://www.victim.com/isite/index.php?topic=..&page=file_name переменная $df = ../file_name.txt Используя этот урл мы увидим листинг файла file_name.txt Необходимо помнить о слеше в коде! Если нужно просмотреть файл в директории самого скрипта то необходимо использовать следующий урл: http://www.victim.com/isite/index.php?topic=../isite&page=file_name переменная $df = ../isite/file_name.txt $df = $topic."/".$page.".txt"; Посмотрев на эту строку кода можно решить что если $topic будет пропущен то файлы будут просматриваться в корне однако если мы не будем использовать эту переменную то файлы мы просмотреть не сможем из-за следующего кода: [ scip ] if (isset($topic)) { $df = $topic."/".$page.".txt"; $fp = fopen($df, "r"); [ scip ] } else { include ("news.txt"); <--- !!! вот тут при отсутствии переменной $topic инклудится news.txt }