myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Mögliche URLs herausfinden (https://mygully.com/showthread.php?t=2765583)

milchzwerg 30.11.12 17:12

Mögliche URLs herausfinden
 
Hallo,

ich suche nach einem S***** oder ähnlichem, womit ich weitere URLs herausfinden kann.
Das ist ein bisschen kompliziert zu erklären, deswegen hier ein Beispiel:

Ich kenne die URL soweit: windows.microsoft.com/de-de/windows-8

Jetzt will ich aber noch herausfinden, was es für weitere funktionierende URLs gibt, ohne dass ich sie kenne:

windows.microsoft.com/de-de/windows-8/ * * *

Und dann soll mir das S***** zeigen was es alles gefunden hat, z.B.:

windows.microsoft.com/de-DE/windows-8/new-look
windows.microsoft.com/de-DE/windows-8/new-pcs
windows.microsoft.com/de-DE/windows-8/work-play

Danke für eure Tipps!

nettermann64 30.11.12 17:41

mein favorit: picgrabber oder picgrabit!

ursprunglich dazu gedacht nur bilder zu finden/downloaden
kann aber ander dateien finden und entsprechend filtern. (nur rar oder nur doc)
und kann die gefundenen links in einer datei speichern.

Your_Conscience 30.11.12 18:10

So wie ich das verstanden habe will er nicht die Dateien oder verlinkten URL's einer Seite auslesen, sondern alle möglichen (auch nicht verlinkten Unterordner) aufgelistet bekommen.

Das ist allerdings nicht möglich wenn die Seite diese Funktion nicht bietet (und das tun wohl die Wenigsten), es sei denn du kannst Code auf dem Server ausführen.
Was man allerdings machen könnte ist Suchmaschienen zu fragen, welche Unterseiten sie von der URL noch kennen.

Bei Google kann man sich z.B. alle Ergebnisse mit einem bestimmten URL-Inhalt mit dem Befehl "inurl" anzeigen lassen.

In deinem Fall:
Code:

inurl:"windows.microsoft.com/de-de/windows-8/"
Klick

Man könnte sich ein S***** erstellen, welches die Ergebnisse von Google (und/oder anderer Suchmaschienen natürlich) durchsucht und die URL's herausfiltert.
Allerdings müssen das nicht alle Unterordner sein, wenn es zu einem bestimmten keinen Link im Web gibt, ist er den Suchmaschienen auch nicht bekannt.

ProgMaster 30.11.12 19:52

@milchzwerg

Ich glaub du weisst nicht was eine URL ist und Verwechselst diese mit einem Namensverzeichnis. In Baumstruktur! Kurz gesagt, es gibt keine allgemeine Möglichkeit, da URLs eben dynamisch sein können.

slahn 30.11.12 20:05

Also entweder verfolgst du die Links die in der "Hauptseite gespeichert sind" (was auch Suchmaschinen machen) oder du machst die ganz "coole" Variante und machst es ähnlich einem Brute-Force-Angriffe bei Passwörtern und erzeugst einfach irgendwelche Strings und prüfst ob der Server diese kennt (also du fragst den Server und er sagt dir dann ... "kenne ich nicht" oder "ja, hier ist die Seite/Datei")

Version 1 kann auch so gelöst werden wie es Your_Conscience beschrieben hat, liefert aber nicht unbedingt alle verfügbaren Seiten/Datein.
Version 2 wird ewig lange dauern (kommt darauf an wie lang du deine Strings werden lässt), liefert viele falsche Ergebnisse, aber wenn du es bis zur Unendlichkeit durchziehst, bekommst du damit alle Seiten/Datein, die es gibt.
Version 3 wäre, dass du vollen zugriff auf den Server hast, wobei du dann aber den ganzen Mist nicht antun musst, weil du ja dann sowieso weißt was alles auf dem Server ist ;)

Grundsätzlich muss ich aber ProgMaster zustimmen :)

NetWebs 30.11.12 20:17

Eine URL ist nicht mit einer "Seite" verknüpft. Der Laie mag das oftmals denken, dem ist aber nicht so. Es können unendlich viele URLs existieren, aber dennoch keine einzige Seite.

Milchzwerg, nenn uns doch die URL....

milchzwerg 04.12.12 13:46

Okay, ich dachte das wäre einfacher..
Die Suchmaschine kann auf die Seite nicht zugreifen, da die robots.txt diese geblockt hat. Aber sonst würde inurl klappen, das ist schonmal gut.

Aber in meinem Fall: Wie mache ich so einen Beute-Force Methode, bei der alle Möglichkeiten durchgetestet werden? Gibts dafür ein Programm / Skript o.ä.?

Danke!

Your_Conscience 04.12.12 15:43

Zitat:

Zitat von milchzwerg (Beitrag 24080853)
Okay, ich dachte das wäre einfacher..
Die Suchmaschine kann auf die Seite nicht zugreifen, da die robots.txt diese geblockt hat. Aber sonst würde inurl klappen, das ist schonmal gut.

Aber in meinem Fall: Wie mache ich so einen Beute-Force Methode, bei der alle Möglichkeiten durchgetestet werden? Gibts dafür ein Programm / Skript o.ä.?

Danke!

Es gibt ettliche Bruteforcer im Netz, man muss nur aufpassen, dass man sich da keinen Virus einfängt.
Allerdings wird dir das nichts bringen, da diese Methode seeeee...eeehr lange dauert.

Ein kleines Beispiel:
Nehmen wir an, du willst alle Verzeichnisse von "mygully.com/a" bis "mygully.com/zzzzzzzz" (8 Zeichen) rausfinden.
Das würde je nach Geschwindigkeit deines Internets und des mygully Servers in etwa ein Jahr dauern.
Bei 9 Zeichen wären es 34 Jahre und bei 10 Zeichen etwa 895 Jahre.

Ich bin hier jetzt nur von Kleinbuchstaben und 5000 Anfragen / Sekunde ausgegangen, ich nehme mal an, dass dein Internet nicht soviel schaffen wird.
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] kannst du dir anschauen, wie es mit 2096204400 Anfragen / Sekunde aussehen würde, was bei dir durch die Latenz im Internet nicht machbar ist.

Kein (aktueller) Supercomputer dieser Welt kann dir zu deiner Lebenszeit alle Verzeichnisse eines Servers bruten.

ProgMaster 05.12.12 14:00

@milchzweliest du auch die Beiträge hier?

Du hast ein falsches Grundverständniss was URLs angeht!
Es gibt eventuell gar keine Lösung oder unendlich viele URLs...


Nenn uns doch die URL und wir sehen weiter. Alles andere bringt NICHTS.

d03jo4n 05.12.12 15:31

Zitat:

Zitat von ProgMaster (Beitrag 24083853)
@milchzweliest du auch die Beiträge hier?

Du hast ein falsches Grundverständniss was URLs angeht!
Es gibt eventuell gar keine Lösung oder unendlich viele URLs...


Nenn uns doch die URL und wir sehen weiter. Alles andere bringt NICHTS.

Da scheint hat ProgMaster recht zu haben.
Ein URL (ist übrigens eigentlich maskulin), ausgeschrieben Uniform Resource Locator, macht nichts anderes, als eine bestimmte Resource zu identifizieren und zu lokalisieren. Das heißt

Code:

http://mygully.com/
ist ebenso ein URL wie

Code:

file:///Users/test/file.db
Das tolle daran ist aber, dass die spezifizierte Ressource gar nicht existieren muss.
Wie ProgMaster andeutete, gibt es unendlich viele URLs, ob sich dahinter wirklich Content befindet, kann man erstmal nicht sagen.

Daraus resultiert dann die Frage, wie du feststellen willst, ob die angeforderte Ressource überhaupt existent ist. Entweder der Server gibt dir 'nen Fehlercode (z.B. 404) oder du bekommst eine Error-Page. Die müsstest du erkennen (was bei generierten Pages nicht immer ganz einfach ist) und den URL dann eben zu nicht existent packen.

Wenn du nicht gerade ein Directory-Listing findest, bleibt dir nur Brute-Force, das ist aufwändig, langsam und jeder gute Admin wird die Requests deiner IP einfach nach kurzer Zeit droppen, wenn du keinen vernünftigen User-Agent angibst (das sollte aber dein kleinstes Problem sein).

--
Die Spezifikation von URLs kannst du [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] lesen.

y7cwc21 11.12.12 20:43

Sowas kann man als Fuzzing ([Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]) von Web-Applikationen auffassen.

Dafür gibt es spezielle Tools wie z.B. wfuzz ([Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]). Damit kann man Verzeichnisse, Subdomains uvm. aufspüren (aber man kann auch Webseiten auf Verarbeitungsfehler hin überprüfen, Stichwort SQL-Injection).

wfuzz kommt mit vielen Wörterbüchern, man muss sie nur richtig verwenden. Das reicht in den meisten Fällen aus und man braucht auf diese Weise keine Bruteforce. ;-)

Anwendungsbeispiel:
Angenommen wir haben herausgefunden, dass es eine admin-Subdomain gibt. Aber wir wissen nicht, was über diese Admin-Domain alles erreichbar ist (vllt. ein phpMyAdmin?).
Mit diesem Befehl können wir allerlei Unterordner aufspüren:
Code:

./wfuzz.py -z file,wordlist/general/common.txt -s 0.3 -c --hc 404 https://admin.beispiel.de/FUZZ
Der letzte Parameter ist die URL, die ausprobiert wird. common.txt ist das Wörterbuch, das verwendet wird. Diese Wörter werden an die Stelle des "FUZZ" eingefügt. D.h. für jede Zeile in common.txt wird einmal eine URL geprüft.

slahn 11.12.12 23:28

Ok, das ganze mit einem Wörterbuch zu machen, ist einfach nur die kluge Form des Brutforcens ... löst aber nicht das Problem, dass eine URL quasi unendliche viele Möglichkeiten bietet und du diese mit einem Wörterbuch nur schwer abdecken kannst. Klar kann man mit so was Schwachstellen finden und Standard URLs abchecken, aber wenn eine Seite von diesen Standards abweicht und ihre URLs codiert und/oder irgendwelche IDs verwendet, kannst du auch nur wenig machen ... siehe z.B. die URL zu den jetzigen Thread:

Code:

http://mygully.com/thread/67-moegliche-urls-herausfinden-2765583/
Wie willst du da die Nummern mit deinem Wörterbuch abdecken? Es ist einfach so gut wie unmöglich ohne viel Aufwand, alles zu durchforsten ... Klar ist es möglich, aber eben zu welchem "Preis" ...

y7cwc21 12.12.12 01:06

Danke Captain Obvious. Ja, du hast Recht: Auch mit diesem Ansatz ist es nicht möglich die existierenden URLs automatisch und in kurzer Zeit zu ermitteln. Aber es ist der beste Ansatz den es gibt (vom Prinzip her, also ich sage nicht, dass wfuzz besonders gut ist).

kkhamburg 12.12.12 04:51

@y7cwc21

Warum braucht man dann keinen BruteForce ?
Das Programm arbeitet doch genau mit der BruteForce-Methode.


Abgesehen davon wird sowas bei jedem einigermassen intelligenten Server-Admin innerhalb kürzester Zeit geblockt.

Auf meinen Servern probierst du so eine Methode genau XX Mal, dann bist du bzw. dein Programm weg vom Fenster.

Es wurde doch eigentlich schon alles gesagt. Es gibt KEINE Methode um URLs zu erhalten, die nicht verlinkt sind und das ist auch gut so.

y7cwc21 15.12.12 14:17

Zitat:

Zitat von kkhamburg (Beitrag 24102103)
@y7cwc21

Warum braucht man dann keinen BruteForce ?
Das Programm arbeitet doch genau mit der BruteForce-Methode.

Bruteforce bedeutet, dass wirklich der gesamte Suchraum geprüft wird.

Wörterbuch-Attacken beschränken sich auf einen kleinen Teil des Suchraums, der eben durch das Wörterbuch selbst und evtl. noch hinzukommende Transformationen (z.B. Permutationen, Kombinationen etc.) der Wörter zustandekommt.

In der Regel weiß man ungefähr wonach man sucht und kann so durch geschickte Wahl und Kombination der Wörterbücher ziemlich genau den Suchraum aufspannen, der in Frage kommt.

Übrigens:
Von vornherein Bruteforce oder Wörterbuchattacken auszuschließen halte ich für unsinnig. Viele Server-Admins sind eben *nicht* so sorgfältig und nutzen *keine* DPI Firewall. Pauschale Aussagen dieser Art deuten daher für mich eigentlich nur darauf hin, dass hier jemand Selbstbeweihräucherung betreiben möchte. Dazu sage ich mal: Eigenlob stinkt. Im Internet ganz besonders. Vor allem, wenn man beim Grundlagen-Wissen schon schwächelt (Bruteforce vs. Wörterbücher).

kkhamburg 16.12.12 00:06

Deswegen ist und bleibt es trotzdem ein Bruteforce-Angriff, egal ob nun mit oder ohne Dictonary.
Aber bleib ruhig bei deiner Fehlinformation, mich stört es nicht.

Auf den Rest des Blödsinns geh ich erst garnicht ein, du scheinst ein mentales Problem zu haben das ich hier nicht weiter vertiefen will.

ProgMaster 16.12.12 08:12

@y7cwc

Du erzählst hier ziemlichen Quatsch!
Es gibt dafür keine Lösung.

Du stützt dich jetzt auf absolut unwahrscheinliche Hypothesen, die für den Anwendungsfall irrelevant sind. Wenn man eine Brute-Force-Attacke durchführt, dann führt man in der Regel eine Wörterbuch-Attacken durch!

y7cwc21 16.12.12 11:05

Ich habe dieses Zeug studiert und ich weiß, dass ich Recht habe. ;-)

Ihr müsst eigentlich nur auf Wikipedia gehen - sogar dort steht es richtig erklärt. Wenn ihr darauf keine Lust habt, dann haltet euch hier wenigstens raus und lasst die Leute reden, die davon Ahnung haben. Nichts für ungut.

Your_Conscience 16.12.12 11:35

Zitat:

Zitat von ProgMaster (Beitrag 24113327)
Wenn man eine Brute-Force-Attacke durchführt, dann führt man in der Regel eine Wörterbuch-Attacken durch!

Brute-Force != Dictionary
Hör endlich auf überall unqualifizierten Müll von dir zu geben.

slahn 16.12.12 11:36

Zitat:

Zitat von ProgMaster (Beitrag 24113327)
Wenn man eine Brute-Force-Attacke durchführt, dann führt man in der Regel eine Wörterbuch-Attacken durch!

"In der Regel sind Frauen schlecht gelaunt ..."

Nur weil gewisse Menschen für gewisse Dinge "falsche"/andere Wörter verwenden, muss es noch lange nicht richtig sein ... Nur weil ein brute force attack und ein dictionary attack ein gleiches/ähnliches Ergebnis liefern, sind sie noch immer nicht gleich ... Ein Motorrad ist auch kein Fahrrad nur weil es zwei Räder hat ... beim brute force attack verwendet man eine vorgegebene Menge an Keys (Zeichen), während beim dictionary attack eine fest Vorgegebene Kombination dieser Keys (Zeichen) verwendet.

brute force attack:
Alle Zeichen von [a-z][A-Z] mit eine maximalen Länge von 8

dictionary attack:
aaa, bbb, ccc, abc, xyz, asdf, kukuk, ...

Klar kann ein brute force attack alle möglichen Kombinationen eines dictionary attacks enthalten und auch vice versa ... aber trotzdem bleibt der unterschied, dass sich ein brute force attack die keys selbst kombiniert, während ein dictionary attack sein fest vorgegebenes Wörterbuch verwendet ... Durch geschickte Wahl eines Wörterbuches, kann man so die Suche verkürzen, was bei einem brute force attack nicht vorgesehen ist ... da wird einfach stur nach dem verwendeten Algorithmus alles, eine Kombination aller möglichen Keys durchprobiert ...

NetWebs 16.12.12 13:52

Nach der genauen Definition sind Brute und Dictionary- Attacken unterschiedlich, aber werden doch im Grunde synonym verwendet.

Eine Brute-Force-Attacke macht eben allein keinen Sinn. Anstatt alphanumerische Kombinationen zu verwenden, greift man bei jeder Iteration stattdessen auf eine Kombination von Wörtern zu. Technisch macht das keinen Unterschied, ausser dass man mit letzterem mehr Erfolg hat.

@ycwc
Das macht aber auch in diesem Fall keinen Unterschied. Ob du "studiert" hast oder nicht, deine Lösung ist nicht anwendbar.

@yourincontinenz
Du solltest mal ganz ruhig sein. Grosse Klappe, nichts dahinter. Wo ist denn Dein selbst entwickelter Verschlüsselungsalgorithmus? Hast wohl mittelmässig studiert, arbeitest in einer kleinen unbedeutenden IT-Bude und denkst Du hättest einen IQ über 150. Bleib realistisch und find dich damit ab, dass die anderen das grosse Geld verdienen.

Your_Conscience 16.12.12 14:17

Zitat:

Zitat von NetWebs (Beitrag 24114196)
@yourincontinenz
Du solltest mal ganz ruhig sein. Grosse Klappe, nichts dahinter. Wo ist denn Dein selbst entwickelter Verschlüsselungsalgorithmus? Hast wohl mittelmässig studiert, arbeitest in einer kleinen unbedeutenden IT-Bude und denkst Du hättest einen IQ über 150. Bleib realistisch und find dich damit ab, dass die anderen das grosse Geld verdienen.

Ich und eine große Klappe? Wohl eher du. Ich lege hier nur die Fakten auf den Tisch und nicht was ich meine zu wissen.
Nur weil du es im Leben bis jetzt evtl. zu nichts gebracht hast, muss es bei anderen nicht auch so sein.

Es wäre schön, wenn auch du dich hier mal etwas zurückhalten kannst und nicht ständig versuchst mich runterzumachen.
Du hast keine Ahnung wer ich bin, was ich mache, was ich kann, wie hoch mein IQ ist oder was ich verdiene. Das alles gehört hier auch nicht hin.
Wenn du ein Problem mit mir hast kannst du es gerne versuchen über PN's mit mir zu regeln.

y7cwc21 16.12.12 15:18

Zitat:

Zitat von NetWebs (Beitrag 24114196)
Nach der genauen Definition sind Brute und Dictionary- Attacken unterschiedlich, aber werden doch im Grunde synonym verwendet.

Amateure und Laien tun das.
Ich habe nichts gegen Amateure und Laien - im Gegenteil. Aber der Wille zum Lernen und die Bereitschaft zur Einsicht sollte da sein. Ansonsten können mir die selbsternannten Experten gestohlen bleiben.

Hier noch ein kleines Zitat von dir selbst: "Der Laie mag das oftmals denken, dem ist aber nicht so."

Zitat:

Zitat von NetWebs (Beitrag 24114196)
Eine Brute-Force-Attacke macht eben allein keinen Sinn. Anstatt alphanumerische Kombinationen zu verwenden, greift man bei jeder Iteration stattdessen auf eine Kombination von Wörtern zu. Technisch macht das keinen Unterschied, ausser dass man mit letzterem mehr Erfolg hat.

Du widersprichst dir selbst. Es macht technisch gleichzeitig einen Unterschied und keinen Unterschied? Worauf willst du eigentlich hinaus?

Zitat:

Zitat von NetWebs (Beitrag 24114196)
@ycwc
Das macht aber auch in diesem Fall keinen Unterschied. Ob du "studiert" hast oder nicht, deine Lösung ist nicht anwendbar.

1. Das "studiert" brauchst du nicht in Gänsefüßchen zu setzen.
2. Nicht anwendbar? Warum nicht?

Lies nochmal den Eingangspost, mein Lieber. Ich zitiere mal die relevante Stelle für dich:
Zitat:

Und dann soll mir das S***** zeigen was es alles gefunden hat, z.B.:

windows.microsoft.com/de-DE/windows-8/new-look
windows.microsoft.com/de-DE/windows-8/new-pcs
windows.microsoft.com/de-DE/windows-8/work-play

Danke für eure Tipps!
Und nochmal zum Umgang hier untereinander:
Ich finde das irgendwie traurig hier. Ihr seid so extrem geil darauf andere Leute fertig zu machen und mit dem Finger auf sie zu zeigen, weil sie irgendwas vermeintlich falsches gesagt haben. Dabei verliert ihr sogar den Bezug zur Realität und biegt wissentlich die Definitionen um (als "synonym" ab tun usw.). Denkt mal darüber nach, wie ihr mit anderen Menschen umgeht und fangt mal damit an, die Fehler bei euch selbst zu suchen.

slahn 16.12.12 15:30

Also als erstes ... lasst euch doch von den Trollen nicht so verarschen :rolleyes:

Was heißt im Grunde? Nur weil man von seiner Meinung überzeugt ist, muss sie noch lange nicht richtig sein ... und man selbst ist noch lange nicht die Allgemeinheit ;)

Warum macht eine brute force attack alleine keinen Sinn? Warum sollte man ZUSÄTZLICH noch etwas anderes machen?

Warum macht es Technisch keinen Unterschied und warum sollte eine dictionary attack erfolgreicher sein? Wie löst ein dictionary attack z.B. die Zeichenkette "secure", wenn diese Zeichenkette nicht im Wörterbuch vorkommt? Wenn Technisch kein Unterschied besteht, warum braucht die eine Methode ein Wörterbuch und die andere nicht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.