PDA

Просмотр полной версии : fckeditor


sysjuk
08.10.2015, 12:08
Есть некий сайт, в конфиге прописано

$Config['AllowedExtensions']['File'] = array() ;

$Config['DeniedExtensions']['File'] = array('php','php3','php5','phtml','asp','aspx','as cx','jsp','cfm','cfc','pl','bat','exe','dll','reg' ,'cgi','htaccess') ;

куда заливаются файлы есть .htaccess, как можно это обойти, .txt формат заливается нормально.

Интересны варианты заливки шелла

grimnir
08.10.2015, 12:14
↑ (https://antichat.live/posts/3899911/)
Есть некий сайт, в конфиге прописано
$Config['AllowedExtensions']['File'] = array() ;
$Config['DeniedExtensions']['File'] = array('php','php3','php5','phtml','asp','aspx','as cx','jsp','cfm','cfc','pl','bat','exe','dll','reg' ,'cgi','htaccess') ;
куда заливаются файлы есть .htaccess, как можно это обойти, .txt формат заливается нормально.
Интересны варианты заливки шелла


Гугл

Consider you are having the following blacklist: $blacklist=array(“.php”,”.php3”, “.php4”,”.php5”,”.phtml”); We can use “shell.php%00.jpg or shell.php%00gif” to bypass the blacklist.

http://hackers2devnull.blogspot.com/2013/05/how-to-shell-server-via-image-upload.html

sysjuk
08.10.2015, 12:57
shell.php%0delete0.jpg - залив такой шелл, он отображается как картинка, не иначе.

Гуглом пользоваться умею, спасибо, но найти решение на свой вопрос я не смог, увы.

а если к примеру залить root.php.pjpg то он только скачивается, но не исполняется.

private_static
08.10.2015, 13:16
↑ (https://antichat.live/posts/3899911/)
Есть некий сайт, в конфиге прописано
$Config['AllowedExtensions']['File'] = array() ;
$Config['DeniedExtensions']['File'] = array('php','php3','php5','phtml','asp','aspx','as cx','jsp','cfm','cfc','pl','bat','exe','dll','reg' ,'cgi','htaccess') ;
куда заливаются файлы есть .htaccess, как можно это обойти, .txt формат заливается нормально.
Интересны варианты заливки шелла


если вы не ошиблись в написании массива забаненых расширений, то в нём пропущен .php4

попробуйте его залить

sysjuk
08.10.2015, 13:19
Залив .php4, передя на ссылку выходит "[an error occurred while processing this directive]"

kingbeef
08.10.2015, 14:04
Попробуй ssi шелл в формате shtml.

sysjuk
08.10.2015, 14:28
↑ (https://antichat.live/posts/3899956/)
Попробуй ssi шелл в формате shtml.


Попробовал,

Forbidden

You don't have permission to access /uploads/File/shell(1).shtml on this server.

Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

winstrool
08.10.2015, 14:32
А есть болие подробный код скрипта, где идет обработка переменной $Config['DeniedExtensions']['File'] до функции самого уплоада? Может есть возможность обойти через регистр расширений и подменить путь заливаемого файла в случае если .htaccess не дает выполняться пхп скриптам, но это надо смотреть сам код!

BabaDook
08.10.2015, 14:43
А это ваф. попробуйте другой шел не на пхп, методом исключения пробуйте. Мб что-то не то сказал . не пинайте

sysjuk
08.10.2015, 14:43
↑ (https://antichat.live/posts/3899961/)
А есть болие подробный код скрипта, где идет обработка переменной $Config['DeniedExtensions']['File'] до функции самого уплоада? Может есть возможность обойти через регистр расширений и подменить путь заливаемого файла в случае если .htaccess не дает выполняться пхп скриптам, но это надо смотреть сам код!


_rghost.ru/7nRQSnqvt

Вот сам скрипт который на сервере лежит.

Если кто сумеет помочь, гарантированны приз 100$ =)

Ch3ck
08.10.2015, 15:37
По-моему в имя файла добавляется какой-то счетчик.


$arAllowed = $Config['AllowedExtensions'][$resourceType] ;
$arDenied = $Config['DeniedExtensions'][$resourceType] ;

if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )
{
$iCounter = 0 ;

while ( true )
{
$sFilePath = $sServerDir . $sFileName ;

if ( is_file( $sFilePath ) )
{
$iCounter++ ;
$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
$sErrorNumber = '201' ;
}
else
{
move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;

if ( is_file( $sFilePath ) )
{
$oldumask = umask(0) ;
chmod( $sFilePath, 0777 ) ;
umask( $oldumask ) ;
}

break ;
}
}
}
else
$sErrorNumber = '202' ;

sysjuk
08.10.2015, 15:43
↑ (https://antichat.live/posts/3899988/)
По-моему в имя файла добавляется какой-то счетчик.

$arAllowed = $Config['AllowedExtensions'][$resourceType] ;
$arDenied = $Config['DeniedExtensions'][$resourceType] ;

if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )
{
$iCounter = 0 ;

while ( true )
{
$sFilePath = $sServerDir . $sFileName ;

if ( is_file( $sFilePath ) )
{
$iCounter++ ;
$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
$sErrorNumber = '201' ;
}
else
{
move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;

if ( is_file( $sFilePath ) )
{
$oldumask = umask(0) ;
chmod( $sFilePath, 0777 ) ;
umask( $oldumask ) ;
}

break ;
}
}
}
else
$sErrorNumber = '202' ;



Да вроде нет, файлы загружаются в оригинальном названии.

Ch3ck
08.10.2015, 15:54
/threads/15117/ (https://antichat.live/threads/15117/) ?