Старый 26.08.2013, 13:06   #2981
gal
 
Регистрация: 26.08.2013
Сообщений: 3
Репутация: 0
По умолчанию

Спасибо, но не вканало, серв под линем.

Вот еще интересный файлик есть.
PHP код:
<?php


$tempfilename 
$_REQUEST['filename'].'.pdf';
$opname $_REQUEST['opname'];
$path urldecode($_REQUEST['path']);
$dest $_REQUEST['dest'];
    if (
$tempfilename && file_exists($path.$tempfilename)) {
        
// mPDF 5.3.17
        
if ($dest=='I') {
            if(
PHP_SAPI!='cli') {
                
header('Content-Type: application/pdf');
                
header('Content-disposition: inline; filename="'.$name.'"');
                
header('Cache-Control: public, must-revalidate, max-age=0'); 
                
header('Pragma: public');
                
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT'); 
                
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
            }
        }

        else if (
$dest=='D') {
            
header('Content-Description: File Transfer');
            if (
headers_sent())
                
$this->Error('Some data has already been output to browser, can\'t send PDF file');
            
header('Content-Transfer-Encoding: binary');
            
header('Cache-Control: public, must-revalidate, max-age=0');
            
header('Pragma: public');
            
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
            
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
            
header('Content-Type: application/force-download');
            
header('Content-Type: application/octet-stream'false);
            
header('Content-Type: application/download'false);
            
header('Content-Type: application/pdf'false);
            
header('Content-disposition: attachment; filename="'.$name.'"');
        }
        
$filesize filesize($path.$tempfilename);
        if (!isset(
$_SERVER['HTTP_ACCEPT_ENCODING']) OR empty($_SERVER['HTTP_ACCEPT_ENCODING'])) {
            
// don't use length if server using compression
            
header('Content-Length: '.$filesize);
        }
        
$fd=fopen($path.$tempfilename,'rb');    // mPDF 5.3.85
        
fpassthru($fd);
        
fclose($fd);
        
unlink($path.$tempfilename);
        
// ====================== DELETE OLD FILES - Housekeeping =========================================
        // Clear any files in directory that are >24 hrs old
        
$interval 86400;
        if (
$handle opendir(dirname($path.'dummy'))) {
           while (
false !== ($file readdir($handle))) { 
            if (((
filemtime($path.$file)+$interval) < time()) && ($file != "..") && ($file != ".") && substr($file, -3)=='pdf') { 
                
unlink($path.$file); 
            }
           }
           
closedir($handle); 
        }
        exit;
    }
?>
Пробовал составить запрос, но нифига, нуллбайт не канает, слеши тоже не подобрал, а файлнейм с хвостом.
gal вне форума   Ответить с цитированием
Старый 26.08.2013, 13:20   #2982
NameSpace
 
Регистрация: 21.12.2012
Сообщений: 146
Репутация: 52
По умолчанию

Цитата:
Сообщение от gal Посмотреть сообщение
Пробовал составить запрос, но нифига, нуллбайт не канает, слеши тоже не подобрал, а файлнейм с хвостом.
Версия PHP в заголовках посылается? Тут еще и file_exists, только читалка, совсем плохо...

Проверил, к сожалению длинные пути не воспринимаются совсем... Больше вариантов нет.

Последний раз редактировалось NameSpace; 26.08.2013 в 13:27..
NameSpace вне форума   Ответить с цитированием
Старый 26.08.2013, 15:08   #2983
gal
 
Регистрация: 26.08.2013
Сообщений: 3
Репутация: 0
По умолчанию

NameSpace, версия пыхи неизвестна.
Собственно хватит и чтения файла.
gal вне форума   Ответить с цитированием
Старый 26.08.2013, 15:50   #2984
NameSpace
 
Регистрация: 21.12.2012
Сообщений: 146
Репутация: 52
По умолчанию

Цитата:
Сообщение от b3 Посмотреть сообщение
Через ftp файл получаем RCE Ой не) там же fpassthru.
Все верно, тут читалка... Код мы не выполним
Цитата:
Сообщение от b3 Посмотреть сообщение
Обрезать .pdf можно переполнением в GET
Это как? Переменная, не важно откуда идет, везде один черт. Действенных способов обрезки для PHP сегодня только 2 - NULL-байт и слэши
NameSpace вне форума   Ответить с цитированием
Старый 26.08.2013, 16:22   #2985
b3
 
Аватар для b3
 
Регистрация: 18.08.2010
Сообщений: 353
Репутация: 105
По умолчанию

Да забей, я почему и удалил пост, нанаркоманил, как сонная муха сегодня бред в голову лезет.
b3 вне форума   Ответить с цитированием
Старый 04.09.2013, 07:30   #2986
trololoman96
 
Регистрация: 06.11.2011
Сообщений: 12
Репутация: 0
По умолчанию

PHP код:
echo eval  ('?>' .  implode("", file(ROOT."templates/$name/$tpl")) . '<?');
могу изменять переменную $tpl на любое значение, можно ли тут зделать что то кроме "инклуда" файлов ?
trololoman96 вне форума   Ответить с цитированием
Старый 04.09.2013, 07:37   #2987
NameSpace
 
Регистрация: 21.12.2012
Сообщений: 146
Репутация: 52
По умолчанию

Тут как-бы не инклуд, а исполнение произвольных файлов из файловой системы, но в целом все соответствует LFI, более ничего достичь не удастся - только различные общие методы для такого-рода случаев...

Последний раз редактировалось NameSpace; 04.09.2013 в 07:42..
NameSpace вне форума   Ответить с цитированием
Старый 05.09.2013, 18:49   #2988
sqlq
 
Регистрация: 05.09.2013
Сообщений: 3
Репутация: 0
По умолчанию

привет ! интересует вопрос sqlmap.
sqlmap.py -u site.ru/index.php?id= --skip-urlencode
как сделать чтобы только кавычки --skip-urlencode а не весь url? смотреть в сторону --tamper= ? поделитесь опытом........
sqlq вне форума   Ответить с цитированием
Старый 06.09.2013, 05:34   #2989
NameSpace
 
Регистрация: 21.12.2012
Сообщений: 146
Репутация: 52
Wink

Цитата:
Сообщение от sqlq Посмотреть сообщение
привет ! интересует вопрос sqlmap.
sqlmap.py -u site.ru/index.php?id= --skip-urlencode
как сделать чтобы только кавычки --skip-urlencode а не весь url? смотреть в сторону --tamper= ? поделитесь опытом........
Не пользовался sqlmap, но может быть вам стоит самим задать кавычку с нужным кодирование в параметре u?
NameSpace вне форума   Ответить с цитированием
Старый 07.09.2013, 06:39   #2990
sqlq
 
Регистрация: 05.09.2013
Сообщений: 3
Репутация: 0
По умолчанию

все верно)но в sqlmap не пойму как сделать нужный параметр.. необходимо символу одинарной кавычки назначить нужную кодировку '
а не ввиде %27

http://www.sqlinjection.com/index.php?pic=%27%201%20=%201%20%27
...нао сделать так http://www.sqlinjection.com/index.php?pic='%201%20=%201%20'

если использовать --skip-urlencode то линк примет вид http://www.sqlinjection.com/index.php?pic=' 1 = 1 ' необходимо чтобы пробелы и другие символы передавались в виде %201%20=%201%20

правильный урл http://www.sqlinjection.com/index.php?pic='%201%20=%201%20'
sqlq вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot