Web - Javascript - Authentifizierung, Verschleierung und nativer Code. Problemlösung mit r0ot-mi Web - Client. Teil 1

Bild

Dieser Artikel enthält Joblösungen, die die Javascript-Authentifizierung, die Verschleierung von Javascript und den nativen Javascript-Code abdecken.

Organisationsinformationen
Speziell für diejenigen, die etwas Neues lernen und sich in einem der Bereiche Informations- und Computersicherheit entwickeln möchten, werde ich über die folgenden Kategorien schreiben und sprechen:

  • PWN;
  • Kryptographie (Krypto);
  • Netzwerktechnologien (Netzwerk);
  • Reverse (Reverse Engineering);
  • Steganographie (Stegano);
  • Suche und Ausnutzung von WEB-Schwachstellen.

Darüber hinaus werde ich meine Erfahrungen in den Bereichen Computerforensik, Analyse von Malware und Firmware, Angriffe auf drahtlose Netzwerke und lokale Netzwerke, Durchführung von Pentests und Schreiben von Exploits teilen.

Damit Sie sich über neue Artikel, Software und andere Informationen informieren können, habe ich in Telegram einen Kanal und eine Gruppe eingerichtet, um alle Probleme im Bereich ICD zu diskutieren . Außerdem werde ich Ihre persönlichen Anfragen, Fragen, Vorschläge und Empfehlungen persönlich prüfen und alle beantworten .

Alle Informationen werden nur zu Bildungszwecken bereitgestellt. Der Autor dieses Dokuments übernimmt keine Verantwortung für Schäden, die jemandem durch die Verwendung von Kenntnissen und Methoden entstehen, die durch das Studium dieses Dokuments erworben wurden.

HTML deaktivierte Elemente


Bild

Auf der Seite sehen wir ein gesperrtes Formular.

Bild

Wir müssen es entsperren und verwenden. Öffnen Sie dazu das Entwicklerfenster (in meinem Fall im Firefox-Browser).

Bild

Wir beobachten zwei Formelemente, in denen der deaktivierte Parameter vorhanden ist. Sie müssen es nur löschen.

Bild

Jetzt senden wir einen Text in das Formular und erhalten eine Flagge.

Bild

Javascript-Authentifizierung


Bild

Wir gehen zur Seite und beachten das Formular, in dem Sie den Login und das Passwort eingeben müssen.

Bild

Wenn Sie versuchen, Zeilen zu senden, wird in einer Warnung eine Meldung über falsche Daten angezeigt.

Bild

Öffnen wir den Quellcode. Wenn Sie auf die Anmeldeschaltfläche klicken, ruft js die Funktion Login () auf.

Bild

Gehen wir zum Entwicklerfenster auf der Registerkarte Debugger. Wählen Sie im linken Fenster von Source unsere Site aus und sehen Sie sich den Quellcode in der Datei login.js an. Es gibt Anmeldedaten.

Bild

Wir fahren mit der nächsten Aufgabe fort.

Bild

Wir öffnen die Seite und werden vom bekannten Passworteingabefenster begrüßt.

Bild

Öffnen Sie den Quellcode und nehmen Sie das Passwort.

Bild

Mach weiter.

Bild

Öffnen Sie in Analogie zu den vorherigen Aufgaben das Entwicklerfenster und die Registerkarte Debugger. Eine Zeichenfolge wird aus der Liste extrahiert, ein Doppelpunkt wird in Teile unterteilt. Der erste Teil ist das Login, der zweite das Passwort.

Bild

Javascript-Verschleierung


Bild

Öffnen Sie den Quellcode, dort finden wir die Passvariable.

Bild

Unser Passwort ist URL-verschlüsselt. Gehen wir zum Entwicklerfenster, der Registerkarte Konsole. Dekodieren Sie mit der Funktion js decodeURI ().

Bild

Mach weiter ...

Bild

Schauen Sie sich noch einmal die Quelle an. Der variable Durchgang wird erwähnt.

Bild

Gehen Sie zur Konsole und zeigen Sie die Passvariable an.

Bild

Es sieht aus wie js Code. Um es auszuführen, übergeben Sie pass als Argument an die Funktion eval ().

Bild

Code immer wieder eval ().

Bild

Nativer Javascript-Code


Bild

Wir öffnen die Seite. Wir werden erneut vom Passworteingabefenster begrüßt.

Bild

Öffnen Sie die Datei und sehen Sie nativen Code Javascript.

Bild

In js gibt es zwei generische Methoden: toString () und toSource (), die auf Objekte anwendbar sind. Ganz am Ende des Codes beobachten wir "()", dh es geht eine Funktion voraus. Löschen Sie in der Konsole "()" und hängen Sie ".toSource ()" an.

Bild

Wir haben die Passwortüberprüfungsfunktion, in der wir das Passwort selbst sehen können.

Bild

Öffnen Sie die Quelle und holen Sie sich js.

Bild

Eine Zeichenfolge wird durch den Typ der durch Komma getrennten Variablenpasszeichencodes an die Funktion übergeben. Ganz am Ende wird eine Funktion mit einer Zeichenfolge aufgerufen. Lassen Sie uns die Zeichenfolge dekodieren und die Zahlen in Zeichen übersetzen.

Bild

Wir bekommen das Passwort.

Immer komplizierter ... Sie können sich uns per Telegramm anschließen . Dort können Sie Ihre eigenen Themen vorschlagen und über die Themenauswahl für die folgenden Artikel abstimmen.

Source: https://habr.com/ru/post/de471662/


All Articles