PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Reguläre Ausdruck URLs finden



Hu5eL
20.01.2009, 21:51
Hallo,
ich mache derzeit weiter an meinem kleinen PerlProgramm, welches versucht anhand einer URL eine SQLinjection zu finden...
jetzt will ich es auf eine ganze homepage erweitern... nur interessiert mich wie ich an alle urls in einer seite komme...
habe an reguäre ausdrücke gedacht, aber wüsste nicht genau wie.... kann mir jemand einen tipp gegebn.

die idee dahinter:
ich gebe www.meintest.de ein, das rpgoramm such alle links auf der startseite und geht nach und nach die seiten durch, prüft ab die url schon mal angegebn ist, und durcsucht die nächste seite nach urls...
mir ist klar das dannach ca 100-200 urls dabei sind, aber das würde ich schon irgendwie "kleinkriegen" mir geht es eig nur um den regulären ausdruck

vielen dank

blackberry
20.01.2009, 22:14
Hi,

so ein Thema hatten wir bereits einmal im PHP-Forum:
http://free-hack.com/showthread.php?t=27655

Dabei beziehe ich mich dann mal auf das PHP Manual:

PHP also supports regular expressions using a Perl-compatible syntax using the PCRE functions. Those functions support non-greedy matching, assertions, conditional subpatterns, and a number of other features not supported by the POSIX-extended regular expression syntax.

Dem entsprechend sollte der benutzte reguläre Ausdruck ebenfalls Perl-Kompatibel sein:

/<a.+href=[\"\'](.*)[\"\']>(.*)<\/a>/im


mfG. BlackBerry

LudenJupp
20.01.2009, 22:48
Möge dein Ehrgeiz belohnt werden, aber genau sowas gibt es schon. ;-)
Wenn mir der Name wieder einfällt oder ich das Script wiederfinde, geb ich Bescheid.

Hu5eL
20.01.2009, 22:49
stimmt dankeschln :-)
(gibt noch keine thanks button oder?)

@Luden

ich weis das es sowas gibt, aber wenn sowas nutze, verstehe ich die technik nicht UND ich lerne kein perl :-)
hoffe auserdem das meins besser wird :D

edit2: wird aber noch dauern erstmal semesterende = prüfungen

blackberry
20.01.2009, 23:03
Möge dein Ehrgeiz belohnt werden, aber genau sowas gibt es schon. ;-)

Um jetzt mal mit dem Spruch "Warum das Rad neu erfinden?" abzuhandeln:
vielleicht hat das alte Rad ja einen Platten und ein selbstgebautes passt besser?


ich weis das es sowas gibt, aber wenn sowas nutze, verstehe ich die technik nicht UND ich lerne kein perl :-)

Das ist doch endlich mal eine gute Einstellung - viel Erfolg!

PS: ich glaube die Diskussion über eine Art "Thanks-Button" gab es hier schonmal, wurde aber abgelehnt, da die User sich sonst an Hand ihrer erhaltenen Danksagungen messen könnten.


mfG. BlackBerry

Hu5eL
21.01.2009, 09:16
wenn offtopic löschen:
besser an danksagungen, als an posts -.-

für die, die es interessiert:
[php]
#!/usr/bin/perl -W
#
# perl-module.pl
#
########################################
# (c) BY Hu5eL !!!
########################################
use strict;
use warnings;

$text =~ s/\015\012|\015|\012| //isg; #Leerzeichen + Zeilenumbrueche entfernen
$test=~ s/.*?(href=)(\"|\')(http\:\/\/|)(.*?)(\"|\')/$4 /igs; #URLS holen
$test=substr($test,0,rindex(" ".$test," ")); #"Nichtfunde" am Ende entfernen
print $test;
exit;
[php]
bei verbesserung gerne melden, code ist sehrwahrscheinlich grauenhaft -.-