Перейти к содержанию
CMSTOOLS.org - форум поддержки и развития CMS

CSRF или ужастная уязвимость


Рекомендуемые сообщения

Есть такой тип атак на сайты как CSRF, смысл таков:

 Злоумышленник делает html страницу такого типа (сразу покажу на примере вии):

<form action="http://сайт/index.php?go=status" method="POST">
  <input type="hidden" name="text" value="лалала это CSRF детка">
</form>
<script>
window.onload = function(){
 document.getElementsByTagName('form')[0].submit()
};
</script>

И если залогиненый пользователь перейдет на эту страницу то в его статус установится текст "лалала это CSRF детка"

 

данным способом можно и не только установить статус а делать что хочешь, а если на такой код попадется администратор сайта на вии то это грозит очень большими последствиями тогда можно будет сделать ЛЮБОЙ ЗАПРОС в админку, а этот код можно встроить в любой популярный сайт по вии даже на этом форуме и поломать сайты посетителей! так что лучше пока прикрыть сайтики по Vii а то не дай бог кто нибудь прочитает и сделает это))

 

Данной уязвимости подвержены все версии vii

 

Ставим +++

 

Внимание!

 При распространении просьба указывать автора!

 Данный контент предоставлен только в ознакомительных целях!

  • Upvote 6
Ссылка на комментарий
Поделиться на другие сайты

Есть такой тип атак на сайты как CSRF, смысл таков:

 Злоумышленник делает html страницу такого типа (сразу покажу на примере вии):

....

а есть какая то защита от этого ?

Ссылка на комментарий
Поделиться на другие сайты

Точно работает, нужна защита :)

 

Получается нужно каждую форму переписывать? ну уязвимость не такая особо страшная если на сайте 50 человек, но если конечно на сайте тысячи людей то да опасная)

 

надо как-то токен

function getToken(){

 $_SESSION['token'] = md5(uniqid()); 
 return $_SESSION['token'];
}

вставить в формы и проверять

Изменено пользователем viiprogrammer
Ссылка на комментарий
Поделиться на другие сайты

точно работает, нужна защита :)

 

получается нужно каждую форму переписывать?

 

ну уязвимость не такая особо страшная если на сайте 50 человек, но если конечно на сайте тысячи людей то да опасная)

 

надо как-то токен

 

function getToken(){

$_SESSION['token'] = md5(uniqid());

return $_SESSION['token'];

}

 

вставить в формы и проверять

 

Ну тип того, но не формыа все запросы но надо сделать так чтобы именно запросы на сообщения и до т.е не обычных запросы (открыл страницу, считай запрос)

Ссылка на комментарий
Поделиться на другие сайты

точно работает, нужна защита :)

 

получается нужно каждую форму переписывать?

 

ну уязвимость не такая особо страшная если на сайте 50 человек, но если конечно на сайте тысячи людей то да опасная)

 

надо как-то токен

 

function getToken(){

$_SESSION['token'] = md5(uniqid());

return $_SESSION['token'];

}

 

вставить в формы и проверять

Она достаточно опасна если зарание знать что по ней перейдет человек с user_group 1 то можно провести дополнительно и XSS

Ссылка на комментарий
Поделиться на другие сайты

а как значение вставить ко всем формам одновременно? :)

 

В Vii не используются формы используется AJAX, надо будет к каждому запросу добавлять 'Токен' и проверять его везде, очень большой гемор

Ссылка на комментарий
Поделиться на другие сайты

была бы хоть примерная инструкция чтобы каждый на месте сам сделал)

Дак https://learn.javascript.ru/csrf но я все же уверен что сделал бы 1 на 10 так как знания программирования 0-вые

Ссылка на комментарий
Поделиться на другие сайты

Это даже не уязвимость. Скажем так. Любой гавно-сайт такой атаке может быть подвержен, а не только vii и dle и многие другие двиги. Для этого достаточно просто сделать контроль одноразовым токеном. Кто не понял - гугл в помощь. А знающим эту тему даже поднимать не советую. Ибо песочница

Ссылка на комментарий
Поделиться на другие сайты

С POST запросами там есть защита от этого, а если у кого то стоит GET то не позорьтесь и перепишите, много ума не нужно. 

Нету на POST, не на GET не на POST она не откуда не возьмётся если её нету, на примере выше показан именно POST запрос на смену статуса, с помощью CSRF можно отправлять запрос любом методом

Ссылка на комментарий
Поделиться на другие сайты

Это даже не уязвимость. Скажем так. Любой гавно-сайт такой атаке может быть подвержен, а не только vii и dle и многие другие двиги. Для этого достаточно просто сделать контроль одноразовым токеном. Кто не понял - гугл в помощь. А знающим эту тему даже поднимать не советую. Ибо песочница

Но все же довольно опасная штука, это в общем-то то да не уязвимость, а больше "Неверная обработка входных данных", лично у себя на сайтах использую вобще самописные сессии и ключом сессии "подписываю" запросы

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Но все же довольно опасная штука, это в общем-то то да не уязвимость, а больше "Неверная обработка входных данных", лично у себя на сайтах использую вобще самописные сессии и ключом сессии "подписываю" запросы

 

Если бы в vii библиотека своя была бы то там за пару минут можно сделать, а так или в каждый запрос дописывай отправку токена или же править библиотеку, и оба варианта никакие.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 года спустя...
×
×
  • Создать...