Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   XSRF уязвимость. Возможно ли такое? (https://javascript.ru/forum/misc/17182-xsrf-uyazvimost-vozmozhno-li-takoe.html)

dmitriymar 10.05.2011 17:08

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

melky 10.05.2011 18:38

Цитата:

Сообщение от dmitriymar (Сообщение 104054)

что мешает получить доступ из своего скрипта к переменным этого скрипта-вроде ничего не мешает.

а защита,наверное писать виджеты прибивающие после отработки значения переменных какие они получили в ходе работы скрипта.

мне лень проверять, но вот живой пример,что можно :

jquery берем с yandex.ru. можем использовать window.$.

значит, можно делать и так.


<script type="text/javascript" src="http://userapi.com/js/api/openapi.js"></script>

<script type="text/javascript">

VK.Cookie.clear()

</script>



если следовать идее, то при запуске этой функции кукисы должны очиститься, потому что фунция это делает.

так можно пакостить разработчикам, использующим Vkontakte Tools ( ну, комменты, лайк,ченить еще)

но не более.

hrundel 10.05.2011 19:58

dmitriymar, ничего себе, если это так, то vkontakte.ru уязвим, как уязвимы куки авторизации его пользователей. Контакт ведь всякие лайки активно использует :)
Я сам с куками в javascript не знаком.

dmitriymar 10.05.2011 21:35

melky,
значит можно всё. что мешает объявить глобальными переменные используемые в сторонних скриптах и получить доступ к их значениям?-ничего. и это проблема разработчика после работы скрипта обнулить опасные данные

melky 10.05.2011 21:41

тогда придется избегать и замыканий

вспомните про второй параметр alert в FireFox, с помощью которого можно смотреть переменные,которые объявлены в замыкании через var )

Starkua 11.05.2011 00:25

Вот здесь тема разжевана от и до - http://www.securitylab.ru/analytics/292473.php

Там пишется о XSRF - но это фактически то-же самое что и XSSI, только второе - это джаваскрипт файлы.

PeaceCoder 13.05.2011 12:45

Цитата:

Сообщение от Starkua
Там пишется о XSRF - но это фактически то-же самое что и XSSI, только второе - это джаваскрипт файлы.

Это совсем не то же самое. ТС говорит о уязвимости сайта через скрипты которые генерируются на лету в зависимости от авторизации пользователя. Таким образом эти данные доступны хакеру в чистом виде и пользователь даже не подозревает о том что его данные в это время получают не напрягаясь. Недавно об этой уязвимости мне сообщил знакомый который сидит в контакте но о вэбе знаком только по общению со мной. В контакте эта уязвимость есть вроде еще.

На мой взгляд как это предотвращать:
<?php if (!$_COOKIE['INDEX_LOAD']) exit('No direct access'); ?>


А в сессию прописывать только при заходе с главной страницы. А куку держать до окончания сессии вне зависимости от автологина.
Хотя и это обойти можно: просто перед запросом данных запросить главную страницу контакта.
Простой способ не попасть на эту уязвимость - logout в контакте.

hrundel 14.05.2011 15:58

melky, не очень понятно, пока. Получается, что если я создам на своём сайте страницу, подключу js из vkontakte.ru и выполню какой-то нехороший код (как в примере у вас), то я удалю все куки пользователя для сайта vkontakte.ru? Даже если открытая HTML-страница будет сгенерирована не сервером vkontakte.ru, а моим личным сайтом mysite.ru?

hrundel 14.05.2011 16:06

Цитата:

Сообщение от dmitriymar (Сообщение 104077)
melky,
значит можно всё. что мешает объявить глобальными переменные используемые в сторонних скриптах и получить доступ к их значениям?-ничего. и это проблема разработчика после работы скрипта обнулить опасные данные

А какие-такие конфиденциальные данные содержит обычный js-файл?
Ну допустим содержит функции, которые предназначены для работы с куками. Но ведь подключённый в HTML-коде страницы mysite.ru/page.html данный js-скрипт будет иметь доступ к кукам только сайта mysite.ru. Открыта страница домена mysite.ru, а значит только с куками этого домена подключённый скрипт может иметь дело. Разве не так?

Aetae 14.05.2011 17:52

Половина народа в этой теме говорит о некоей чОрной магии в которой нифига не понимает, а вторая половина не может понятно первой объяснить.))


Часовой пояс GMT +3, время: 18:09.