HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 16.05.2012, 17:50
Cennarios
Участник форума
Регистрация: 13.07.2008
Сообщений: 101
Провел на форуме:
346497

Репутация: 303
Отправить сообщение для Cennarios с помощью ICQ
По умолчанию

Добрый! Недавно от QAZ имел место вопрос о том, как обратиться к файлу залитого шела через INTO+OUTFILE напрямую в случае если сайт построен на Zend Framework. Ситуация такова, что человек, заливая INTO+OUTFILE+'/abspath/file.php' физически размещает файл на ФС сервера. но при обращении http://site/dir/shell.php получает ошибку. Тогда как к примеру обращение в файлам иных расширений, к примеру .txt происходит без затруднений. Все дело в том, что тут обращение к .php файлу в данной директории переопределяется через .htaccess файл в корне сайта. Собственно ZendF правила определяются именно htaccess файлом в корне. И обращение к .php файлу воспринимается как обращение к контроллеру на уровне фреймворка. Это и есть причина ошибки, которую выдает сервер.

Рассмотрим htaccess:

Вот классический пример файла для cms построенной на zendf:

RewriteEngine On

RewriteBase /

DirectoryIndex /index.php

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^jquery.js$ /app/core/Jquery/jquery.js

RewriteRule !.(js)$ /index.php

php_flag magic_quotes_gpc off

php_flag register_globals off

php_value error_reporting E_NONE

php_value display_errors 0

Вот это строка:RewriteRule RewriteRule !.(js)$ /index.php определяет правила доступа к файлам типа .js или other. Те если файл .js - то его прелинкует на далее определенное правило. Как-то: ^jquery.js$ /app/core/Jquery/jquery.js

Ежели расширение , к примеру .php, то запрос уйдет в /index.php

STRUCT:

/index.php

/.htaccess(вышеописанный)

/sub/shell.php

В таком случае при обращении http://site/sub/shel.php сервер отдаст ошибку.

Но! Ежели залить в директорию sub файл .htaccess следующего содержания:

RewriteEngine On

Тогда, если базовая конфигурация apache в httpd.conf или виртхостах позволяет (необходимо разрешение переопределения правил дочерними htaccess правилами), прелинковка запросав index.php нивелируется и становится возможным direct access к файлу shell.php
 
Ответить с цитированием

  #2  
Старый 17.05.2012, 03:15
Га-Ноцри
Guest
Сообщений: n/a
Провел на форуме:
103014

Репутация: 76
По умолчанию

Цитата:
Сообщение от Cennarios  
Cennarios said:
Добрый! Недавно от QAZ имел место вопрос о том, как обратиться к файлу залитого шела через INTO+OUTFILE напрямую в случае если сайт построен на Zend Framework. Ситуация такова, что человек, заливая INTO+OUTFILE+'/abspath/file.php' физически размещает файл на ФС сервера. но при обращении http://site/dir/shell.php получает ошибку. Тогда как к примеру обращение в файлам иных расширений, к примеру .txt происходит без затруднений. Все дело в том, что тут обращение к .php файлу в данной директории переопределяется через .htaccess файл в корне сайта. Собственно ZendF правила определяются именно htaccess файлом в корне. И обращение к .php файлу воспринимается как обращение к контроллеру на уровне фреймворка. Это и есть причина ошибки, которую выдает сервер.
Рассмотрим htaccess:
Вот классический пример файла для cms построенной на zendf:
RewriteEngine On
RewriteBase /
DirectoryIndex /index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^jquery.js$ /app/core/Jquery/jquery.js
RewriteRule !.(js)$ /index.php
php_flag magic_quotes_gpc off
php_flag register_globals off
php_value error_reporting E_NONE
php_value display_errors 0
Вот это строка:RewriteRule RewriteRule !.(js)$ /index.php определяет правила доступа к файлам типа .js или other. Те если файл .js - то его прелинкует на далее определенное правило. Как-то: ^jquery.js$ /app/core/Jquery/jquery.js
Ежели расширение , к примеру .php, то запрос уйдет в /index.php
STRUCT:
/index.php
/.htaccess(вышеописанный)
/sub/shell.php
В таком случае при обращении http://site/sub/shel.php сервер отдаст ошибку.
Но! Ежели залить в директорию sub файл .htaccess следующего содержания:
RewriteEngine On
Тогда, если базовая конфигурация apache в httpd.conf или виртхостах позволяет (необходимо разрешение переопределения правил дочерними htaccess правилами), прелинковка запросав index.php нивелируется и становится возможным direct access к файлу shell.php
Cennarios как всегда на высоте. И хотя, по моему скромному мнению, проблема не такая уж часто встречающаяся, при заливке, но в любом случае стоит взять это на заметку и записать в блокнотик. Спасибо за труды по написанию этого небольшого мануала.

Пишите еще и почаще
 
Ответить с цитированием

  #3  
Старый 18.05.2012, 05:22
+toxa+
[Лишённый самовыражени
Регистрация: 16.01.2005
Сообщений: 1,787
Провел на форуме:
9751379

Репутация: 3812


Отправить сообщение для +toxa+ с помощью ICQ Отправить сообщение для +toxa+ с помощью AIM
По умолчанию

sh.php5.ololo не прокатит?
__________________
 
Ответить с цитированием

  #4  
Старый 18.05.2012, 11:58
Cennarios
Участник форума
Регистрация: 13.07.2008
Сообщений: 101
Провел на форуме:
346497

Репутация: 303
Отправить сообщение для Cennarios с помощью ICQ
По умолчанию

Всмысле ) Строку произвольного содержания что-ти в htaccess имеется ввиду?)
 
Ответить с цитированием

  #5  
Старый 18.05.2012, 15:23
+toxa+
[Лишённый самовыражени
Регистрация: 16.01.2005
Сообщений: 1,787
Провел на форуме:
9751379

Репутация: 3812


Отправить сообщение для +toxa+ с помощью ICQ Отправить сообщение для +toxa+ с помощью AIM
По умолчанию

Цитата:
Сообщение от Cennarios  
Cennarios said:
Всмысле ) Строку произвольного содержания что-ти в htaccess имеется ввиду?)
не, я имею ввиду старую тему что если несколько расширений у файла и он последний из них не прописан в mime-type у апача, то он юзает предыдущий. и если он делает rewrite по маске а-ля .php$ то конструкция sh.php5.ololo по-идее должно прокатить. ну это если по твоим словам к .txt прямой доступ например.
__________________
 
Ответить с цитированием

  #6  
Старый 18.05.2012, 16:12
Cennarios
Участник форума
Регистрация: 13.07.2008
Сообщений: 101
Провел на форуме:
346497

Репутация: 303
Отправить сообщение для Cennarios с помощью ICQ
По умолчанию

Вот тут воистину уж ХЗ, что говорится. Я , собственно всей этой писаниной хотел указать лишт то, что наличие в .htaccess директивы Rewriteengine On перебивает вышеопределенные правила. Конечно в большинстве случаев то что ты говоришь сработать должно. Но тоже зависит от туевой хучи факторов - фронтенд-бэкенд комплексы, всякие nginx+phpFPM и прочее. Тот же нгикс на фронте воспримет sh.php5.ololo скорее всего как статический файл и выдаст еррор. Уж больно мало человек информации привел - было сказано просто, что зенд ошибку вываливает и все. Собственно и идео обхода получилась ввиду этого символической )

P.S. Да, тупанул, сам по себе вариант конечно-же проще ))
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ