Schrift
[thread]675[/thread]

Probleme mit crypt in Perl/CGI: Probleme mit crypt in Perl/CGI (Seite 2)



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
esskar
 2006-02-22 23:44
#6967 #6967
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
jetzt habt ihr ihn verschreckt! :)\n\n

<!--EDIT|esskar|1140689597-->
Strat
 2006-02-23 00:19
#6968 #6968
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
while (chop($PWS = <USERLIST>)) {

ist fehleranfaellig; chop schneidet stur das letzte zeichen ab, waehrend chomp nur ein eventuellen zeilenumbruch am ende abschneidet (oder was auch immer in $/ gespeichert ist)
Code: (dl )
1
2
3
while (my $PWS = <USERLIST>)) {
chomp($PWS);
...


Code: (dl )
$PASSWORD = chomp(param('code'));

funktioniert vermutlich nicht so, wie du es denkst, siehe perldoc -f chomp. Du willst vermutlich:
Code: (dl )
chomp( $PASSWORD = param('code') );

aber wenn das feld 'code' bei dir ein normaler input type="text" ist, kann da eigentlich kein zeilenumbruch am ende vorkommen, also reicht:
Code: (dl )
$PASSWORD = param('code');
\n\n

<!--EDIT|Strat|1140646904-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
renee
 2006-02-23 04:41
#6969 #6969
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=esskar,22.02.2006, 22:44]jetzt habt ihr in verschreckt! :)[/quote]
Wir waren doch ganz brav ...

Mich wuerde es ja schon mal interessieren, wie es jetzt mit dem Skript aussieht...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pTschacK
 2006-02-23 21:55
#6970 #6970
User since
2006-02-20
5 Artikel
BenutzerIn
[Homepage] [default_avatar]
So, entschuldigung dass mein vorheriger post etwas
ungehobelt klang, bin etwas im stress mit der geschichte :o(

Stand:
Das Skript geht soweit, er erkennt nur kein passwort!
in aktion kann man sich das ganze unter www.attempted-arson.de angucken, unter 'bonus'.
Er gibt immer die 'zugriff verweigert' message aus...

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/perl
use strict;
use warnings;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
my $THRU = "0";
my $PASSWORD = param('code');
my $salt = substr $PASSWORD, 0, 2;
my $guess = crypt($PASSWORD, $salt);
open(USERLIST, "<users") or die "Can't open user list: $!\n";
while (my $PWS = <USERLIST>) {
chomp($PWS);
if ( $PWS eq $guess ) { $THRU = "1"; };
}
close USERLIST;
print "Content-type: text/html\n\n";
print "<html>\n";
print "<body bgcolor=\"#000000\" text=\"#00FF00\" link=\"#FFFFFF\" vlink=\"#CCCCCC\" alink=\"#FFFFFF\" background=\"img/frame/bg.jpg\" bgproperties=\"fixed\">\n";
print "<table width=\"511\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n";
print " <tr>\n";
print " <td> <center>\n";
if ($THRU eq "1") {
print "Wilkommen!\n";
};
if ($THRU eq "0") {
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print "Zugang verweigert. Falscher code.\n";
};
print " </td>\n";
print " </tr>\n";
print "</table>\n";
print "</html>\n";
print "\n\n";
exit (0);
pTschacK
 2006-02-23 23:12
#6971 #6971
User since
2006-02-20
5 Artikel
BenutzerIn
[Homepage] [default_avatar]
update:
jetzt ist folgende version zu testzwecken online:
das passwort 'blablubb' (ohne quotes) müsste gehen.
trotzdem kommt die meldung dass es nicht geht...
http://www.attempted-arson.de/bonus-de.htm
über der meldung werden zwei dinge ausgegeben:
erstens das geratene passwort (ge'cryptet') : dann der erste eintrag der users datei

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/perl
use strict;
use warnings;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
my $THRU = "0";
my $PASSWORD = param('code');
my $salt = substr $PASSWORD, 0, 2;
my $guess = crypt($PASSWORD, $salt);
open(USERLIST, "<users") or die "Can't open user list: $!\n";
my $P = <USERLIST>;
chomp($P);
if ( $P eq $guess ) { $THRU = "1"; };
while (my $PWS = <USERLIST>) {
$PWS = chomp($PWS);
if ( $PWS eq $guess ) { $THRU = "1"; };
}
close USERLIST;
print "Content-type: text/html\n\n";
print "<html>\n";
print "<body bgcolor=\"#000000\" text=\"#00FF00\" link=\"#FFFFFF\" vlink=\"#CCCCCC\" alink=\"#FFFFFF\" background=\"img/frame/bg.jpg\" bgproperties=\"fixed\">\n";
print "<table width=\"511\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n";
print " <tr>\n";
print " <td> <center>\n";
print " ${guess} : ${P} ";
if ($THRU eq "1") {
print "Wilkommen\n";
};
if ($THRU eq "0") {
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print " <br>\n";
print "Zugang verweigert. Falscher code.\n";
};
print " </td>\n";
print " </tr>\n";
print "</table>\n";
print "</html>\n";
print "\n\n";
exit (0);


Das Problem liegt anscheinend bei
Code: (dl )
$PWS eq $guess
\n\n

<!--EDIT|pTschacK|1140729815-->
renee
 2006-02-24 00:07
#6972 #6972
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hast Du die User-Datei vielleicht mit Windows erstellt und dann im binaeren Modus auf einen Linux-Rechner hochgeladen??

ersetze das chomp $PWD mal durch ein $PWD =~ s/\r?\n//g;...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Dubu
 2006-02-24 13:20
#6973 #6973
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Code: (dl )
     $PWS = chomp($PWS);

Das ist wieder falshc, es muss einfach chomp($PWS) sein (wenn nicht das Problem zuschlaegt, dass renee angesprochen hat).
Siehe perldoc -f chomp.
pTschacK
 2006-03-02 21:03
#6974 #6974
User since
2006-02-20
5 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ok, sorry dass mein letzter post so lang her ist...
Zu allem überfluss st mein inet zuhause auch noch abgeschmiert (aber das aus anderen gründen...).
Das Problem lag darin, dass ich die users datei binär und nicht als text hochgeladen hatte, war also im endeffekt nicht perls schuld obwohl ich mein skript mit euren tips etwas verfeinern konnte.
Vielen Dank an alle und vor allem an renee!!!
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2006-02-20 21:35.