/ 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
Crackerspæring
Fra : Andrew Engels Rump (~


Dato : 27-01-03 13:54

Er der en nem måde, hvor man kan sikre (intet er 100% sikkert!) at
brugeren kommer fra den samme side på ens eget site. Jeg bruger det
f.eks. på en side (skrevet i PHP på en Apache-server under PostNuke),
som først giver brugeren mulighed for at indtaste nogle oplysninger i
en form og som poster formoplysningerne til "sig selv" og som så gør
et eller andet med disse oplysninger.

Jeg har selv opfundet nedenstående kode:

if ($_SERVER["HTTP_REFERER"] ==
"http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"])

men hvis man selv koder sin browser, kan man jo override
HTTP_REFERER og sætte den til hvad som helst og derefter lave et
lille program, som f.eks. sender den ene request efter den anden
afsted - og derved misbrug systemet.

Andrew
--
*** The opinions expressed are not necessarily those of my employer. ***
* Software Engineer Andrew Engels Rump * BLIK og ROERarbejderforbundet *
* Immerkaer 42, 2650 Hvidovre * Tlf: +45 3638 3638, Fax: +45 3638 3639 *
Home: N55°41'38.9" E12°29'08.6" (WGS 84) Work: N55°39'50.9" E12°27'47.4"
E-mail: mailto:newandrew@rump.dk WWW http://www.rump.dk/homepage/andrew/

 
 
Henrik Stidsen (27-01-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 27-01-03 14:10

"Andrew Engels Rump (formerly Leif Andrew Rump)" <newandrew@rump.dk>
wrote in news:Xns93108D35D99BEnewandrewrumpdk@212.242.40.196

> if ($_SERVER["HTTP_REFERER"] ==
> "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"])

Hva gør du så ved browsere der ikke sender referer med ?

--
..: Henrik Stidsen - HS235.dk ::...
Visit http://hs235.dk/drugs

Andrew Engels Rump (~ (27-01-2003)
Kommentar
Fra : Andrew Engels Rump (~


Dato : 27-01-03 14:27

After drinking 3 Pan Galactic Gargle Blasters, Henrik Stidsen
<idontwantnospam@hs235.dk> mumbled in news:Xns9310902412D06HS235DK@
130.225.247.90:
> "Andrew Engels Rump (formerly Leif Andrew Rump)" <newandrew@rump.dk>
> wrote in news:Xns93108D35D99BEnewandrewrumpdk@212.242.40.196
>> if ($_SERVER["HTTP_REFERER"] == "http://" . $_SERVER["HTTP_HOST"] .
>> $_SERVER["REQUEST_URI"])
> Hva gør du så ved browsere der ikke sender referer med ?

Argh! Jeg vidste at der var noget galt med min kode!

Andrew
--
*** The opinions expressed are not necessarily those of my employer. ***
* Software Engineer Andrew Engels Rump * BLIK og ROERarbejderforbundet *
* Immerkaer 42, 2650 Hvidovre * Tlf: +45 3638 3638, Fax: +45 3638 3639 *
Home: N55°41'38.9" E12°29'08.6" (WGS 84) Work: N55°39'50.9" E12°27'47.4"
E-mail: mailto:newandrew@rump.dk WWW http://www.rump.dk/homepage/andrew/

Henrik Stidsen (27-01-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 27-01-03 23:31

"Andrew Engels Rump (formerly Leif Andrew Rump)"
<newandrew@rump.dk> wrote in
news:Xns931092E02C22Anewandrewrumpdk@212.242.40.196

>>> if ($_SERVER["HTTP_REFERER"] == "http://" .
>>> $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"])
>> Hva gør du så ved browsere der ikke sender referer med ?
>
> Argh! Jeg vidste at der var noget galt med min kode!

Du kan nok klare den ved kun at lave checket hvis der er en referer
med.

--
..: Henrik Stidsen - HS235.dk ::...

Andrew Engels Rump (~ (28-01-2003)
Kommentar
Fra : Andrew Engels Rump (~


Dato : 28-01-03 12:36

After drinking 3 Pan Galactic Gargle Blasters, Henrik Stidsen
<idontwantnospam@hs235.dk> mumbled in news:Xns9310EF3A1A990HS235DK@
130.225.247.90:
> "Andrew Engels Rump (formerly Leif Andrew Rump)"
> <newandrew@rump.dk> wrote in
> news:Xns931092E02C22Anewandrewrumpdk@212.242.40.196
>>>> if ($_SERVER["HTTP_REFERER"] == "http://" . $_SERVER["HTTP_HOST"] .
>>>> $_SERVER["REQUEST_URI"]) Hva gør du så ved browsere der ikke
>>>> sender referer med ?
>> Argh! Jeg vidste at der var noget galt med min kode!
> Du kan nok klare den ved kun at lave checket hvis der er en
> referer med.

Jo, men så virker crackerspærringen jo netop ikke, hvis man på en
nem måde kan omgå den - men det lukker selvfølgelig af for dem,
hvis browser der sender HTTP_REFERER med.

Andrew
--
*** The opinions expressed are not necessarily those of my employer. ***
* Software Engineer Andrew Engels Rump * BLIK og ROERarbejderforbundet *
* Immerkaer 42, 2650 Hvidovre * Tlf: +45 3638 3638, Fax: +45 3638 3639 *
Home: N55°41'38.9" E12°29'08.6" (WGS 84) Work: N55°39'50.9" E12°27'47.4"
E-mail: mailto:newandrew@rump.dk WWW http://www.rump.dk/homepage/andrew/

Henrik Stidsen (28-01-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 28-01-03 16:16

"Andrew Engels Rump (formerly Leif Andrew Rump)" <newandrew@rump.dk>
wrote in news:Xns93117FFA02723newandrewrumpdk@212.242.40.196

>> Du kan nok klare den ved kun at lave checket hvis der er en
>> referer med.
>
> Jo, men så virker crackerspærringen jo netop ikke, hvis man på en
> nem måde kan omgå den - men det lukker selvfølgelig af for dem,
> hvis browser der sender HTTP_REFERER med.

Hvilket vil sige IE - Netscape, Mozilla og Opera i hvert fald slå det
fra.

--
..: Henrik Stidsen - HS235.dk ::...

Christian Iversen (27-01-2003)
Kommentar
Fra : Christian Iversen


Dato : 27-01-03 14:19

Andrew Engels Rump (formerly Leif Andrew Rump) wrote:

> Er der en nem måde, hvor man kan sikre (intet er 100% sikkert!) at
> brugeren kommer fra den samme side på ens eget site. Jeg bruger det
> f.eks. på en side (skrevet i PHP på en Apache-server under PostNuke),
> som først giver brugeren mulighed for at indtaste nogle oplysninger i
> en form og som poster formoplysningerne til "sig selv" og som så gør
> et eller andet med disse oplysninger.

Du måske give brugeren en cookie med en md5sum (eller lignende) af en
hemmelig værdi (som du kan autogenerere). Det er i princippet det man gør i
en session. I stedet for at checke om brugeren faktisk "er brugeren" -
hvilket ikke kan lade sig gøre (sikkert), kan du lade brugeren fortælle dig
hvem høn er, med en "infokage" :)

På den måde fungere den cookie du sender (med en lang streng) som et slags
password. Det sikrer i hvert fald mod at én bruger kan overtage en anden
brugers session, men jeg ved ikke om det lige er det du vil.

--
M.V.H
Christian Iversen

Andrew Engels Rump (~ (27-01-2003)
Kommentar
Fra : Andrew Engels Rump (~


Dato : 27-01-03 14:31

After drinking 3 Pan Galactic Gargle Blasters, Christian Iversen
<iversen@it.dk> mumbled in news:b13bpc$m7j$1@news.cybercity.dk:
> Andrew Engels Rump (formerly Leif Andrew Rump) wrote:
>> Er der en nem måde, hvor man kan sikre (intet er 100% sikkert!) at
>> brugeren kommer fra den samme side på ens eget site. ...
> Du måske give brugeren en cookie med en md5sum (eller lignende) af
> en hemmelig værdi (som du kan autogenerere). Det er i princippet
> det man gør i en session. I stedet for at checke om brugeren
> faktisk "er brugeren" - hvilket ikke kan lade sig gøre (sikkert),
> kan du lade brugeren fortælle dig hvem høn er, med en "infokage" :)
> På den måde fungere den cookie du sender (med en lang streng) som
> et slags password. Det sikrer i hvert fald mod at én bruger kan
> overtage en anden brugers session, men jeg ved ikke om det lige er
> det du vil.

Jeg vil egentlig bare gerne undgå at bruge cookies, men hvis jeg
bruger sessions hvad sker der egentlig så bagved? Virker sessions
også v.hj.a. cookies? Kan jeg lave en PHP-side under PostNuke,
som arbejder med sessions uden at PostNuke bliver helt forvirret?

Andrew
--
*** The opinions expressed are not necessarily those of my employer. ***
* Software Engineer Andrew Engels Rump * BLIK og ROERarbejderforbundet *
* Immerkaer 42, 2650 Hvidovre * Tlf: +45 3638 3638, Fax: +45 3638 3639 *
Home: N55°41'38.9" E12°29'08.6" (WGS 84) Work: N55°39'50.9" E12°27'47.4"
E-mail: mailto:newandrew@rump.dk WWW http://www.rump.dk/homepage/andrew/

Christian Iversen (27-01-2003)
Kommentar
Fra : Christian Iversen


Dato : 27-01-03 15:12

Andrew Engels Rump (formerly Leif Andrew Rump) wrote:

> After drinking 3 Pan Galactic Gargle Blasters, Christian Iversen
> <iversen@it.dk> mumbled in news:b13bpc$m7j$1@news.cybercity.dk:
>> Andrew Engels Rump (formerly Leif Andrew Rump) wrote:
>>> Er der en nem måde, hvor man kan sikre (intet er 100% sikkert!) at
>>> brugeren kommer fra den samme side på ens eget site. ...
>> Du måske give brugeren en cookie med en md5sum (eller lignende) af
>> en hemmelig værdi (som du kan autogenerere). Det er i princippet
>> det man gør i en session. I stedet for at checke om brugeren
>> faktisk "er brugeren" - hvilket ikke kan lade sig gøre (sikkert),
>> kan du lade brugeren fortælle dig hvem høn er, med en "infokage" :)
>> På den måde fungere den cookie du sender (med en lang streng) som
>> et slags password. Det sikrer i hvert fald mod at én bruger kan
>> overtage en anden brugers session, men jeg ved ikke om det lige er
>> det du vil.
>
> Jeg vil egentlig bare gerne undgå at bruge cookies, men hvis jeg
> bruger sessions hvad sker der egentlig så bagved? Virker sessions
> også v.hj.a. cookies? Kan jeg lave en PHP-side under PostNuke,
> som arbejder med sessions uden at PostNuke bliver helt forvirret?

Sessions virker almindeligvis v.h.a cookies, men du kan jo bare lave dine
"egne" sesions, ved at tilføje en GET-var til dit request.

Nu kender jeg ikke PostNuke, men hvis den bruger sessions kan du (med stor
sandsynlighed) tilføje en variabel til den cookie der bliver afsendt.

Kig på $_SESSION variablen, til tilføjelse af session data.

--
M.V.H
Christian Iversen

Morten Blinksbjerg N~ (27-01-2003)
Kommentar
Fra : Morten Blinksbjerg N~


Dato : 27-01-03 14:43

> Er der en nem måde, hvor man kan sikre (intet er 100% sikkert!) at
> brugeren kommer fra den samme side på ens eget site.

Hvis du vil bruge referer, kan du måske bruge noget af det jeg
har brugt på http://mbn.dk/Apache/deeplink/

Til de to .htaccess løsninger ligger der eksempler på
http://mbn.dk/Eksempler/Apache/Misc/Deeplink/

> men hvis man selv koder sin browser, kan man jo override
> HTTP_REFERER og sætte den til hvad som helst og derefter lave et
> lille program, som f.eks. sender den ene request efter den anden
> afsted - og derved misbrug systemet.

Jep.

--
Morten Blinksbjerg Nielsen, Odense
http://www.mbn.dk/ - http://www.websmed.dk/


Andrew Engels Rump (~ (27-01-2003)
Kommentar
Fra : Andrew Engels Rump (~


Dato : 27-01-03 15:51

After drinking 3 Pan Galactic Gargle Blasters, "Morten Blinksbjerg
Nielsen" <usenet@mbn.dk> mumbled in news:b13d04$6j4$1@sunsite.dk:
>> Er der en nem måde, hvor man kan sikre (intet er 100% sikkert!)
>> at brugeren kommer fra den samme side på ens eget site.
> Hvis du vil bruge referer, kan du måske bruge noget af det jeg
> har brugt på http://mbn.dk/Apache/deeplink/

OK, men nu var der en venlig sjæl som skød mit projekt i sænk ved
at minde mig om at ikke alle browsere sender referer med:
news:dk.edb.internet.webdesign.serverside.php:Xns9310902412D06HS235DK@
130.225.247.90
news:Xns9310902412D06HS235DK@130.225.247.90

Men jeg kan se at PostNuke bruger cookies, så jeg tror jeg kan
hoppe på der og lave lidt check via den.

Andrew
--
*** The opinions expressed are not necessarily those of my employer. ***
* Software Engineer Andrew Engels Rump * BLIK og ROERarbejderforbundet *
* Immerkaer 42, 2650 Hvidovre * Tlf: +45 3638 3638, Fax: +45 3638 3639 *
Home: N55°41'38.9" E12°29'08.6" (WGS 84) Work: N55°39'50.9" E12°27'47.4"
E-mail: mailto:newandrew@rump.dk WWW http://www.rump.dk/homepage/andrew/

Martin Mouritzen (27-01-2003)
Kommentar
Fra : Martin Mouritzen


Dato : 27-01-03 15:54

On Mon, 27 Jan 2003 12:53:52 +0000 (UTC), "Andrew Engels Rump
(formerly Leif Andrew Rump)" <newandrew@rump.dk> wrote:

>Er der en nem måde, hvor man kan sikre (intet er 100% sikkert!) at
>brugeren kommer fra den samme side på ens eget site.

Det kan f.eks. gøres ved at lave et <input type="hidden"
value="[autogenereret unikt id]"> som du så tjekker for værdien af, på
side 2.
- Det kræver selvfølgelig at du opbevarer det unikke id, fra du
genererer det, til du tjekker det.
--
BellCom Internet ApS. Martin Mouritzen Phone: +45 39401717
Gersonsvej 25 Udvikler Fax: +45 39400144
DK-2900 Hellerup mm@bellcom.dk http://www.bellcom.dk

Andrew Engels Rump (~ (28-01-2003)
Kommentar
Fra : Andrew Engels Rump (~


Dato : 28-01-03 12:34

After drinking 3 Pan Galactic Gargle Blasters, Martin Mouritzen
<martin@fez.dk> mumbled in news:j0ia3vsis0hdho79pl75mrsoupu8pst4c7@
4ax.com:
> On Mon, 27 Jan 2003 12:53:52 +0000 (UTC), "Andrew Engels Rump
> (formerly Leif Andrew Rump)" <newandrew@rump.dk> wrote:
>> Er der en nem måde, hvor man kan sikre (intet er 100% sikkert!)
>> at brugeren kommer fra den samme side på ens eget site.
> Det kan f.eks. gøres ved at lave et <input type="hidden"
> value="[autogenereret unikt id]"> som du så tjekker for værdien
> af, på side 2.
> - Det kræver selvfølgelig at du opbevarer det unikke id, fra du
> genererer det, til du tjekker det.

Kreative folk kan jo se værdien af hidden feltet inden det bliver
sendt afsted og bruge det i deres crackerscript, så den løsning
kan vist ikke rigtig bruges!

Andrew
--
*** The opinions expressed are not necessarily those of my employer. ***
* Software Engineer Andrew Engels Rump * BLIK og ROERarbejderforbundet *
* Immerkaer 42, 2650 Hvidovre * Tlf: +45 3638 3638, Fax: +45 3638 3639 *
Home: N55°41'38.9" E12°29'08.6" (WGS 84) Work: N55°39'50.9" E12°27'47.4"
E-mail: mailto:newandrew@rump.dk WWW http://www.rump.dk/homepage/andrew/

Martin Mouritzen (28-01-2003)
Kommentar
Fra : Martin Mouritzen


Dato : 28-01-03 14:17

On Tue, 28 Jan 2003 11:33:58 +0000 (UTC), "Andrew Engels Rump
(formerly Leif Andrew Rump)" <newandrew@rump.dk> wrote:

>Kreative folk kan jo se værdien af hidden feltet inden det bliver
>sendt afsted og bruge det i deres crackerscript, så den løsning
>kan vist ikke rigtig bruges!

Det forstår jeg ikke helt.

Du kan jo gøre så et ID kun kan bruges én gang?

Hvad er det præcis det "crackerscript" skal kunne gøre?

Altså alt der bliver sendt til clienten kan klienten jo holde øje med.

Crackeren kan jo også sagtens læse en værdi der står i en cookie eller
session (Eller ihvertfald sit sessionsid), og sende det med i sit
script også.

Det lyder, imho, lidt som om du prøver at kurere et symptom i stedet
for problemet.
--
BellCom Internet ApS. Martin Mouritzen Phone: +45 39401717
Gersonsvej 25 Udvikler Fax: +45 39400144
DK-2900 Hellerup mm@bellcom.dk http://www.bellcom.dk

Andrew Engels Rump (~ (28-01-2003)
Kommentar
Fra : Andrew Engels Rump (~


Dato : 28-01-03 14:49

After drinking 3 Pan Galactic Gargle Blasters, Martin Mouritzen
<martin@fez.dk> mumbled in news:ri0d3vsgm2pfvgvbn3n3nk41amtqcvhfrf@
4ax.com:
> On Tue, 28 Jan 2003 11:33:58 +0000 (UTC), "Andrew Engels Rump
> (formerly Leif Andrew Rump)" <newandrew@rump.dk> wrote:
>> Kreative folk kan jo se værdien af hidden feltet inden det
>> bliver sendt afsted og bruge det i deres crackerscript, så
>> den løsning kan vist ikke rigtig bruges!
> Det forstår jeg ikke helt.
> Du kan jo gøre så et ID kun kan bruges én gang?

Det kan jeg, men (og jeg ved godt at det er lidt langt ude) så
kan systemet omgåes ved at gå ind på siden og aflæse hvad den
første del af scriptet vil sende til den anden del og bruge det
via sit eget system.

> Hvad er det præcis det "crackerscript" skal kunne gøre?

Det skal være en crackerspæring i et script, så det ikke er
muligt at køre anden del af scriptet uden at det er blevet
aktiveret fra første del.

> Altså alt der bliver sendt til clienten kan klienten jo
> holde øje med.

Selvfølgelig

> Crackeren kan jo også sagtens læse en værdi der står i en
> cookie eller session (Eller ihvertfald sit sessionsid), og
> sende det med i sit script også.

Det er jeg helt med på.

> Det lyder, imho, lidt som om du prøver at kurere et symptom
> i stedet for problemet.

Jeg er ikke kommet længere end til problemet! Jeg ved ikke
hvordan det kan løses uden brug af cookies eller sessions -
men nu arbejder du jo i et firma der kender til PostNuke, så
hvordan kan det bedst løses?

Andrew
--
*** The opinions expressed are not necessarily those of my employer. ***
* Software Engineer Andrew Engels Rump * BLIK og ROERarbejderforbundet *
* Immerkaer 42, 2650 Hvidovre * Tlf: +45 3638 3638, Fax: +45 3638 3639 *
Home: N55°41'38.9" E12°29'08.6" (WGS 84) Work: N55°39'50.9" E12°27'47.4"
E-mail: mailto:newandrew@rump.dk WWW http://www.rump.dk/homepage/andrew/

Martin Mouritzen (28-01-2003)
Kommentar
Fra : Martin Mouritzen


Dato : 28-01-03 15:39

On Tue, 28 Jan 2003 13:48:48 +0000 (UTC), "Andrew Engels Rump
(formerly Leif Andrew Rump)" <newandrew@rump.dk> wrote:

>Det kan jeg, men (og jeg ved godt at det er lidt langt ude) så
>kan systemet omgåes ved at gå ind på siden og aflæse hvad den
>første del af scriptet vil sende til den anden del og bruge det
>via sit eget system.

Jeg er stadig ikke helt sikker på at jeg forstår hvad det er du vil
opnå.

Alt hvad en bruger sender med for at du kan genkende ham på side 2,
det være sig session,referer,hidden felt, osv. kan han jo aflæse og
sende med i et "crackerscript" alligevel.

Det er ret nemt at "forfalske" den slags ting.
--
BellCom Internet ApS. Martin Mouritzen Phone: +45 39401717
Gersonsvej 25 Udvikler Fax: +45 39400144
DK-2900 Hellerup mm@bellcom.dk http://www.bellcom.dk

Andrew Engels Rump (~ (29-01-2003)
Kommentar
Fra : Andrew Engels Rump (~


Dato : 29-01-03 15:20

After drinking 3 Pan Galactic Gargle Blasters, Martin Mouritzen
<martin@fez.dk> mumbled in news:5d5d3v4gj898lgq2g5mgd4dgrbkv65buo1@
4ax.com:
> On Tue, 28 Jan 2003 13:48:48 +0000 (UTC), "Andrew Engels Rump
> (formerly Leif Andrew Rump)" <newandrew@rump.dk> wrote:
>> Det kan jeg, men (og jeg ved godt at det er lidt langt ude) så
>> kan systemet omgåes ved at gå ind på siden og aflæse hvad den
>> første del af scriptet vil sende til den anden del og bruge det
>> via sit eget system.
> Jeg er stadig ikke helt sikker på at jeg forstår hvad det er du
> vil opnå.
> Alt hvad en bruger sender med for at du kan genkende ham på side
> 2, det være sig session,referer,hidden felt, osv. kan han jo
> aflæse og sende med i et "crackerscript" alligevel.
> Det er ret nemt at "forfalske" den slags ting.

Det har du fuldstændig ret i, men hvis jeg bruger nogle
oplysninger, som serveren har givet og jeg ikke fortæller nogen
præcis hvad der er gået galt hvis jeg detekterer et cracker forsøg,
så er det ret svært at afgøre, hvad man skal sende med - men man
kan selvfølgelig bare sende det hele, men OK, der er også grænser
for hvor meget jeg skal sikre systemet - det er jo derfor at vi
har brugernavn og password - brugerne kan bare ikke helt finde ud
af det endnu, så vi har lagt en gulerod ud, så de kan se hvad de
får adgang til, hvis de registrerer sig.

Andrew
--
*** The opinions expressed are not necessarily those of my employer. ***
* Software Engineer Andrew Engels Rump * BLIK og ROERarbejderforbundet *
* Immerkaer 42, 2650 Hvidovre * Tlf: +45 3638 3638, Fax: +45 3638 3639 *
Home: N55°41'38.9" E12°29'08.6" (WGS 84) Work: N55°39'50.9" E12°27'47.4"
E-mail: mailto:newandrew@rump.dk WWW http://www.rump.dk/homepage/andrew/

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste