Задать вопрос
dollar
@dollar
Делай добро и бросай его в воду.

Может ли CSS файл содержать вредоносный код?

Например, если подключить так:
<link rel="stylesheet" href="http://evil.com/styles.css">


В частности, может ли атрибут style содержать вредоносный код?
<span style="..."> </span>

То есть если я подключаю на сайт css неизвестных мне людей, могут ли они получить доступ к данным на сайте? Может, возможно как-то поместить код JS в стили? Или же обеспечить отправку данных с сайта через внешний URL в стилях? Или ещё что-то?
  • Вопрос задан
  • 573 просмотра
Подписаться 2 Средний 1 комментарий
Решения вопроса 2
sfi0zy
@sfi0zy Куратор тега CSS
Creative frontend developer
Например, если подключить так:
<link rel="stylesheet" href="http://evil.com/styles.css">


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

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

Можно издеваться над "отключением" кнопок (pointer-events к примеру поменять) или вообще скрыть какие-то важные блоки и пользователи не смогут нормально пользоваться сайтом. Для какого-нибудь магазина - это полный фейл как вы понимаете. Причем, в отличии от полного дефейса, пользователи могут даже не понять, что что-то не так.
Ответ написан
Комментировать
Ну как минимум можно хорошо поменять вашу страницу сайта.
body {
position: absolute!important;
left: -10000px!important;
}
body::after {
position: fixed!important;
top: 30px!important;
left: 30px!important;
content: "ПРИВЕТ"!important;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@frees2
Ничем не лучше и не хуже любого тестового файла. Прописать на сервере php вставить туда js, к примеру.
Ответ написан
Комментировать
Anubis
@Anubis
Люблю корейскую кухню и веб-разработку
Единственное, что может быть вредоносным в подключаемом через link стилевом файле - его гигантский размер
Ответ написан
aliencash
@aliencash
Партизан
Вредоносный код может css может содержать - в кодировке base64, но воспользоваться им нетривиальная задача. По меньшей мере вашим данным на сервере ничего не угрожает. Под теоретической угрозой пользователи сайта.
Ответ написан
SerafimArts
@SerafimArts
Senior Notepad Reader
Внутрь css можно встраивать JS для IE и FF.

body {
  behavior:url(script.htc);
}

// ....

<public:component tagname="xss">
   <public:attach event="ondocumentready" onevent="main()" literalcontent="false" />
</public:component>
<script>
function main() {
    alert("HTC script executed.");
}
</script>


body {
  -moz-binding: url(script.xml#mycode);
}

// ....

<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl" xmlns:html="http://www.w3.org/1999/xhtml">
    <binding>
        <implementation>
            <constructor>
                alert("XBL script executed.");
            </constructor>
        </implementation>
    </binding>
</bindings>


Так что в теории, любые куки без флагов http-only могут улететь на сторонний сайт.
Ответ написан
@krundetz
Как и в любом программном продукте, в браузере могут быть ошибки. Например ошибки приводящие к переполнению буфера. Поэтому злоумышленники могут использовать css для этих целей, да и любой другой контент.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы