Avatar billede koden Novice
20. juni 2007 - 20:01 Der er 20 kommentarer og
1 løsning

Kan PHP forum hackes

Jeg har lavet en hjemmeside med et PHP foum.
På det forum kan jeg logge på som adm.
kan det adm. password hackes af uvedkommende udefra, eller er det admin login sikret på nogen måde?
Avatar billede thesurfer Nybegynder
20. juni 2007 - 20:58 #1
Et login kan normalt nemt hackes, hvis man ikke bruger magic quotes.. eller erstatter ' med ''...

Eksempel:

Hvis brugeren admin eksisterer, kan man logge ind med:

brugernavn: admin
kodeord: ' or '' = '

Så kommer SQL sætning til at være:

select * from tabelnavn where brugernavn = 'admin' and kodeord = '' or '' = ''

Hvilket betyder:

Hent alle poster, hvor:
1) brugernavn er: admin
2) kodeord = '' ELLER '' = ''

da brugernavn er korrekt, kigger den på den anden del..

Da tom streng er lig tom streng, er den anden del også sand..
Avatar billede erikjacobsen Ekspert
20. juni 2007 - 21:05 #2
Ja, hvis man ikke ved hvordan man koder sikkert i PHP, og laver en sikker serveropsætning, så kan der sagtens være veje ind for en hacker. Der er rigtig mange faktorer, man skal være opmærksom på. En forsmag: http://phpsec.org
Avatar billede thesurfer Nybegynder
20. juni 2007 - 21:08 #3
Der er en fordel og en ulempe, ved at bruge et standard (og kendt) forum:

Fordel: Det er testet, og virker

Ulempe: Så snart en sikkerhedsfejl opdages, er samtlige fora der benytter det, sårbare


Tricket med "' or '' = '" er meget kendt.. dog ikke for nybegyndere.. De falder tit i fælden.
Avatar billede koden Novice
20. juni 2007 - 21:15 #4
hej thesurfer...jeg skal nok have lidt oversættelse for at forstå dit indlæg.
bruger er admin. mener du jeg skal bruge specialtegn i password?
Avatar billede thesurfer Nybegynder
20. juni 2007 - 21:31 #5
Nej.

Jeg siger at du skal erstatte tegnet ' med 2x ', når du laver et opslag.

I PHP er der vist noget der hedder magic quotes, som gør det for dig..

2x ' bliver opfattet som et enkelt '.
Avatar billede thesurfer Nybegynder
20. juni 2007 - 21:39 #6
Der står lidt om magic quotes her: http://dk.php.net/magic_quotes
Avatar billede koden Novice
30. januar 2008 - 08:55 #7
Gammel sag. jeg lukker den. Vil nogen have point så svar senest i dag...
Avatar billede thesurfer Nybegynder
31. januar 2008 - 19:10 #8
Bedre sent end aldrig.. :-)

PS: Læs om magic quotes..
Avatar billede koden Novice
31. januar 2008 - 20:05 #9
Jeg forstår det vist stadig ikke, selvom jeg har læst det.
Mit forum er oprettet med admin som adm.
brugerne er 150 stk. som er oprettet af mig.
Der kommer ikke flere brugere.
Man kan ikke selv oprette sig.



Er det mit admin password man kan hacke
Avatar billede koden Novice
31. januar 2008 - 20:06 #10
hov kom til at sende indlæg før jeg var færdig.

Er det mit admin password man kan hacke hvis ikke jeg bruger magic?
Eller er det hele mit forum som sådan?
Avatar billede osborne Praktikant
31. januar 2008 - 20:17 #11
hvis et "SQL injection" angreb (som thesurfer beskriver) virker på din side som vil man f.eks. kunne logge ind som admin og dermed gøre alt som en admin kan gøre, dvs. har fuld kontrol over hjemmesiden og kan ændre, ødelægge osv. hvad man har lyst til - det vil sige ja det er hele dit forum som sådan.
Avatar billede erikjacobsen Ekspert
31. januar 2008 - 20:21 #12
"Jeg forstår det vist stadig ikke" - jamen så er det jo nok derfor.

Hvis du kaster lidt tilfældig PHP-kode sammen, hentet hist og pist, uden at vide noget om sikkerhedsmæssige ting, så vil der da helt sikkert være sikkerhedshuller.

Og er det et kendt forum, så er der nok også huller (der bliver rettet efterhånden).

Du skal vel tænke på at en hacker ikke kommer ind i dit system ad den normale vej ;)
Avatar billede osborne Praktikant
31. januar 2008 - 20:49 #13
Forresten .. når du nu røber at din admin hedder "admin" så behøver en hacker ikke at gætte på dette og kan straks gå i gang med at gætte dit password. Der findes endda gratis programmer på nettet til at gætte passwords med (Google f.eks. på Brutus så kan du se). Som erikjacobsen skriver så er det svært at undgå sikkerhedshuller .. men en vigtig ting er ihvertfald at kode sikkert, og være 100% sikker på at den kode du evt. låner fra andre steder er sikker. Hvis du vil ofre penge på det findes der nogle rigtig gode værktøjer på markedet til at scanne websites for huller og give dig præcise guides til hvad der skal rettes (både whitebox tools der scanner din kode igennem og blackbox tools der scanner din site udefra og fyrer en masse simulerede angreb af mod siden for at se om den kan finde huller. Et sådant blackbox tool er f.eks. Watchfire AppScan)
Avatar billede koden Novice
31. januar 2008 - 20:54 #14
OK. tak...
jeg er kun amatør og det ville nok være for meget.
jeg har installeret det nyeste PHP forum og jeg skal nok ændre admin til et andet navn :-)

der er ikke noget der er super hemmeligt på forum, så hvis jeg tager backup, så må jeg jo bare reinst. det efter et evt. ødelægende angreb....
Avatar billede thesurfer Nybegynder
31. januar 2008 - 21:03 #15
..hvis du reinstallerer forummet uden at lave ændringer i koden, kan den hackes igen, på dagsbasis..

En simpel test for at se om du har et sikkerhedshul, som magic quote kan fixe:
1) Indtast et gyldigt bruger navn ved login siden (f.eks. din nuværende admin-konto)
2) Indsæt følgende som password, og prøv at se om du kan logge ind:

' or '' = '

Husk på at dine brugere kan finde på at hacke hinanden eller dig.. Hvis forummet gemmer brugernavn og kodeord i en cookie, kan man via et billede og Internet Explorer fiske oplysningerne op af cookien, og højst sandsynligt sende dem til et eller andet sted..

Ja, Internet Explorer er nok til at afvikle JavaScript som i en billede fil (f.eks. "hus.gif").. Jeg kender ikke til andre browsere der gør det samme..

Hvis brugerene har mulighed for at uploade billeder (og/eller andre filer), kan det også være en sikkerhedsrisiko.

Hvis brugerene har mulighed for at benytte (ubegrænset) HTML kode i deres indlæg, er det også en sikkerhedsrisiko..

Som du kan se, kan der være mange sikkerhedshuller..
Avatar billede koden Novice
31. januar 2008 - 21:29 #16
' or '' = '
kunne ikke logge ind...

Jeg laver ikke selv noget kode derinde, så det er ret standard det forum jeg bruger.

jeg troede egentlig at sådan et PHP forum var sikkert.
Men det er det så ikke... Tak for gennemgang.
Avatar billede thesurfer Nybegynder
01. februar 2008 - 02:53 #17
koden> Der tager du fejl.. Det har hverken noget med PHP eller forum at gøre.. Det kunne lige så godt have været ASP, ASP.NET eller anden serverside teknologi..

Et stykke software, lige meget hvilken platform (om det er internet eller applikation), kan indeholde sikkerhedshuller..

Andre "sikkerhedshuller" er ikke rigtigt sikkerhedshuller, da de er baseret på ren logik (f.eks. det med ' or '' = ').. det betyder, at softwaren opfører sig nøjagtigt som den skal..
Det er op til programmøren af softwaren at sikre sig at alt går godt.


Hvis du programmerede, og lavede et felt hvor man skal indtaste hvilket år man er født i, for at regne alderen ud (2008 - DetIndtastede), skal du sikre dig at brugeren ikke indtaster bogstaver.. ellers går softwaren ned, hvilket er logisk nok..

Eksempel:

- Du spørger mig "Hvilket år er du født i?"

- Jeg svarer "abc"

- Du arbejder videre med mit svar: 2008 - abc

Logisk resultat: crash.. system går ned fordi input-parameteren ikke bliver valideret..


Jeg håber at dette indlæg har givet dig en generel forståelse for software og systemer... software er ikke bedre, end det programmøren programmerer den til at være..
Avatar billede koden Novice
01. februar 2008 - 11:15 #18
Ja jeg er blevet klogere.
Jeg deltager også i et php forum der nu er gået ned for 3 gang.
Mens jeg er i mange andre der altid har kørt....

Mit er trods alt kun til andelsforening, så det går nok :-)
Avatar billede erikjacobsen Ekspert
01. februar 2008 - 11:28 #19
Uden at have videnskabelig grundlag for at kunne sige det, så foregår det sådan ca. på den måde her for et fornuftigt projekt:

1) Nogen laver et "Forum1001 version 1"-system i PHP
2) En del begynder at bruge det
3) Der bliver rettet et par sikkerhedsfejl og vi får "Forum1001 version 1.1"
4) Nogle opdaterer til version 1.1, nogle gør ikke
5) De onde hackere, eller hvad vi skal kalde dem, begynder at udnytte sikkerhedsfejlen i version 1

Dvs: Hvis man følger med opdateringerne, er det ikke så sandsynligt man får problemer. Men installerer man version 1, og ikke gør mere ved det i et par år, så får man uventet besøg.
Avatar billede koden Novice
01. februar 2008 - 11:45 #20
ok. jeg tjekker jævnligt for opdateringer.
Avatar billede osborne Praktikant
01. februar 2008 - 16:49 #21
Med hensyn til sikkerhed generelt er der typisk fire kategorier af risici:

1. Tyveri af følsomme data - er der noget sådant på din side f.eks. personlige økonomioplysninger, personnumre eller andet som ikke andre skal vide?

2. Tyveri af identitet - gør det noget hvis nogen kan opsnappe bruger og password for en bruger og udgive sig for at være vedkommende på jeres hjemmeside?

3. Overtagelse af siden - f.eks. at nogen kan bruge jeres hjemmeside til at re-dirigere brugere til andre sider. Ved et cross site scripting angreb kan hackeren i yderste konsekvens overtage en brugers browser, opsnappe alle hans/hendes tastetryk, se alle de sider han besøger osv.

4. Få systemet til at gå ned - det kan jeg forstå ikke er så kritisk for jer, og nok mere et irritationsmoment.

Det eksempel som thesurfer giver med at taste ' or '' = ' er meget kendt SQL Injection teknik, men der findes tusindvis af forskelige både client og serverside angreb .. også når vi blot snakker angreb på applikationsniveau er der en liste på et par tusind velkendte angreb og en række helt specifikke identificerede svagheder ved de standard forums der er på markedet.

Det med opdateringer er en meget rigtig og vigtig pointe. De web applications scannere jeg snakker om virker lidt lige som en virusscanner gør på en PC, men istedet for at finde virus på PCen finder de huller i hjemmesiden som hackere vil kunne udnytte. Men jeg forstår godt at til jeres brug er det en større investering.
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