Avatar billede kr-data Nybegynder
03. juni 2003 - 19:30 Der er 26 kommentarer og
3 løsninger

Sikkerhed på logon og videre i systemet

Hej,

jeg sidder med en side hvor jeg er ved at ave sikkerhed på, og har nogle spørgsmål i den anledning.

1: Hvor sikker er md5, med andre ord hvor let er den at dekryptere (jeg vil gerne vide hvad de programmer som bruges hedder, da jeg selv vil sikre mig at det passer)?

2: Er det sikkert nok at have et system hvor den laver en tilfældig tal når du logger på, gemmer det i en lokal cookie og i databasen og chekker at de er ens hver gang, + at når man logger af laver den et nyt tal, og nulstiller cookien?

3: Hvilke andre sikkerhedssyntakser/rutiner kender i?

Nb. Det sidste spørgsmål giver mest!
Avatar billede tipsen Nybegynder
03. juni 2003 - 19:43 #1
1. md5 er envejs-kryptering - så vidt jeg ved kan flere værdier give anledning til samme md5-checksum, så den kan ikke entydigt dekrypteres og kun ved brute-force attack... = sygeligt mange års arbejde...

2. Hvad hvis man ikke logger af?

3. Overføres username+password fra klient til server i krypteret eller plain-text format? Er dit script + database sikret, så man ikke kan finde en bagdør og eksempelvis rydde databasen for usernames og passwords?
Avatar billede detox Nybegynder
03. juni 2003 - 19:45 #2
1.: md5 er ikke en egentlig kryptering, det er en envejs encoding og kan ikke dekrypteres så vidt jeg er orienteret.
Avatar billede exp Juniormester
03. juni 2003 - 20:03 #3
Mente nok der var et spm der handlede om noget af det samme...

http://www.eksperten.dk/spm/357801
Avatar billede kr-data Nybegynder
03. juni 2003 - 20:04 #4
Når man logger af nulstilles cookien og et nyt nummer sættes ind, så en evt. kopiering af cookien vil ikke hjælpe så længe man logger af

Når der logges på sendes passwordet som sådan et nu gør, (hvis man kan "kryptere" passwordet fra klientsiden vil jeg gerne høre mere) der "krypteres" det med md5, og chekkes om det er magen til det i databasen (alle kodeord i databasen er krypterede).

Den eneste bagdør der komme, som jeg kan se er hvis du kan lave en ny post uden username og password, men da jeg helst skulle være den eneste der kan komme til at lave sådan noget skulle det ikke være noget problem (nb. når bruger oprettes cheker scriptet at man ikke laver tomt password)
Avatar billede kr-data Nybegynder
03. juni 2003 - 20:07 #5
exp>> Nu havde tipsen egentlig svaret på det, og før, du får lidt pts. for det, men tipsen får mere :-(
Avatar billede detox Nybegynder
03. juni 2003 - 20:16 #6
Normalt overfører man jo osse brugernavn og password i plain text, med mindre man har adgang til SSL. Mange gange er det brugernes valg af og omgang med brugernavn og passwords der er den største sikkerhedsrisiko. Skal det være rigtig sikkert er det nok noget med certifikat eller en nøgle som ligger på brugerens pc.
Avatar billede kr-data Nybegynder
03. juni 2003 - 20:20 #7
ja, har overvejet det, man brugeren skal kunne komme på uanset om han er i danmark eller Hong kong. Jeg har vist adgang til SSL, hvor finder jeg en "godt i gang" guide til ssl?
Avatar billede detox Nybegynder
03. juni 2003 - 20:26 #8
Med hensyn til php-delen skal du nok starte her:
http://dk2.php.net/manual/en/ref.openssl.php
Avatar billede exp Juniormester
03. juni 2003 - 20:29 #9
jeg vil ikke have points... jeg kom bare til at lave et svar istedet - vanens magt *GG*
Avatar billede kr-data Nybegynder
03. juni 2003 - 20:32 #10
k
Avatar billede kr-data Nybegynder
03. juni 2003 - 20:33 #11
du bestemmer, men jeg savner nu stædigvæk alligevel svar på 3. spm
Avatar billede detox Nybegynder
03. juni 2003 - 20:33 #12
Spørgsmålet kunne nu osse godt stå åbent lidt endnu, det kunne jo være der kom nogle flere tip. Meget interessant emne.
Avatar billede kr-data Nybegynder
03. juni 2003 - 20:40 #13
ja, de fleste sider jeg laver er der på en eller anden måde minimum at admin modul, så jeg vil gerne gøre lidt for deres sikkerhed.

Den side jeg nu spørger til er der så oxo et bruger modul :-)
Avatar billede fri-hash Nybegynder
03. juni 2003 - 23:23 #14
En ting der er værd at tænke over er sql-injections

hvis man f.eks bruger noget lignende
$query = "SELECT id FROM users WHERE username='$user' AND password='$pass'";
$res = mysql_query($query);
til at validere en bruger med ($user og $pass hentet fra brugerinput, f.eks $_POST)

hvis en bruger så taster
ha'sh
ind i brugernavn, vil sql-kommandoen blive
SELECT id FROM users WHERE username='ha'sh' AND password='etellerandet'
og give syntaxerror near sh'

Det er måske ikke så slemt, går kun ud over brugeren selv, men hvis mysql_query() fyrer strengen af mod mysql som om den kom fra en kommandolinie, og brugeren skrev
The reason for this is that the insertion of the 'single quote' character 'breaks out' of the single-quote delimited data. The database then tried to execute 'hn' and failed. If the attacker specified input like this:
ha'; drop table users--

så vil kommandoen blive
SELECT id FROM users WHERE username='ha'; drop table users--' AND password='etellerandet'

og da ; afslutter en sqlstatement og man via kommandolinie kan fyre flere sqlstatements af i en linie, adskilt af ; ....

dette er et tænkt og uafprøvet eksempel, han skal selvfølgelig gætte tabelnavnet users, men en tanke værd, der er måske nogle som er mere opfindsomme


denne er måske værd at kigge på http://dk.php.net/manual/en/function.mysql-escape-string.php

det er måske også værd at overveje at have 2 mysql-brugere med forskellige rettigheder, og så connecte med den ene for til administrative formål og den anden i andre tilfælde
Avatar billede detox Nybegynder
03. juni 2003 - 23:40 #17
->fri-hash - En rigtig god grund til altid som minimum at bruge addslashes() inden man bruger userinput direkte i sin forespørgsel.
Avatar billede fri-hash Nybegynder
03. juni 2003 - 23:49 #18
jeps, mange jeg har set, gør det bare kun når de skal indsætte tekst i et felt, og ikke med sammenligningsværdier oa.
Avatar billede tipsen Nybegynder
04. juni 2003 - 00:25 #19
fri-hash: Jeg mener ikke at mysql_query() kan udføre flere mysql-statements, så det er vist ikke et problem...
Avatar billede fri-hash Nybegynder
04. juni 2003 - 10:01 #20
ok, kunne ikke rigtig finde noget om det på php.net - men som jeg sagde kan det være at andre er mere opfindsomme - dette er fundet i et indlæg på webcafe


Forestil dig, at du har et site, hvor folk kan skrive, rette og slette artikler. For at slette en artikel kunne linket måske hedde noget ala:

fil.php?handling=sletartikel&artikel_id=12
I PHP koden har den skødesløse så noget ala:

<?php
$artikel_id = $_GET["artikel_id"];
$sql = "delete from artikler where artikel_id = $artikel_id";
/* her fyres $sql så afsted til mysql */
Men hvad nu, hvis jeg skrev lidt til i browserens adresselinje, og sendte en request ala denne her:

fil.php?handling=sletartikel&artikel_id=12 or 1 = 1
Så ville din SQL-sætning pludselig se sådan ud:

$sql = "delete from artikler where artikel_id = 12 or 1 = 1";
Det ville resultere i, at samtlige artikler ville blive slettet...


http://webcafe.dk/debat/php/27450.html
Avatar billede tipsen Nybegynder
04. juni 2003 - 10:22 #21
Tror indholdet af artikel_id ville blive url_encoded og dermed ubrugeligt i en sql-query :-)
Avatar billede kr-data Nybegynder
04. juni 2003 - 17:57 #22
Jeg kan se hvad i mener, det bliver med sikkerhed pts værd ;-) men jeg savner nu stædigvæk, nogle sjove forslag, som vil give gevaldige probs for en hacker.
Avatar billede tipsen Nybegynder
04. juni 2003 - 18:16 #23
Hvad tænker du på!?
Avatar billede mikl-dk Nybegynder
04. juni 2003 - 23:41 #24
md5 er ikke kryptering med hashing...

Og så er det jo en god idé fx at lave en

if (mysql_num_rows(mysql_query("SELECT id FROM artikler WHERE id = " . $_GET["id"] . ") > 0)
// udfør sletning
Avatar billede mikl-dk Nybegynder
04. juni 2003 - 23:41 #25
md5 er ikke kryptering MEN hashing...
Avatar billede kr-data Nybegynder
16. juni 2003 - 15:20 #26
detox og fri-hash så jeg kan dele pts ud!
Avatar billede kr-data Nybegynder
16. juni 2003 - 15:21 #27
upz prøver igen:
detox og fri-hash smid svar så jeg kan dele pts ud!
Avatar billede fri-hash Nybegynder
16. juni 2003 - 15:50 #28
oki
Avatar billede detox Nybegynder
16. juni 2003 - 16:23 #29
Takker c",)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester