Avatar billede felixcat Nybegynder
10. februar 2006 - 18:25 Der er 27 kommentarer og
1 løsning

Hvordan undgår vi at blive hacket igen

Vi har en side med en gæstebog som er blevet hacket af en eller anden person. Det har helt sikkert noget med en hvis profet og hans billeder. Men anyway de indsætter noget kode som gør at gæstebogen åbner en anden side.

Jeg kan ikke forhindre at de sætter noget html ind da gæstebogen skal have mulighed for det. Det er noget med bannerbyt. Jeg kan selvfølgelig lave noget IP filtrering men på loggen kan jeg se at de bare prøver med andre ip nr.

koden ser sådan ud (Misbrug det nu ikke)


<s t y l e o n l o a d="d o c u m e n t.b o d y.i n n e r H T M L='<i f r a m e s c r o l l i n g=n o f r a m e b o r d e r=0 w id th=100% he ig ht=100% s r c =h t t p :// w w w.n u k e d x .c o m/fuckdenmark.htm>< / i  f r a m e>' ; " >

samme kode gentager sig med body onload

Bemærk jeg har sat spaces ind
Sitet er programmeret i asp


Hvad gør jeg for at forhindre "ondsindede" i at lægge sitet ned
Avatar billede olebole Juniormester
10. februar 2006 - 18:38 #1
<ole>

Hvorfor i alverden skal brugere kunne indsætte HTML-elementer. Det er da at tigge og bede om den slags 'punk'!

Det kan du ikke gøre noget for at undgå, bortset fra af holde et realistisk sikkerhedsniveau ... hvilket naturligvis betyder, at brugere ikke ukritisk må kunne indsætte HTML-elementer

/mvh
</bole>
Avatar billede felixcat Nybegynder
10. februar 2006 - 18:52 #2
Tjah men det skal være noget med at man kan linke til andre ved at indsætte <img source=..
Men der må da være en eller anden løsning
Avatar billede olebole Juniormester
10. februar 2006 - 18:56 #3
Jamen, den har jeg jo skitseret: Hold et realistisk sikkerhedsniveau  :)

For det første skal _al_ brugerinput naturligvis checkes i hoved og røv - og du må sikre dig, inputtet er i det format, du forventer.
Hvis du insisterer på, at brugere skal kunne indsætte et billede, skal du således _kun_ tillade, der bliver indsat img-tags.
Er der andre tags, skal inputtet/indlægget øjeblikkelig kasseres
Avatar billede olebole Juniormester
10. februar 2006 - 18:58 #4
- og dette:
  "For det første skal _al_ brugerinput naturligvis checkes i hoved og røv - og du må sikre dig, inputtet er i det format, du forventer."

- er der absolut ingen vej udenom. Det står på øverste linje i forordet til 'Håndbog For Webkodere' bind 1! Det er et _absolut_ must!
Avatar billede felixcat Nybegynder
10. februar 2006 - 19:04 #5
Hmm jeg må have overset den bog. Men du behøver ikke være så arogant. jeg har selvfølgelig lavet noget med replace. For mig virker det som det nemmeste.
Men jeg vil gerne undgå at der komer andre lignende tiltag. Så derfor andre ( og ikke dig Olebole - jeg tror ikke du kan bidrage med noget ) hvad gør man for at forhindre i fremtiden.
Avatar billede olebole Juniormester
10. februar 2006 - 19:27 #6
*LoL* Jamen, det er da helt dit valg, hvis du vælger at se mit indlæg som udslag af arrogance  :D

Hvis du i stedet var lidt mindre selvhøjtidelig, kunne du sikkert lære en del af det, jeg skrev. Det er helt essentielt at checke al brugerinput og sikre dig, det stemmer overens med det, der forventes. Det er, hvad alle andre gør - og er det, andre formodentlig også vil anbefale. Men bevares ... valget er som sagt dit  =)
Avatar billede clausbr Nybegynder
10. februar 2006 - 19:34 #7
Du bruger nok en database ACEESE eller SQL
Du kan lave en kontro inden brugern kan tilføj sin tekst
Ekspemtel
if InStr(1,"styleonload",  DateLine  ,  1) Then
Sping over så den ikke bliver tilføjet
i din database.
Avatar billede felixcat Nybegynder
10. februar 2006 - 19:36 #8
Nej nej godt ord igen. Men at checke for at der er img tags og ellers strippe alt andet htm virker for mig at være overkill. Det er kun en gæstebog hvor man manuelt kan gå ind og slette upassende indlæg. Det kunne jeg måske også finde en løsning på. Det jeg efterlyser er en nemmere måde. Og min udbyders sikkerhedsniveau er helt i top.
Avatar billede felixcat Nybegynder
10. februar 2006 - 19:38 #9
hmm ja måske ikke så dårlig en ide clausbr - kan du ikke uddybe det
Avatar billede erikjacobsen Ekspert
10. februar 2006 - 19:48 #10
clausbr's forslag løser ikke dit problem, som skrevet i din titel: "Hvordan undgår vi at blive hacket igen". Der er kun een vej. Ok, den er blevet skrevet før: Du skal tjekke al input fra brugerne. Første skridt er at definere, hvad der er lovligt input. Gider du gøre det, så kan det ikke være så svært ;)
Avatar billede olebole Juniormester
10. februar 2006 - 19:49 #11
Problemet er blot, at mulighederne for at genere i den slags fora er utallige, hvis man ukritisk tillader brug af HTML. Du vil formodentlig altid halse efter kreative punks - og ende med bunker af forskellige ting, du skal filtrere fra. Det værste er, at listen kun vokser, hvergang du bliver offer for en ny type angreb.

Det er 100 gange lettere at nøjes med at tillade visse tags - og på forudbestemte måder - og forbyde alle andre. Det er den måde, det løses på i professionelt kodede systemer ... og ikke uden grund  :)
Avatar billede olebole Juniormester
10. februar 2006 - 19:51 #12
- og her tog Erik mig indenom ... men vi er vist helt enige på dette punkt  =)
Avatar billede clausbr Nybegynder
10. februar 2006 - 19:51 #13
Jeg bruger denne løsning til at have flere domains på min server jeg har lige nu 1650 sub-domain og de skal jo vidersends til de forskælige mapper som ligger på min server.

jeg bruger også denne løsning til når der bliver upload filer til min server vis der er mp3 zip AVI osv. så bliver der sendt en mail til mig om oplysningen af filen og hvem der har upload den.

Eksempel.:

inden brugen kan tilføj noget i din gæstebog
Hvis ordet Stylronload eller noget andet bliver fundet i Request.Form("tekst") så kan den springe tilføjs over eller gå til response.Redirect ("stop.asp")


if InStr(1,"styleonload",  Request.Form("tekst") ,  1) Then response.Redirect ("stop.asp")

Du kan blive ved med at tilføj ord eksempel (Svin gris osv) så hvis nogle kommer for at svinde din gæstebog til er der begræsninger for udtryk de kan bruge.
Avatar billede felixcat Nybegynder
10. februar 2006 - 19:54 #14
ups kom til at trykke på afvis knappen
Men jeg tror jeg vil arbejde videre med clausbr ide - hvordan kan jeg give dig point clausbr ?
Avatar billede clausbr Nybegynder
10. februar 2006 - 19:56 #15
vi prøver igen
Avatar billede clausbr Nybegynder
10. februar 2006 - 19:57 #16
hvis du har problemer kan du altid kontakte mig på clausbr@gfreesub.dk
Avatar billede felixcat Nybegynder
10. februar 2006 - 19:58 #17
Og til jer andre - tak for hjælpen
Avatar billede olebole Juniormester
10. februar 2006 - 19:59 #18
Det er stadig at stå på hovedet. Hvad er lettest:
1) Nævn de ting, du ikke kan bruge en hammer til
2) Nævn de ting, du kan bruge en hammer til

Hvad er lettest:
1) Forbyd alle de ting, der kan genere dit forum. Forbyd også de ting, du ikke i din vildeste fantasi kan forstille dig kan genere
2) Tillad de ting, der er nødvendige for, man kan bruge dit forum som tiltænkt - og kun dem
Avatar billede olebole Juniormester
10. februar 2006 - 20:00 #19
- valget er forbløffende ligetil  ;o)
Avatar billede felixcat Nybegynder
10. februar 2006 - 20:08 #20
Ja men for mig virker det lidt uoverskueligt at skulle angive i et <textarea> hvad der må stå og hvordan bestemmer man lige at der godt må stå et <img> ? Det kan jeg ikke lige se
Avatar billede olebole Juniormester
10. februar 2006 - 20:17 #21
Det skal du ikke gøre i et textarea. Alt hvad du viser i browseren kan manipuleres med lidt javascript i adresselinjen. Man kan indsætte ekstra felter i formen og ændre værdien i hidden-fields - ligesom man kan ændre de JavaScripts, der måtte stå i dokumentet. Der ligger ingen sikkerhed i, hvad du foretager i dokumentet i browseren.
Al den slags skal checkes ved ankomsten til serveren. Her det så, du skal tillade, hvad der må gøres - i stedet for at forbyde, hvad der ikke må foretages.

Hvis du nogensinde har haft børn, vil du vide, det er meget lettere at definere, hvad de må, end hvad de ikke må. Det sidste kræver en ualmindelig frodig fantasi  ;D
Avatar billede clausbr Nybegynder
10. februar 2006 - 20:17 #22
du kan godt bruge <img> for de at (img)ikke er bandlyst kun
"styleonload" vi har valgt ordtet styleonload som er bandlyst
du kan også lave lidt om på det at der skal være til føjet et eller bilde (IMG) ellers kan du ikke tilføj i gæstebogen
Avatar billede erikjacobsen Ekspert
10. februar 2006 - 20:22 #23
"hvad der må stå"? Jamen siger du at du vil tillade et <img>-tag, ingen andre tags, og alt er ellers lovligt. Du skal starte med at definere dit udgangspunkt, og glemme alt om hvordan det skal laves. Et stykke tid.
Avatar billede felixcat Nybegynder
10. februar 2006 - 20:24 #24
textarea er indtastningsfeltet se nærmere på http://www.ninebells.dk/guestbook/default.asp
Avatar billede clausbr Nybegynder
10. februar 2006 - 20:33 #25
Du betemmer selv om ordet må stå eller ikke må stå (eksempel Java ikke tilladt)Mohammed og profeten eller Jesus ikke tilladt)

for de at de stå i dit filter
du bestemmer jo selv hvor groft dit filter må være og hvis der er så laver du da en database over alle de ord der ikke må stå
Avatar billede olebole Juniormester
10. februar 2006 - 20:40 #26
Claus >> pointen er, at:
    "Alt, der ikke eksplicit er tilladt, er forbudt"

Det filter er 100 gange lettere at lave sikkert end:
    "Alt, der ikke eksplicit er forbudt, er tilladt"
Avatar billede musicchart.dk Nybegynder
10. februar 2006 - 21:19 #27
Jeg må her give ole ret. Du må sætte nogle regler for hvordan du forventer dit input skal se ud. Det er sådan man gør, længere er den ikke - hvorfor tror du regular expressions er opfundet?

Er dit input anderledet end forventet, så bør den kasseres. Mht. til indsættelse af billeder, så lav din egen formulering af et image-tag, og bearbejd det. Det kunne fx være <billede>sti,whatever</billede> - lad din fantasi sætte grænsen.

Min fredags 25-øre
Avatar billede felixcat Nybegynder
11. februar 2006 - 15:04 #28
Lukker og slukker
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
Kurser inden for grundlæggende programmering

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