Thread Perl und die Kontexte (42 answers)
Opened by Muffi at 2014-10-07 10:42

GwenDragon
 2014-10-07 12:02
#177683 #177683
User since
2005-01-17
14746 Artikel
Admin1
[Homepage]
user image
Was die Bugzilla-Leute da gemacht haben ist eine Anfängerfehler.
Ähm, dass { } einen Listenkontext erzwingt sollte klar sein.
Dass CGI::param im Listenkontext alle Werte eines CGI-Parameters zurück liefert, auch.

Sowas kann man vermeiden, wenn man nicht quick an drity programming betreibt.

Dass die Bugzilla-Leute eine schludrige Parameterüberprüfung haben, is eher logisch.

Noch wunderhafter ist sowas:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/perl

use strict; 
no warnings; 
use 5.010;
use Data::Dumper;
use CGI;

my %hash = (
    queste => 42,
    faustus => q(Poodle's core),
    oxnard => CGI::param('oxnard'),
    test => 123,

);

say Dumper \%hash;


T:\> cgi.pl oxnard=1 oxnard=99 z=991
$VAR1 = {
'123' => undef,
'queste' => 42,
'99' => 'test',
'faustus' => 'Poodle\'s core',
'oxnard' => '1'
};

T:\> cgi.pl
$VAR1 = {
'123' => undef,
'queste' => 42,
'faustus' => 'Poodle\'s core',
'oxnard' => 'test'
};


Wie zu sehen ist, muss höllisch aufgepasst werden, was Leute wo einfließen lassen an Code.

Das ein Problem bei laxen Umgang mit CGI.pm existiert, wurde schon 2006 hingewiesen wie auf http://seclists.org/vulnwatch/2006/q4/6 zu lesen.

Editiert von GwenDragon: Tippfehler, Hinweis auf VulnSec 2006
Last edited: 2014-10-07 12:18:41 +0200 (CEST)

View full thread Perl und die Kontexte