Hayer Skrevet 25. april 2007 Skrevet 25. april 2007 Hei Vet ikke om det er mange som kan dette eller vet om det, men når man bruker MySql for brukernavn og passord så bør man finne raden = $passord ikke $passord = raden og samme med brukernavn, og man MÅ / BØR fjerne muligheten for en bruker å skrive inn "' --" uten (") for da kan personen kommentere ut resten av spøre stringen som f.eks passord slik at spøre stringen bare blir $sql = "SELECT * FORM brukere WHERE bruknavn = $brukernavn"; dette er da Sql injection(eller hvordan det skrives, så nå kan alle dere små WannaBe hackere på 14 google d xD) bare tenkte at dette kunne være godt for folk å vite, etter som jeg har sett folk som lar systemet stå åpent...
Anders Moen Skrevet 25. april 2007 Skrevet 25. april 2007 Skjønte ikke helt hva du mente, men sikkert farlig
Runar0 Skrevet 25. april 2007 Skrevet 25. april 2007 Tur han mener at du må passe på at -- vil kommenter ut resten av ein sql spørring
Hayer Skrevet 25. april 2007 Forfatter Skrevet 25. april 2007 du må passe på å fjerne ' -- og andre ting som gjør at alt bak blir kommentarer når du tar i mot informasjon Lettere å forstå?
Runar0 Skrevet 25. april 2007 Skrevet 25. april 2007 Magic quotes fjerner ' tegnet automatisk så -- blir ein del av teksten. Og skulle ikkje magic quotes vere på så kan du altids bruke mysql_real_escape_string
???????? Skrevet 25. april 2007 Skrevet 25. april 2007 Bruk alltid noe for å escape en string fra en bruker! Aldri noen gang stol på magic quotes, en liten endring i innstillinger på serveren eller en uheldig oppgradering - og magic quotes er slått av. Dette er vel ikke store problemet for de som lager små sider til seg selv, men hvorfor lære en uvane?
Goliath Skrevet 25. april 2007 Skrevet 25. april 2007 Emnetittelen i denne tråden er lite beskrivende for trådens innhold og det er derfor ingen god emnetittel. Jo bedre og mer beskrivende emnetittelen er, jo lettere er det for andre å skjønne trådens innhold og det vil være lettere å treffe den riktige forumbrukeren med det rette svaret. Ber deg derfor om å endre emnetittel slik at du unngår at en moderator stenger tråden. Vennligst forsøk å ha dette i tankene neste gang du starter en tråd, og orienter deg om hva vår nettikette sier om dårlig bruk av emnetitler. Bruk -knappen i første post for å endre emnetittelen. (Dette innlegget vil bli fjernet ved endring av emnetittel. Ikke kommenter dette innlegget, men gjerne dette innlegget når tittelen er endret, så vil det bli fjernet..)
Runar0 Skrevet 26. april 2007 Skrevet 26. april 2007 Bruk alltid noe for å escape en string fra en bruker! Aldri noen gang stol på magic quotes, en liten endring i innstillinger på serveren eller en uheldig oppgradering - og magic quotes er slått av. Dette er vel ikke store problemet for de som lager små sider til seg selv, men hvorfor lære en uvane? 8472911[/snapback] Neida sier ikkje at du skal stole på margic quotes, du må altid hugse å escape bruke input men du må og hugse magic quotes vist du får problemer med dobbel escaping.
ze5400 Skrevet 26. april 2007 Skrevet 26. april 2007 mysql_real_escape_string FTW! Kan unngå mye problemer med den. Men strengt tatt, det å kommentere ut gjør jo ikke store skaden, mer alvorlig er det når man begynner å manipulere spørresetningen med '. F.eks: Original setning: SELECT * FROM users WHERE username='Brukernavn' AND password = 'hash'; Med -- SELECT * FROM users WHERE username='Brukernavn' AND password = 'hash--'; <-- Vil ikke returnere noe Og med manipulering SELECT * FROM users WHERE username='Brukernavn' AND password = 'hash' OR 'x' = 'x'; <-- Vil returnere en rad selv om passordet er feil. Men det er ikke før man begynner å injisere det begynner å bli riktig farlig. Og btw; Tror de fleste brukerene her på forumet visste dette fra før
Runar0 Skrevet 26. april 2007 Skrevet 26. april 2007 F.eks:Original setning: SELECT * FROM users WHERE username='Brukernavn' AND password = 'hash'; Med -- SELECT * FROM users WHERE username='Brukernavn' AND password = 'hash--'; <-- Vil ikke returnere noe 8475188[/snapback] -- Blir brukt for å kvitte seg med det siste ' tegnet. Slik som dette Input: ' OR 'x'='x' -- SELECT * FROM users WHERE username='Brukernavn' AND password = '' OR 'x'='x' --'; Men som du sa treng du ikkje dette vist du droppar det siste ' tegnet i inputten.
Gjest Slettet+142 Skrevet 26. april 2007 Skrevet 26. april 2007 -- kvitter seg ikke bare med det siste '-tegnet. -- kvitter seg med resten av sql setningen...
Runar0 Skrevet 26. april 2007 Skrevet 26. april 2007 joda gjør forsovet det, dumme meg xD du kan lett endre SELECT * FROM users WHERE username='Brukernavn' AND password = 'hash'; til SELECT * FROM users WHERE username='Brukernavn' --' AND password = 'hash';
Gjest Slettet+142 Skrevet 26. april 2007 Skrevet 26. april 2007 (endret) ja det er lett. - så lenge inputen ikke kontrolleres med mysql(i)_real_escape_string(), add_slashes() og de andre slash-adderende funksjonene Endret 26. april 2007 av Slettet+142
ze5400 Skrevet 27. april 2007 Skrevet 27. april 2007 SELECT * FROM users WHERE username='Brukernavn' --' AND password = 'hash'; 8475842[/snapback] Du mener vel ...' -- ' ... Mellomrom etter "--", ellers går det ikke [/pirkemodus]
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå