Wie kann ich ein Kennwort von einer Website mithilfe eines Formulars mit der GET-Methode auf einer ASPX-Plattform erhalten?

2094
CheeseConQueso

Ich versuche, ein Kennwort für einen Bereich einer Website herauszufinden, der die GETMethode zur Authentifizierung der korrekten Anmeldeinformationen verwendet. Die Seite ist eine, .aspxaber ich bin nicht sicher, ob das einen wirklichen Unterschied ausmacht.

Die Fakten:

  • Ich kenne den Benutzernamen bereits.
  • Es gibt keinen Schutz gegen Bots - Ex: Es gibt keinen CAPTCHASchutz. Es gibt nichts zu bestätigen, dass ein Mensch den Login-Versuch unternimmt.
  • Wiederholungen sind unbegrenzt. Die Seite wird Sie nicht anstoßen oder eine Abkühlphase für nachfolgende fehlgeschlagene Versuche erzwingen.

Dies ist keine Frage oder ein Projekt für die Hausaufgaben, und was noch wichtiger ist, verstößt der Erhalt und die Verwendung des Passworts (sofern vorhanden) nicht gegen Gesetze.

Ich bin nur nicht mit Brute-Force-Programmen vertraut, um das Passwort zu knacken. Was ich über Brute-Force-Kennwort-Cracker weiß, ist, dass sie systematisch versuchen, sich entweder mit einer bereitgestellten Wörterbuch-Textdatei oder mit einer automatisch generierten Liste anzumelden.

Ich habe Brutus und ein anderes Programm auf einem Mac ausprobiert, dessen Namen ich vergessen habe. Beide haben mir nichts Nützliches gegeben und schienen auch keinen einzigen Versuch unternommen zu haben. Ich weiß nicht, ob Brute Force der richtige Weg ist oder ob ich veraltete Programme verwende, aber weiß jemand, wie ich das Passwort knacken könnte?

Wie bereits erwähnt, bestehen hier keine rechtlichen Bedenken. Ich versuche lediglich, jemanden zu beweisen, der der Meinung ist, dass die Entwicklung seines eigenen Anmeldeskripts besser ist, als ein Paket zu implementieren, das diese "Hacking" -Probleme bereits behandelt hat.

Wenn jemand der Meinung ist, dass diese Frage für superuser.com unangemessen oder nicht akzeptabel ist, migrieren Sie sie bitte zu einem anderen Mitglied der Stack-Austauschfamilie. Wenn es völlig aus der Reihe ist, tut es mir leid, stimme zu, um es zu schließen oder zu löschen.

Danke für jede Info

1

2 Antworten auf die Frage

1
Brad Christie

Well, given a 6-character long password with a-z, A-Z, 0-9 and special characters (for argument's sake, we'll use those found above the numbers on a qwerty keyboard) you're looking at 139,314,069,504 possible combinations. That's over 4,000 years to crack @ 1/sec. Even a 5-character letters and numbers only password is 916,132,832 combinations and ~29 years to crack @ 1/sec.

I suppose you could get a group of computers all trying at the same time, but how many machines are you going to use to divide workload?

What is more probable is finding another way in; this is usually a SQL injection or a miss-check that allows you either direct or round-about access to the database so you can dump the (presumable) password hash or direct password. Then, it's a lot easier to have a look-up table or algorithm that breaks down the hash.


Answer aside, with regards to your comment:

I am merely trying to prove a point to someone who thinks that developing his own login script is better than implementing a package that has already covered these "hacking" prevention issues.

There's something to be said for writing your own; experience, triumph & trust (among others). Don't get me wrong, as a software guy I've learned to appreciate libraries others have written, but if I never wrote my own String class I don't think I would have as much appreciation for the data type (nor as much understanding about memory management). With that said, if this is a production environment I do agree with you and a "professional" library should probably be used.

0
Synetech

Wie wäre es, ein kleines Skript zu schreiben, das alle möglichen Permutationen von Passwörtern generiert (oder ein Wörterbuch verwendet) und eine Instanz von WGET erzeugt (natürlich mit Grenzen, um zu vermeiden, dass das System mit Millionen von Prozessen zerstört wird)?

Durch die gleichzeitige Ausführung zahlreicher WGET-Instanzen wird die Zeit, die benötigt wird, um sie zu finden, drastisch reduziert (Brad erwähnte 1 / s, aber auf diese Weise haben Sie 10, 100 oder 1.000 / s, die nur durch Ihre Internetverbindung begrenzt sind).

Der Schlüssel ist natürlich das Format, in dem der Benutzername und das Passwort für die Seite angegeben werden. Sie sagten POST / GET im Titel, aber ich frage mich, ob das korrekt ist (die meisten Sites verwenden nur eine; beide wären sinnlos).

Ein kleines Skript zu schreiben ist (meiner Meinung nach) nutzlos, weil es Brute-Force-Programme gibt, die dasselbe tun. POST / GET bedeutete nicht, dass beide beschäftigt waren. Die Seite verwendet speziell "GET", aber ich glaube nicht, dass das wichtig war CheeseConQueso vor 12 Jahren 0
*> Die Site verwendet speziell GET, aber ich glaube nicht, dass das wichtig wäre. * Sicher, die beiden Methoden senden den Benutzernamen / das Passwort auf sehr unterschiedliche Weise. *> Das Schreiben eines kleinen Skripts ist (meiner Meinung nach) nutzlos, weil es Brute-Force-Programme gibt, die dasselbe tun. * Was suchen Sie dann genau? zeitliche Angriffe? Ressourcenangriffe? Schwachstellen? soziale Entwicklung? Ihre Frage ist vage. Synetech vor 12 Jahren 0
Ich habe die Frage so umformuliert, dass sie nur die `GET'-Methode anspricht. Außerdem habe ich gerade gesagt, dass das Schreiben meines eigenen Brute-Force-Skripts überflüssig ist, da diese Programme bereits existieren CheeseConQueso vor 12 Jahren 0
*> Ich habe gerade gesagt, dass das Schreiben meines eigenen Brute-Force-Skripts überflüssig ist, wenn man bedenkt, dass diese Programme bereits existieren. * Ja, was die Frage genau aufwirft, wonach Sie suchen. Synetech vor 12 Jahren 0
Ich suche Klarheit. Ich erwähnte, dass ich mit Brute-Force-Programmen nicht vertraut bin und auch nicht weiß, ob Brute-Force der Weg ist, und wenn nicht, was ist das? Kurz gesagt: Was ist der beste und / oder effektivste Weg, ein Passwort zu erhalten, wenn es sich bei der Authentifizierung um eine GET-Methode einer Aspx-Seite handelt CheeseConQueso vor 12 Jahren 0