Laut einem Artikel, den ich gelesen habe, leiden 65% aller Websites weltweit unter XSS. Warum können Entwickler es nicht finden und beheben?
Bitte helfen Sie mir zu verstehen. Ich habe keinen Sicherheits- oder technischen Hintergrund.
Laut einem Artikel, den ich gelesen habe, leiden 65% aller Websites weltweit unter XSS. Warum können Entwickler es nicht finden und beheben?
Bitte helfen Sie mir zu verstehen. Ich habe keinen Sicherheits- oder technischen Hintergrund.
XSS ist eine Form der Code-Injektion, d. h. der Angreifer schafft es, seinen eigenen Schadcode (normalerweise JavaScript) in vertrauenswürdigen Code (HTML, CSS, JavaScript) zu injizieren, der von der Site bereitgestellt wird. Es ist SQLi insofern ähnlich, als es durch dynamisch aufgebauten Code verursacht wird, dh SQL-Anweisungen, HTML-Seiten usw.
Es gibt jedoch etablierte Techniken zum Lösen von SQLi (dh Parameter verwenden) Bindung) ist es mit XSS noch schwieriger. Um sich gegen XSS zu verteidigen, muss jede benutzergesteuerte Eingabe ordnungsgemäß maskiert werden, was viel schwieriger ist als es sich anhört:
<a href = javascript: XXX
> ist ein JavaScript-Kontext in einem URL-Kontext innerhalb eines HTML-Attributs Und es gibt einige einfache Möglichkeiten Zum Schutz vor XSS durch Design (insbesondere Content-Security-Policy) funktionieren diese nur mit den neuesten Browsern, müssen vom Entwickler explizit aktiviert werden und sind häufig erst nach großen (und teuren) Änderungen am Code (wie dem Entfernen von Inline-Skripten) wirksam. .
Trotzdem besteht eine gute Chance, es richtig zu machen, wenn Sie Entwickler mit den richtigen Kenntnissen haben und mit modernen Toolkits, die sich bereits um XSS kümmern, von vorne anfangen können. Leider gibt es in vielen Fällen Legacy-Code, an dem nur weiter gearbeitet werden muss. Und die Entwicklung wird normalerweise von Entwicklern durchgeführt, die XSS überhaupt nicht kennen oder nicht alle Fallstricke kennen.
Und solange die Webentwicklung in Umgebungen durchgeführt wird, die sehr kosten- und zeitempfindlich sind, ist die Wahrscheinlichkeit gering, dass sich dies ändert. Ziel in dieser Umgebung ist es, dass der Code in kurzer Zeit und mit geringen Kosten überhaupt funktioniert. Unternehmen konkurrieren normalerweise nach Funktionen und Markteinführungszeit und nicht nach dem sichersten Produkt. Und XSS-Schutz bedeutet derzeit nur zusätzliche Kosten ohne offensichtlichen Nutzen für viele Manager.