I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
jeg kender ikke php syntaks for det men du skal sikre dig imod sql injection Dvs du skal sikre dig imod at en bruger kan taste ' i sit navn eller kode da dette vil opfattes som sql syntaks Se evt her http://activedeveloper.dk/artikler/default.asp?articleid=297
Er det nødvendigt at lave sådan en replace på ALLE min SQL? også DELETE, UPDATE, osv.?
Eller kun dem hvor den henter fra en form?
Synes godt om
Slettet bruger
22. april 2005 - 16:32#7
men det vil _ikke_ være skadeligt for dit system, hvis en bruger forsøger at "hacke" sig ind vha. den metode der er beskrevet i busschous artikel, da din mysql_fetch_array vil melde fejl, hvis der er flere end én række der matcher din forespørgsel
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'sung''' at line 1
Har brugt denne:
$udtraek = str_replace("'", "''", "SELECT * FROM m_brugere WHERE brugernavn = '". $_POST['brugernavn'] ."'"); $result = mysql_query($udtraek) or die(mysql_error()); $row = mysql_fetch_array($result);
Skulle det så i teorien være nok til at holde "hackeren" ude?
Lav lige svar på forhånd begge to :D
Synes godt om
Slettet bruger
22. april 2005 - 16:59#14
Ja det skulle det. Du behøver ikke din str_replace, men der er ikke noget galt i at have den alligevel
Synes godt om
Slettet bruger
22. april 2005 - 17:07#15
Det er i ligeså høj grad unødvendigt at bruge mysql_fetch_array i denne situation. Det ville være langt mere hensigtsmæssigt at bruge mysql_fetch_assoc, da du kun bruger dennes egenskaber.
mysql_fetch_assoc (ligeledes mysql_fetch_array) Returnerer et associativt array, der nedstammer fra den resulterede række, eller FALSE hvis der er 0 eller flere rækker.
Kan forskellen gøre at siden bliver mere usikker? Og hvornår bruger man hvad?
I min database har jeg en unik kode til hver bruger lavet med md5. Som i kan se i koden ovenfor, så opreter jeg en session med denne kode. På undersiderne, har jeg så tjekket for at session[id] er sat og session[reg] stemmer overens med koden i databasen for denne bruger. Hvordan kan hackeren komme uden om denne "sikkerheds" foranstaltning?
På php-servere, der er bare forholdsvis opdaterede, vil funktionen der hedder magic_quotes være slået til. Det betyder at ' helt automatisk bliver erstattet af \'. Hvis man vil være helt sikker, vil jeg anbefale man bruger addslashes funktionen. http://dk.php.net/manual/en/function.addslashes.php
magic quotes er enabled i php.ini (http://dk.php.net/get_magic_quotes_gpc). Det ved jeg, fordi jeg allerede har testet om login var sårbar overfor denne type angreb :)
Dvs hvis jeg i username indtaster: ranglen's svar
Vil php aflevere dette som: ranglen\'s svar
Ovenstående script laver dette om til: ranglen\''s svar
Dvs msql vil se strengen slutte lige foran s
Dvs med denne løsning åbner man faktisk op for sql injektion
Hvis du har haft uvelkommen besøg, behøves fejlen ikke ligge i dit login script. Hvad med login-valideringen på de underlæggende sider?
Jeg bruger egentlig altid selv sessions, så jeg ved ikke så meget om cookies, så måske jeg tager helt fejl. Det ser ud som om, du gemmer brugerens brugernavn og password i en cookie. Måske en person har fået en kopi af en cookie, eller sniffet sig frem til det over et netværk(?).
<? session_start(); include "conn.php"; $result = mysql_query("SELECT id,reg From m_brugere WHERE id = '$_SESSION[id]'") or die(mysql_error()); $row = mysql_fetch_array($result); mysql_close($conn);
Hvordan mener du ""ændre sessions"? Jeg mener, at sessions bliver gemt på serveren, så hvis man skal ændre i en igangværende session, skal man mindst have adgang til selve webserveren...
Synes godt om
Slettet bruger
22. april 2005 - 18:07#26
Hvis du har haft en "hacker" inde på dit site, har han højst sandsynlig (Helt sikkert) fundet frem til dit/et brugernavn og en dertilpassende adgangskode. Med dit script er det ikke muligt at "hacke" sig ind.
wicez >> nu skal man aldrig sige aldrig, men du har højest sandsynlig ret. Er du sikker på, labisama, at du aldrig har logget ind via en offentlig computer, eller et andet sted, hvor nogen har kunnet overvåge nettet? Måske en af dine buddys driver gæk med dig, efter du har logget ind via hans computer og måske ved en fejl gemt login/pass i en cookie.
Jeg troede heller ikke at siden var hackbar. Men jeg er blevet MEGET klogere.
Hvis han havde mit brugernavn og pass, så ville jeg kunne se hvis brugerens normale ip pludselig blev en andens ip. Men jeg har ikke noget udslag. Og heller ikke i resten af admins stablen :(
Synes godt om
Slettet bruger
22. april 2005 - 18:23#29
Hvad fik dig til at tro at din hjemmeside var blevet hacked "firstplace" ?
At pludselig her forleden dag da jeg kom hjem, så havde jeg 50 mails fra brugerne på siden, om hvorfor helvede at vi havde slettet deres brugere.
På chatten kunne man senere se at der var en uden brugernavn, som sagde at siden var for nem at hacke... Og spammede!
Dvs. det var vidst nok til at fastslå det
Synes godt om
Slettet bruger
22. april 2005 - 18:28#31
Jep. Du skal måske logge _al_ handling på dit site, da der enten er en person der har hacket sig ind, eller én af dine "betroede" admins har fået et flip. Det kan naturligvis også være en af disse der er blevet "hacket".
Jaaaa, det må man vist sige. Har han ellers lavet noget? Forklaringen kunne jo være, at han har adgang til jeres database. Så kan han nemt slette sine spor...
Synes godt om
Slettet bruger
22. april 2005 - 18:30#33
Du kan naturligvis også være kommet til at give dit databasebrugernavn og -kodeord til en person / i et offentligt forum, hvorefter en person har logget sig derind.
kour > Ang databasen.... så nej. Fordi jeg kan se at han bruger slette funktionen hos brugerne. Den sletter nemlig noget andet i nogle andre tabeller samtidigt.
wicez > Alle admins er taget fra deres rettigheder da jeg opdagede angrebet. Og alligevel fortsatte han lidt senere.
Hmmm...hvis alle admins er frataget deres rettigheder, så hjælper det jo ikke, hvis han har en af deres bruger/passwords. Så kan han jo ikke gøre noget alligevel. Derfor tror jeg bestemt heller ikke, login-scriptet er hvor fejlen er. Der er vel ikke mulighed for, at han har adgang til databasen, så han giver sig selv admin-rettigheder, laver sit lort og ændre sig til alm bruger igen?
Synes godt om
Slettet bruger
22. april 2005 - 18:36#36
okay, så kan jeg ikke se andet alternativ, end mit forslag 18:30:59
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.