Jump to content

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


viiprogrammer
 Share

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
Link to comment
Share on other sites

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

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

....

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

Link to comment
Share on other sites

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

 

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

 

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

function getToken(){

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

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

Edited by viiprogrammer
Link to comment
Share on other sites

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

 

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

 

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

 

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

 

function getToken(){

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

return $_SESSION['token'];

}

 

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

 

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

Link to comment
Share on other sites

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

 

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

 

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

 

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

 

function getToken(){

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

return $_SESSION['token'];

}

 

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

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

Link to comment
Share on other sites

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

 

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

  • 3 weeks later...

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

 

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

Link to comment
Share on other sites

  • 3 years later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...