Залитие шелла с расширение .jpg и правка в пост-запросе

Discussion in 'Песочница' started by N@b$ter, 9 Nov 2011.

  1. N@b$ter

    N@b$ter Elder - Старейшина

    Joined:
    6 Oct 2009
    Messages:
    290
    Likes Received:
    70
    Reputations:
    21
    В общем решил написать статью как залить шелл через адмику если не пропускается расширение .php. Написал потому что очень часто стал видеть темы вроде такой "помогите как залить шелл через админку". Просьба сильно не пинать, первая статья ;)
    [into]
    Профи для себя нечего не почерпнут из данной статье так как, статья рассчитана на новичков!
    [Поехали]
    И так думаю каждый попадал в такую админку где нельзя заливать файлы с расширением php и нету редактирование шаблонов и т.д.
    Я покажу способ который часто меня выручал в таких ситуациях, не помню вычитал ли я это или сам додумался было очень давно)))
    Для данного способа понадобиться Mozilla Firefox и плагин к нему tamper data скачать всё можно с официального сайта мозиллы.
    Теперь изменяем расширение шелла (я взял wso2) на .jpg

    [​IMG]
    Заходим в админку и ищем откуда можно залить файлы. У меня это в разделе Медиа. Создаём новую тему и прикрепляем нашу "картинку".
    [​IMG]
    перед тем как всё это сохранить запускаем tamper data (Инструменты ==> Перехватка данных) и кликаем на "Запустить перехват". Сохраняем наш шедевр и появляется следующее окно
    [​IMG]
    Нажимаем "Вмешаться" и видим
    [​IMG]
    Теперь меняем расширение с jpg на php(filename="wso2.php") и Content-Type на application/x-httpd-php (Content-Type: application/x-httpd-php)
    [​IMG]
    и нажимаем "Ok". Можно считать что пол дела сделано. Проверяем как там наша новость. Должно быть что-то вроде этого
    [​IMG]
    смотрим ссылку картинки и видим что тут картинка выдаётся через скрипт
    [​IMG]
    Ну тут всё просто, обрезаем строку "images/media/16.jpg" и получаем site.ru/images/media/16.jpg меняем расширение на php site.ru/images/media/16.php получаем полноценный шелл и радуемся)
    [​IMG]
    Данная статья предоставлена в ознакомительных целях автор не несёт ответственности за Ваши действия
    N@b$ter для antichat.ru
     
    #1 N@b$ter, 9 Nov 2011
    Last edited: 10 Nov 2011
    4 people like this.
  2. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,515
    Likes Received:
    400
    Reputations:
    196
    i****a.ru ага-ага.


    Хмм, похоже ты сам себя отымел в ж**пу. Не вижу в этом смысла - это то же самое, что и заливка обычного php-файла без изменения заголовков. Обычно заголовки изменять нужно, если расширение ".php" не принимается или content-type, отличный от "image/*"
     
    #2 попугай, 9 Nov 2011
    Last edited: 10 Nov 2011
  3. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,022
    Likes Received:
    524
    Reputations:
    935
    PHP:
    if ($ph['error']==0)
            {
              
    $pmid=sql("Select max(id) as mid from photo".$ar,1);
              if (
    mysql_num_rows($pmid)>0)
              {
                
    $pmid=mysql_fetch_array($pmid);
                
    $mid=$pmid["mid"]+1;
              }
              else 
    $mid=1;
              
    $oldname=$ph['name'];
              
    $ext='';
              
    $ii=strlen($oldname)-1;
              while (
    $oldname[$ii+1]!='.') { $ext=$oldname[$ii--].$ext;}
              
    move_uploaded_file($ph['tmp_name'], "./temp/".$mid.$ext);
              if (
    in_array(strtoupper(trim($ext)), Array('.JPG''.GIF''.PNG','.JPEG')))
              {
                if (
    rename("temp/".$mid.$ext$fldr."/".$mid.strtolower($ext)))
                {
                  
    sqlr('Update advs set timeupdate='.$time.' where id='.$idt,1);
                  
    sql('Insert into photo'.$ar.'(IDT, fname, alt, time) values ('.$idt.',"'.$mid.strtolower($ext).'","'.$phalt.'", '.$time.');',1);
                }
                else
                  
    unlink($fldr."/".$mid.$ext);
              }
    Соль в том, что там просто самая тупая проверка на свете, и достаточно было подменить _POST['file']['name'] на .JPG, .GIF, .PNG, .JPEG и шелл залит.
    Тема не дотягивает до раздела "Уязвимости".
     
    _________________________
  4. N@b$ter

    N@b$ter Elder - Старейшина

    Joined:
    6 Oct 2009
    Messages:
    290
    Likes Received:
    70
    Reputations:
    21
    Дело в следуещем часто если ты не изменяешь content-type, то файл отображаеться как html, а не пхп.
    И как было написанов в сабже это для новичков которые этого не знали.
    Мне очень часто так удавалось залить шелл, так что я пишу только то что проверил на собственном опыте. Тема и не называлась как "МЕГА УЯЗВИМОСТЬ". Просто не видел места куда её можно засунуть, а темы в которых просят помощи по загрузки шелла тут, вот и поместил её сюда
     
    #4 N@b$ter, 10 Nov 2011
    Last edited: 10 Nov 2011
  5. flinster

    flinster New Member

    Joined:
    29 Jan 2011
    Messages:
    52
    Likes Received:
    0
    Reputations:
    0
    А как быть если при заливке shell.jpg выбивает ту же ошибку что и при заливки php?
     
  6. N@b$ter

    N@b$ter Elder - Старейшина

    Joined:
    6 Oct 2009
    Messages:
    290
    Likes Received:
    70
    Reputations:
    21
    Посмотри какие расширение можно заливать.
     
  7. flinster

    flinster New Member

    Joined:
    29 Jan 2011
    Messages:
    52
    Likes Received:
    0
    Reputations:
    0
    Есть раздел по заливке файлов для скачивания, туда практически все кроме пхп разумеется. Если шелл картинкой кидать то выдает ошибку и без изменения запроса и с изменением, не заливает, а вот если в формате pdf то заливает но если вмешиваешься меняешь на php то такая же ошибка не заливает так.
     
  8. N@b$ter

    N@b$ter Elder - Старейшина

    Joined:
    6 Oct 2009
    Messages:
    290
    Likes Received:
    70
    Reputations:
    21
    Тут проходит проверка уже на сервере после того как отправляется пост ищи другие способы заливки