Добрый день. В пхп не силен, но требуется помощь. Есть сайт на дле, есть вывод eval phpinfo(); url_fopen on url_include off Есть папка под запись, но есть и хтацес в корне с отключением обработки пхп пхтмл и т.д. в этой папке. Локальный инклуд "помогает" сделать Hacking attempt!. Можете подсказать как залить полноценный шелл?
Попробуйте залить шелл в папку /tmp (если не включен open_basedir) и затем сделайте include его через rce уязвимость которую нашли, да и вряд ли в корне лежал бы файл в котором заблокирована обработка РНР, как же тогда работает сайт, скорее всего там указано, что только для файлов у которых название совпадает с файлами CMS DLE разрешено использование РНР (попадался такой случай), попробуйте назвать свой шелл так же, но в другой папке, дабы не затереть существующий файл, например залить в /engine/ajax/init.php или /engine/ajax/engine.php. Но это только догадки, предоставьте больше информации...
как вариант переписать корневой htaccess, т.е сначала его читаете, убираете нужные записи, а потом перезаписываете, второй как вариант можно попробовать залить шел с названием index.php к примеру в папку /img и потом так и обратитесь к шелу site.us/img/, т.е при обращение к папке по умолчанию интерпретируются индексные файлы....
Суть в том что ничего кроме этой папки под запись нет. На счет обработки пхп, думал одно написал другое) Разрешены только индекс.пхп и админ.пхп.
Тоже не проканало. Другой вопрос. Есть возможность через евал запрос вывести список файлов и папок под запись? Или хотя бы метод работы через if. В смысле print, copy, phpinfo() работает а вот если if то уже фиг) А как без if работь хотя бы с if_writable?
Попробуй такой код: function scan_dir($dirname) { $dir = opendir($dirname); while (($file = readdir($dir)) !== false) { if ($file != "." && $file != "..") { $file_name = rtrim($dirname,'/')."/".$file; if (is_dir($file_name)) { if(is_writeable($file_name)) { echo "Dir writeable - ".realpath($file_name)."<br>\n"; } scan_dir($file_name); } } } closedir($dir); } scan_dir($_SERVER['DOCUMENT_ROOT']); только заверни его в base64_decode() и закинь в евал!