Heim Betrieb und Instandhaltung Sicherheit Einführung in häufige Sicherheitsprobleme bei der Front-End-Entwicklung

Einführung in häufige Sicherheitsprobleme bei der Front-End-Entwicklung

Jan 21, 2021 am 11:02 AM
前端 安全

Einführung in häufige Sicherheitsprobleme bei der Front-End-Entwicklung

Einführung in häufig gestellte Fragen:

(Lernvideo-Sharing: Programmiervideo)

1. Cross-Site-Scripting-Angriff (XSS-Angriff)

XSS (Cross-Site-Scripting), Cross-Site-Scripting-Angriff. XSS ist eine der häufigsten Web-Angriffstechnologien. Unter dem sogenannten Cross-Site-Scripting-Angriff versteht man Folgendes: Wenn Benutzer diese Webseiten durchsuchen, wird der Schadcode ausgeführt Verschiedene Angriffe wie Diebstahl von Cookie-Informationen und Sitzungsentführung:

(1) Eingabefilterung. Vertrauen Sie niemals Benutzereingaben und führen Sie bestimmte Filterungen für vom Benutzer eingegebene Daten durch. Zum Beispiel, ob die eingegebenen Daten dem erwarteten Format entsprechen, z. B. Datumsformat, E-Mail-Format, Telefonnummer

Codeformat usw. Dies kann einen vorläufigen Schutz vor XSS-Schwachstellen bieten. Die oben genannten Maßnahmen schränken lediglich die Webseite ein. Angreifer können die Front-End-Eingabebeschränkungen dennoch umgehen, indem sie Paketerfassungstools wie Fiddler verwenden und die Anforderung zum Einschleusen von Angriffsskripten ändern.

Daher muss der Backend-Server nach Erhalt der vom Benutzer eingegebenen Daten besondere gefährliche Zeichen filtern oder maskieren und diese dann in der Datenbank speichern. (2) Ausgabekodierung. Die vom Server an den Browser ausgegebenen Daten können mithilfe der Sicherheitsfunktionen des Systems verschlüsselt oder maskiert werden, um XSS-Angriffe zu verhindern. In PHP gibt es zwei Funktionen, htmlentities() und htmlspecialchars(), die Sicherheitsanforderungen erfüllen können. Die entsprechende JavaScript-Codierungsmethode kann JavascriptEncode verwenden. (3) Sicherheitskodierung. Die Entwicklung sollte versuchen, das Umschreiben von Web-Client-Dokumenten, die Umleitung oder andere sensible Vorgänge zu vermeiden und die Verwendung von Client-Daten zu vermeiden. Diese Vorgänge sollten so weit wie möglich auf der Serverseite implementiert werden. (4) HttpOnly-Cookie. Die effektivste Verteidigungsmethode, um zu verhindern, dass XSS-Angriffe Benutzercookies stehlen. Wenn eine Webanwendung ein Cookie setzt, setzen Sie ihr Attribut auf HttpOnly.

kann verhindern, dass das Cookie der Webseite durch das böswillige JavaScript des Clients gestohlen wird, und die Cookie-Informationen des Benutzers schützen. (5) WAF (Web Application Firewall), Webanwendungs-Firewall. Ihre Hauptfunktion besteht darin, häufige Web-Schwachstellenangriffe wie Web-Trojaner,

XSS und CSRF zu verhindern. Es wurde von einem Drittunternehmen entwickelt und erfreut sich in Unternehmensumgebungen großer Beliebtheit.

2. Cross-Site Request Forgery (CSRF-Angriff)

CSRF (Cross Site Request Forgery), also Cross-Site Request Forgery, ist ein häufiger Webangriff, mit dem viele Entwickler jedoch nicht vertraut sind. CSRF ist auch die am häufigsten übersehene Art von Website-Angriff in der Web-Sicherheit. Prinzip des CSRF-Angriffs: Der Opferbenutzer des CSRF-Angriffsprozesses meldet sich auf Website A an, gibt persönliche Informationen ein und speichert das vom Server generierte Cookie lokal. Klicken Sie dann auf einen bösartigen Link, den der Angreifer auf Website A erstellt hat, um zur Website

B zu springen, und dann überträgt Website B die Cookie-Informationen des Benutzers, um Website B zu besuchen. Lassen Sie Website A die Illusion erzeugen, dass der Benutzer sie selbst besucht hat, und dann Führen Sie eine Reihe von Schritten durch. Der häufigste Vorgang ist die Übertragung.

Lösung:

(1) Bestätigungscode. Während der Interaktion zwischen der Anwendung und dem Benutzer, insbesondere in Kernschritten wie Kontotransaktionen, muss der Benutzer einen Bestätigungscode eingeben, um die endgültige Anfrage abzuschließen. Unter normalen Umständen sind Verifizierungscodes gut genug, um

CSRF-Angriffe einzudämmen. Das Hinzufügen von Bestätigungscodes verringert jedoch das Benutzererlebnis und die Website kann nicht allen Vorgängen Bestätigungscodes hinzufügen. Daher können Verifizierungscodes nur als Hilfsmittel zum Festlegen von Verifizierungscodes an wichtigen Geschäftspunkten verwendet werden. (2) Empfehlungsprüfung.

HTTP-Referer ist Teil des Headers. Wenn der Browser eine Anfrage an den Webserver sendet, übermittelt er normalerweise die Referrer-Informationen, um dem Server mitzuteilen, von welcher Seite er verlinkt ist

. CSRF-Angriffe können abgewehrt werden, indem die Quelle der Anfrage überprüft wird. Für den Referrer einer normalen Anfrage gelten bestimmte Regeln. Beispielsweise muss der Referrer einer Formularübermittlung eine auf dieser Seite initiierte Anfrage sein. Indem wir also prüfen, ob der Wert des http-Header-Referers

diese Seite ist, können wir feststellen, ob es sich um einen CSRF-Angriff handelt. In einigen Fällen, z. B. beim Springen von https zu http, sendet der Browser den Referrer jedoch aus Sicherheitsgründen nicht und der Server kann dies nicht überprüfen. Wenn andere Websites in derselben Domäne wie diese Website XSS-Schwachstellen aufweisen, können Angreifer schädliche Skripte in andere Websites einschleusen. Opfer, die solche URLs in derselben Domäne eingeben, werden ebenfalls angegriffen. Aus den oben genannten Gründen kann man sich nicht vollständig auf den Referer Check als wichtigstes Mittel zur Verteidigung gegen CSRF verlassen

. Das Auftreten von CSRF-Angriffen kann jedoch durch den Referer Check überwacht werden. (3) Anti-CSRF-Token. Die derzeit relativ vollständige Lösung besteht darin, Anti-CSRF-Token hinzuzufügen, dh beim Senden einer Anforderung ein zufällig generiertes Token als Parameter in der HTTP-Anforderung hinzuzufügen und auf dem Server einen Interceptor einzurichten, um das Token zu überprüfen. Der Server liest den Token-Wert im aktuellen Domänen-Cookie des Browsers und überprüft, ob das Token

in der Anfrage und der Token-Wert im Cookie vorhanden und gleich sind, bevor er es als legitime Anfrage betrachtet. Andernfalls gilt die Anfrage als rechtswidrig und die Dienstleistung wird abgelehnt. Diese Methode ist viel sicherer als die Referrer-Prüfung. Das Token kann nach der Anmeldung des Benutzers generiert und in der Sitzung oder im Cookie platziert werden. Dann nimmt der Server das Token bei jeder Anfrage aus der Sitzung oder dem Cookie und vergleicht es mit dem Anfrage. Token-Vergleich. Aufgrund der Existenz des Tokens kann der Angreifer nicht mehr konstruieren

Erstellen Sie eine vollständige URL, um einen CSRF-Angriff zu implementieren. Wenn jedoch das Problem der Koexistenz mehrerer Seiten gelöst wird und eine bestimmte Seite das Token verbraucht, speichern die Formulare auf anderen Seiten weiterhin das verbrauchte Token, und beim Absenden der Formulare auf anderen Seiten tritt ein Tokenfehler auf.

3. SQL-Injection-Angriff


SQL-Injection (SQL-Injection): Wenn die Anwendung SQL (Structured Query Language, Structured Query Language) an die Backend-Datenbank überträgt, fügt der Angreifer SQL-Befehle in das Webformular ein, um das zu senden oder einzugeben Domänenname Oder die Abfragezeichenfolge der Seitenanforderung und verleiten Sie letztendlich den Server zur Ausführung schädlicher SQL-Befehle


Lösung:

(1) Verhindern Sie den Verlust vertraulicher Systeminformationen. Setzen Sie die php.ini-Option display_errors=off, um zu verhindern, dass sensible Informationsfehler auf der Webseite ausgegeben werden, nachdem ein Fehler im PHP-Skript aufgetreten ist, was Angreifern die Möglichkeit gibt, einen Vorteil daraus zu ziehen. (2) Datenflucht. Setzen Sie die php.ini-Option magic_quotes_gpc=on, wodurch automatisch alle „(einfache Anführungszeichen), „(doppelte Anführungszeichen), (Backslashes), Leerzeichen usw. in den übermittelten Variablen vorangestellt werden. Oder verwenden Sie die Funktion mysql_real_escape( ) oder Die Funktion addslashes() zum Escapen von Eingabeparametern bezieht sich im Allgemeinen auf die Überprüfung, ob die Benutzereingabe dem erwarteten Typ, der Länge, dem Wertebereich oder anderen Formatstandards entspricht Wenn die Eingabe offensichtlich bösartige Inhalte enthält, wird sie bei Verwendung der Whitelist-Verifizierung in der Regel mit der Sicherheitslücke beim Hochladen von Dateien kombiniert. Die Upload-Schwachstelle kann zum direkten Zugriff auf WEBSHELL genutzt werden. Die Upload-Schwachstelle ist auch eine häufige Schwachstelle bei aktuellen Einbrüchen und ermöglicht es Angreifern, gefährliche Inhalte einzuschleusen Code und Ausführung auf dem Server. Das Prinzip der Datei-Upload-Sicherheitslücke: Da der Implementierungscode der Datei-Upload-Funktion das vom Benutzer hochgeladene Dateisuffix und den Dateityp nicht streng einschränkt, ermöglicht er dem Angreifer, beliebige Inhalte in ein Verzeichnis hochzuladen, auf das zugegriffen werden kann Das Web. PHP-Dateien und die Möglichkeit, diese Dateien an den PHP-Interpreter zu übergeben, können Sie jedes PHP-Skript auf dem Remote-Server ausführen

Lösung:

(1) Überprüfen Sie, ob der Server den hochgeladenen Dateityp und das Suffix ermittelt (2 ) Definition. Es dürfen nur Dateien der Typen in der Whitelist hochgeladen werden. (3) Das Datei-Upload-Verzeichnis verhindert, dass Angreifer sekundäre Angriffe durchführen CGI gibt die Eingabeparameter unverändert auf der Seite aus, der Angreifer täuscht den Benutzer, indem er die Eingabeparameter ändert

Detaillierte Einführung:

Website-Sicherheit

.

Das obige ist der detaillierte Inhalt vonEinführung in häufige Sicherheitsprobleme bei der Front-End-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erkundung der Front-End-Technologie der Go-Sprache: eine neue Vision für die Front-End-Entwicklung Erkundung der Front-End-Technologie der Go-Sprache: eine neue Vision für die Front-End-Entwicklung Mar 28, 2024 pm 01:06 PM

Als schnelle und effiziente Programmiersprache erfreut sich Go im Bereich der Backend-Entwicklung großer Beliebtheit. Allerdings assoziieren nur wenige Menschen die Go-Sprache mit der Front-End-Entwicklung. Tatsächlich kann die Verwendung der Go-Sprache für die Front-End-Entwicklung nicht nur die Effizienz verbessern, sondern Entwicklern auch neue Horizonte eröffnen. In diesem Artikel wird die Möglichkeit der Verwendung der Go-Sprache für die Front-End-Entwicklung untersucht und spezifische Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis dieses Bereichs zu erleichtern. In der traditionellen Frontend-Entwicklung werden häufig JavaScript, HTML und CSS zum Erstellen von Benutzeroberflächen verwendet

Wie sollte das Design der Sicherheitsarchitektur des Java-Frameworks mit den Geschäftsanforderungen in Einklang gebracht werden? Wie sollte das Design der Sicherheitsarchitektur des Java-Frameworks mit den Geschäftsanforderungen in Einklang gebracht werden? Jun 04, 2024 pm 02:53 PM

Das Java-Framework-Design ermöglicht Sicherheit, indem es Sicherheitsanforderungen mit Geschäftsanforderungen in Einklang bringt: Identifizierung wichtiger Geschäftsanforderungen und Priorisierung relevanter Sicherheitsanforderungen. Entwickeln Sie flexible Sicherheitsstrategien, reagieren Sie schichtweise auf Bedrohungen und nehmen Sie regelmäßige Anpassungen vor. Berücksichtigen Sie architektonische Flexibilität, unterstützen Sie die Geschäftsentwicklung und abstrakte Sicherheitsfunktionen. Priorisieren Sie Effizienz und Verfügbarkeit, optimieren Sie Sicherheitsmaßnahmen und erhöhen Sie die Sichtbarkeit.

Tipps zum Deaktivieren des Echtzeitschutzes im Windows-Sicherheitscenter Tipps zum Deaktivieren des Echtzeitschutzes im Windows-Sicherheitscenter Mar 27, 2024 pm 10:09 PM

In der heutigen digitalen Gesellschaft sind Computer zu einem unverzichtbaren Bestandteil unseres Lebens geworden. Als eines der beliebtesten Betriebssysteme ist Windows weltweit weit verbreitet. Da die Angriffsmethoden im Netzwerk jedoch immer weiter zunehmen, ist der Schutz der Sicherheit persönlicher Computer besonders wichtig geworden. Das Windows-Betriebssystem stellt eine Reihe von Sicherheitsfunktionen bereit, von denen das „Windows Security Center“ eine seiner wichtigen Komponenten ist. Bei Windows-Systemen kann uns das „Windows Security Center“ weiterhelfen

Die neuen Weltherausforderungen der KI: Was ist mit Sicherheit und Datenschutz passiert? Die neuen Weltherausforderungen der KI: Was ist mit Sicherheit und Datenschutz passiert? Mar 31, 2024 pm 06:46 PM

Die rasante Entwicklung der generativen KI hat zu beispiellosen Herausforderungen in Bezug auf Datenschutz und Sicherheit geführt und dringende Forderungen nach regulatorischen Eingriffen ausgelöst. Letzte Woche hatte ich die Gelegenheit, mit einigen Kongressabgeordneten und ihren Mitarbeitern in Washington, D.C. über die sicherheitsrelevanten Auswirkungen von KI zu diskutieren. Die heutige generative KI erinnert mich an das Internet der späten 1980er Jahre, mit Grundlagenforschung, latentem Potenzial und akademischen Anwendungen, aber sie ist noch nicht reif für die Öffentlichkeit. Dieses Mal treibt der uneingeschränkte Ehrgeiz der Anbieter, angetrieben durch Risikokapital der unteren Liga und inspiriert durch Twitter-Echokammern, die „schöne neue Welt“ der KI rasant voran. Das „öffentliche“ Basismodell ist fehlerhaft und für den privaten und kommerziellen Gebrauch ungeeignet. Falls vorhanden, sind Sicherheitsstrukturen aufgrund der Angriffsfläche wichtig

Sicherheitskonfiguration und Härtung des Struts 2-Frameworks Sicherheitskonfiguration und Härtung des Struts 2-Frameworks May 31, 2024 pm 10:53 PM

Um Ihre Struts2-Anwendung zu schützen, können Sie die folgenden Sicherheitskonfigurationen verwenden: Nicht verwendete Funktionen deaktivieren. Inhaltstypprüfung aktivieren. Eingaben validieren. Sicherheitstokens aktivieren. CSRF-Angriffe verhindern. Verwenden Sie RBAC, um den rollenbasierten Zugriff einzuschränken

PHP-Mikroframework: Sicherheitsdiskussion von Slim und Phalcon PHP-Mikroframework: Sicherheitsdiskussion von Slim und Phalcon Jun 04, 2024 am 09:28 AM

Im Sicherheitsvergleich zwischen Slim und Phalcon im PHP-Mikroframework verfügt Phalcon über integrierte Sicherheitsfunktionen wie CSRF- und XSS-Schutz, Formularvalidierung usw., während Slim keine sofort einsatzbereiten Sicherheitsfunktionen aufweist und eine manuelle Implementierung erfordert Sicherheitsmaßnahmen. Für sicherheitskritische Anwendungen bietet Phalcon einen umfassenderen Schutz und ist die bessere Wahl.

Implementierung von Algorithmen für maschinelles Lernen in C++: Sicherheitsüberlegungen und Best Practices Implementierung von Algorithmen für maschinelles Lernen in C++: Sicherheitsüberlegungen und Best Practices Jun 01, 2024 am 09:26 AM

Bei der Implementierung von Algorithmen für maschinelles Lernen in C++ sind Sicherheitsaspekte von entscheidender Bedeutung, einschließlich Datenschutz, Modellmanipulation und Eingabevalidierung. Zu den Best Practices gehören die Einführung sicherer Bibliotheken, die Minimierung von Berechtigungen, die Verwendung von Sandboxing und die kontinuierliche Überwachung. Der praktische Fall demonstriert die Verwendung der Botan-Bibliothek zum Ver- und Entschlüsseln des CNN-Modells, um sicheres Training und Vorhersage zu gewährleisten.

Welche Wallet ist sicherer für SHIB-Coins? (Muss für Neulinge gelesen werden) Welche Wallet ist sicherer für SHIB-Coins? (Muss für Neulinge gelesen werden) Jun 05, 2024 pm 01:30 PM

SHIB-Coin ist für Anleger kein Unbekannter mehr. Es handelt sich um einen konzeptionellen Token vom gleichen Typ wie Dogecoin. Mit der Entwicklung des Marktes ist SHIB auf Platz 12 gestiegen. Es ist ersichtlich, dass der SHIB-Markt heiß ist und unzählige Investitionen anzieht . Investoren beteiligen sich an der Investition. In der Vergangenheit kam es auf dem Markt häufig zu Transaktionen und Sicherheitsvorfällen bei Wallets. Viele Anleger waren besorgt über das Speicherproblem von SHIB. Sie fragen sich, welches Wallet derzeit sicherer für die Aufbewahrung von SHIB-Coins ist. Laut Marktdatenanalyse handelt es sich bei den relativ sicheren Wallets hauptsächlich um OKXWeb3Wallet-, imToken- und MetaMask-Wallets, die relativ sicher sein werden. Als Nächstes wird der Herausgeber ausführlich auf sie eingehen. Welche Wallet ist sicherer für SHIB-Coins? Derzeit werden SHIB-Münzen auf OKXWe platziert

See all articles