Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


byta ut specialtecken?

Postades av 2007-05-14 10:27:26 - Mattias Svensson, i forum asp - allmänt, Tråden har 11 Kommentarer och lästs av 928 personer

Nä jag läser om Cross Site scripting blir jag bara mer och mer trött på det hela... hur många specialtecken skall man behöva akta sig för?

Räcker det att inte tillåta några < eller > i strängarna som matas in av användaren? då är man ju skyddad mot ev. javascript som någon försöker flika in....

finns det ingen funktion som bara automatiskt tar bort alla specialtecken från en sträng i VBscript? Så man slipper sitta där med en hel rad

replace(var,',"")
replace(var,\,"")
replace(var,<,"")
replace(var,>,"")

osv osv...

men detta att inte tillåta dessa tecken kanske inte avhjälper problemet, eller..?


Svara

Sv: byta ut specialtecken?

Postades av 2007-05-14 10:39:29 - Per Persson

Ta inte bort specialtecknen. Byt ut dem mot säkra i stället.

< och > byts lämpligen ut mot &lt; resp. &gt; vid utskrift. Låt dem ligga oförändrade i databasen.


Svara

Sv: byta ut specialtecken?

Postades av 2007-05-14 11:39:29 - Thomas Vanhaniemi

Som Per skriver, ta inte bort tecken utan validera att det användaren skriver in är rätt, eller ha kvar tecknen och lagra dem i databasen som de är. Sedan när du skriver ut det i HTML så kör du
<code>
Dim strText = "Detta är en text med <br />"
Server.HTMLEncode(strText)
</code>
HTMLEncode gör om alla osäkra specialtecken för HTML till säkra, alltså ersätter alla < > & ... med säkra motsvarigheter.


Svara

Sv:byta ut specialtecken?

Postades av 2007-05-14 11:45:44 - Mattias Svensson

Detta innebär alltså att varje ställe där en användare har matat in något i databasen som senare visas på sidan kan han i dagsläget stoppa i html-kod eller (javascript om han gör ett tillräckligt kort) och fjanta till det eftersom jag inte kör htmlencode?

Fast det påverkar ju då bara hans sida och visning... så länge regeln gäller att man bara kan se information som man själv som inloggad har sparat, eller?


Svara

Sv: byta ut specialtecken?

Postades av 2007-05-14 11:58:05 - Per Persson

<b>Fast det påverkar ju då bara hans sida och visning... så länge regeln gäller att man bara kan se information som man själv som inloggad har sparat, eller?</b>

Ja, när det gäller HTML-injektion är detta sant. SQL-injektion kan dock påverka alla.


Svara

Sv: byta ut specialtecken?

Postades av 2007-05-14 11:58:59 - Andreas Hillqvist

Tänk på att Server.HTLMEncode är envägs. Om du anropat så kan du inte återskapa texten som var innan.
Det är därför tänkvärt att spara värdet som det skrivs in och formatera det vid visning. JAg har det som vana att alltid formatera textfält vid visning.
Om det finns behov att få bättre prestanda kan man lägga till ytterligare ett fält där man lagrar det formaterade värdet.


Svara

Sv:byta ut specialtecken?

Postades av 2007-05-14 12:01:54 - Thomas Vanhaniemi

Andreas, HTMLEncode är INTE envägs utan det går att ta tillbaka orginaltexten utan problem. Vanlig ASP har nog inte HTMLDecode funktionen om jag minns rätt, men .NET har det. Men skulle man behöva till ASP kan man skriva en egen funktion...

Men som sagt, det ska bara konverteras när man skriver ut det på sidan, inte när man sätter in i databasen...


Svara

Sv:byta ut specialtecken?

Postades av 2007-05-14 12:04:22 - Mattias Svensson

Okej....

så om jag tar bort ' och \ från alla strängar som sparas, för att skydda mig mot SQL injection, och sedan dessutom hör HTML-encode på alla strängar som kommer från databsen som skall visas på sidan, är jag säker då..?

Finns det förresten andra anledningar till att folk skäller på mig att jag inte skall ta bort ' och \ utan göra dem säkra, andra anledningar än att användaren kanske menade och ville ha det där tecknet där?


Svara

Sv: byta ut specialtecken?

Postades av 2007-05-14 12:16:34 - Thomas Vanhaniemi

Det är helt enkelt bara en oskriven regel att du inte ska i onödan ändra på det användaren skriver in utan i första hand validera data och låta användaren själv korrigera inskriven data om den är felaktig, eller helt enkelt godkänna att någonting sparas och formatera den så att den passar i förfrågningar till databasen eller utskrift i HTML på sidan.

Sen att folk "skäller" på dig kan ha att göra med att du bedömmer dig ha en 4/5 i kunskaper i ASP medan du frågar frågor som om du vore nybörjare. Självklart kan man aldrig allting, men man har nog hört talas om saker åtminstone om man tycker sig vara duktig.


Svara

Sv: byta ut specialtecken?

Postades av 2007-05-14 12:24:16 - Andreas Hillqvist

Thomas, tack för att du rättade mig. Var inte medveten om att den även hanterade ampersand.
Därför antog jag att det kunde ställa till med stränga där redan escapade tecken förekom, så som:

Test = Server.HTMLEncode("&lt;<&gt;>")


Svara

Sv:byta ut specialtecken?

Postades av 2007-05-14 13:13:20 - Mattias Svensson

jo, det finns väl mer till ASP än man trodde.. =)


Svara

Sv: byta ut specialtecken?

Postades av 2007-05-14 13:18:19 - Thomas Vanhaniemi

Det finns mycket inom allt, men det betyder ju inte att du är "usel" på allt. Viktigt är ju att kunna bedömma vad man egentligen kan och vad man kan mindre bra/säkert.

Men självklart är det svårt att bedömma sina egna kunskaper. Menade inte att "skälla" på dig tidigare, så ta inte åt dig av det. Det finns värre typer här som tycker de kan mer än de egentligen kan.

För övrigt rekommenderar jag, vilket språk du än skriver i, att du först validerar indata, gärna på klientsidan men absolut på serversidan innan du tillåter att det ens hamnar i processen att sättas in i databasen eller skrivas ut på sidan. När du sedan skriver in i databasen gör du strängarna säkra, eller använder dig av parametrar, och använder dig av HTMLEncode på all data som skrivs ut på sidan.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
1 600
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies