Jump to content
viiprogrammer

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

Recommended Posts

Есть такой тип атак на сайты как 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

Share this post


Link to post
Share on other sites

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

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

....

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

Share this post


Link to post
Share on other sites

Сейчас нет, её нужно или писать или заказывать

можеш написать 

Share this post


Link to post
Share on other sites

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

 

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

 

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

function getToken(){

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

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

Edited by viiprogrammer

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

 

function getToken(){

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

return $_SESSION['token'];

}

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

 

function getToken(){

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

return $_SESSION['token'];

}

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

Там можно закрыть доступ со сторонних сайтов и всё.

Edited by Rezvitsky

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×