Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  10 2872
Heisann!
De siste dagenes avsløringer rundt hackingen av hemmelig.coms database har fått meg til å tenkte litt på sikkerhet på nettsider, da spesielt databaser. Hvordan går en hacker frem for å hente ut slik data? Er det utnytting av sikkerhetshull i selve nettsiden, eller er det et angrep rettet mot selve serveren? Eller er det kanskje så enkelt som svake passord som blir bruteforcet?

Jeg jobber mye med PHP og MySQL og er fullt klar over viktige sikkerhetstiltak ved front-end-applikasjoner. Viktige stikkord her er som kjent SQL-Injections, XSS, session hijacking og slikt. Men noe sier meg at så store mengder data som ble hentet ut fra nevnte side ikke ble lekket med en stuslig sql-injection. Eller tar jeg feil her? Jeg drifter flere nettsider som har en mysql-database i bakrunnen. Ingen med sensitiv informasjon, men det ville allikevel være flaut om det ble hacket.

Må jeg som en webprogrammerer også stole på at serveren siden hostes på har god sikkerhet, eller er det ene og alene mitt ansvar å skrive skikkelig kode? Vil jeg i så fall være trygg?

Det ble mye spørsmål over, men jeg er ute etter hvordan man best mulig sikrer sin database mot angrep. Holder det med sterke passord og sikring av brukerinput/sql-spørringer på applikasjonen?

Takk på forhånd og god jul!
Sitat av ma10as Vis innlegg
Hvordan går en hacker frem for å hente ut slik data? Er det utnytting av sikkerhetshull i selve nettsiden, eller er det et angrep rettet mot selve serveren? Eller er det kanskje så enkelt som svake passord som blir bruteforcet?
Vis hele sitatet...
- Prøving og feiling. Kan en bruker sende data til server(login-feil eller søkefelt f.eks.) så er det en mulighet for at dette kan utnyttes.
- Hvis programvaren som brukes på serveren er utdatert kan det potensielt finnes exploits som kan brukes.

Sitat av ma10as Vis innlegg
Men noe sier meg at så store mengder data som ble hentet ut fra nevnte side ikke ble lekket med en stuslig sql-injection. Eller tar jeg feil her?
Vis hele sitatet...
Du tar nok litt feil. Det er så absolutt mulig å hente ut store datamengder ved hjelp av SQL-Injections.

Nå vet jeg ikke hvilken sårbarhet de utnyttet i dette tilfellet, men det kan godt være en kombinasjon av å bruke SQL-Injections, samt å finne brukernavn/passord til databasen, for så å koble seg til denne med <insert program name here> - og på denne måten dumpe hele databasen.

Sitat av ma10as
Må jeg som en webprogrammerer også stole på at serveren siden hostes på har god sikkerhet, eller er det ene og alene mitt ansvar å skrive skikkelig kode? Vil jeg i så fall være trygg?
Vis hele sitatet...
Du bør i alle fall være obs på om serveren kjører nyeste versjon av programvaren som brukes (web-server, database osv.).

Når det kommer til sårbarheter i nettsider (SQL-Injections, XSS, LFI, RFI osv.) så er det nok ditt ansvar å sørge for at det ikke finnes slike sårbarheter.
Sist endret av s1gh; 23. desember 2011 kl. 00:07.
Jeg vil skaffe meg en vulnarbility scanner..

f.eks Jsky (veldig bra og enkelt)
eller et litt mere avansert,
Acunetix Web Vulnerability Scanner.
Mange flere funksjoner.
Scann siden, finn feilene, oppdater programvaren eller i mange tilfeller endre chmod.

Hvil du vil virklig prøve deg på et SQL injection attack.
Bruk et program som heter Havij1.08

Det er ihvertfall pentest pakka jeg bruker!


PS: Ja man henter store mengder informasjon ut av sql injection (Brukerdatabaser, passord, admin, mailinglist etc: )
Takk for svar så langt. Er klar over at det rent teknisk er mulig å hente en hel database med data via sql-injection, men synes bare det er rart at en så stor(?) nettside har så alvorlige sikkerhetsfeil. Mulig det bare er naivt av meg å tro det

Jeg hadde sett for meg at hackere i en større grad angrep serverens programvare, som apache, phpmyadmin osv, men det virker jo nå som selve nettsiden er et større offer.
Se på finn.no
scanna den her om dagen for morro skyld,
den hadde veldig mange sikkerhetsfeil, bla sql injection, xss cross scripting etc.

så ja det er mulig !
Sitat av ma10as Vis innlegg
Takk for svar så langt. Er klar over at det rent teknisk er mulig å hente en hel database med data via sql-injection, men synes bare det er rart at en så stor(?) nettside har så alvorlige sikkerhetsfeil. Mulig det bare er naivt av meg å tro det
Vis hele sitatet...
Tja, det skal ikke store sårbarheten til før man kan dumpe en hele database.

Det mange utviklere først og fremst tenker på når det kommer til sikkerhet og web, er at man må sikre innloggingssystemet.
Men mange overser/glemmer at f.eks. et søkefeltet er nok for en hacker. Er ikke dette sikret, kan man i verste fall hente ut hele databasen.

Det mest skremmende i slike tilfeller er dessverre at en god del utviklere bruker root som user i databasen.
Og er man da først sårbar for en SQL-Injection er det plutselig mye mer enn å hente data som blir mulig.
Leste ikke alle postene, så vet ikke om det er besvart. Men disse guttene fikk tak i epost passordet til admin av siden. Og kom seg ved hjelp av det inn på ftp serveren, og lastet ned alt av info fra den.
NOOOOOOOOOOOOOOOOOO-
robhol's Avatar
Moralen er: escape inndata som et helvete.
I det spesifikke tilfellet Hemmelig.com så ble Epostkontoen til en eller annen administrator/eier tatt over, og hackerne fikk full tilgang til FTP og databaser. Da er det ikke vanskelig å hente ut alt du måtte ønske av informasjon. Shared hostings, som du spør om, kan i enkelte tilfeller gi tilgang for andre, blant annet hvis filene dine kan leses av 'alle'.

Dette, og mye annet må *alltid* være i bakhodet under hele produksjonsprosessen. Sikkerhet er ikke noe du gjør til slutt, men noe som bør bidra til valg av webhost, programvare, utviklingsprosess og til slutt selve implementasjonen på nettsiden din. Det er vanskelig å beskytte seg mot ting man ikke vet at eksisterer, f.eks. GIF/Flash injection, men om du går ut i fra at ALT brukere sender inn kan være ondsinnet så ligger du godt an. En god regel er å så sjeldent som mulig hente inn data som går rett inn i databasen din. Et eksempel med pseudokode:

Kode

$valg = $POSTDATA['valg'];
$valg = intvalue($valg);
query('Update table brukere set valg='$valg' where brukernavn='$session_bruker');
Da er det mye sikrere å faktisk å gjøre dette:

Kode

$valg = $POST['valg'];
switch($valg){
  case '1':
    query('Update table brukere set valg='1' where brukernavn='$session_bruker');
    break;
  case ...
}
Uansett hvor mange filtre du kjører på inputen din, så vil det ikke slå et konsept hvor brukeren viser intensjonen sin og du utfører et statisk kall basert på den intensjonen. I alle fall på sikkerhet. Det er mange, mange fallgruver som selv erfarne programmerere faller i (SQL injection er ikke akkurat et nytt fenomen) og den beste måten å holde seg oppdatert på er å faktisk ta seg tid til å oppdatere seg. Vær interessert i nyheter om temaet og få med seg "det siste" innen sikkerhetsnyheter og hvordan ulike sider blir kompromittert. Ligg et skritt foran, rett og slett.
Sist endret av Dyret; 24. desember 2011 kl. 02:46.
Det er og viktig å tenke hva en bruker trenger tilgang til. Du kan med fordel lage deg en brukerstruktur opp mot databasen, som begrenser hva din php applikasjon faktisk har tilgang til i databasen.
Legg deg på en "need to know" linje.
▼ ... over en uke senere ... ▼