Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   fckeditor (https://forum.antichat.xyz/showthread.php?t=431258)

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

Цитата:

Сообщение от sysjuk

Есть некий сайт, в конфиге прописано
$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/...ge-upload.html

sysjuk 08.10.2015 12:57

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

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

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

private_static 08.10.2015 13:16

Цитата:

Сообщение от sysjuk

Есть некий сайт, в конфиге прописано
$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

Цитата:

Сообщение от kingbeef

Попробуй 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

Цитата:

Сообщение от winstrool

А есть болие подробный код скрипта, где идет обработка переменной $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

Цитата:

Сообщение от Ch3ck

По-моему в имя файла добавляется какой-то счетчик.
Код:

$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/ ?


Время: 10:33