[asp] string sql safe maken

Pagina: 1
Acties:

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 07:51

HenkS

Da_king alias HenkS

Topicstarter
in php heb je de mooie functie addslashes() om een string sql-save te maken voordat je hebt insert in een query,

maar in ASP heb je hier zover ik weet niks voor, of vergis ik me hierin.

en als je er inderdaad niks voor hebt, hoe maken jullie dan een string SQL-save?

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
uhm quotes replacen is in principe wel genoeg hoor.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 26 november 2001 10:19 schreef raptorix het volgende:
uhm quotes replacen is in principe wel genoeg hoor.
; is ook best belangrijk hoor ;)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • [ti]
  • Registratie: Februari 2000
  • Niet online
Op maandag 26 november 2001 10:25 schreef dusty het volgende:
; is ook best belangrijk hoor ;)
Volgens mij is dit meer 'n 'urban legend', als je 'n query met 'n ; erin hebt en die voer je aan mysql_query() dan gaat ie dat niet als 2 aparte queries behandelen.

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Buffer overflows zijn zeker ook 'urban legends'?

Denk wat je wilt denken, er zijn ook nog echte relationele databases die misschien anders reageren dan jij gewend bent.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op maandag 26 november 2001 11:06 schreef dusty het volgende:
Buffer overflows zijn zeker ook 'urban legends'?
Buffer overflows :? Oh da's als ik m'n moeder aan de telefoon heb, en die meer verteld dan ik kan opnemen ;)
Denk wat je wilt denken, er zijn ook nog echte relationele databases die misschien anders reageren dan jij gewend bent.
Ik heb het bij MSSQL ook nog niet voor elkaar gekregen, maar tis idd wel iets waar je rekening mee moet houden.
Naja ik vind eigenlijk sowieso dat voordat je een meegegeven waarde in een query propt, je deze op geldigheid moet controlleren. Dus een nummertje moet ook numeriek zijn, en niet langer zijn dan je in je int of long kan opslaan. En een searchstring op een veld van max. 15 tekens heeft het weinig zin als de searchstring 12121212 tekens is. Met alle beetjes bij elkaar krijg je als je de checks niet uitvoerd een zooitje, en als je wel goed checkt een stuk veiligere app.

Exact expert nodig?


  • [ti]
  • Registratie: Februari 2000
  • Niet online
dusty: Buffer overflows zijn zeker ook 'urban legends'?
Zeer zeker niet.
Denk wat je wilt denken, er zijn ook nog echte relationele databases die misschien anders reageren dan jij gewend bent.
Ik ken geen databases die daardoor 2 queries zouden uitvoeren. Ik vraag me dan ook af wat voor result set ze dan terug willen gaan geven. Het lijkt mij dan ook nogal niet erg 'standaard' om zoiets te ondersteunen en ook erg ongewilt. Zijn er databases die dit wel toestaan dan?

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 07:51

HenkS

Da_king alias HenkS

Topicstarter
als ik een enkele quote in een var heb staan, en dan doe ik een select gaat ie toch mooi op zijn bek als ik niet eerst een replace() uitvoer op die string voordat ik hem in de select gooi

  • [ti]
  • Registratie: Februari 2000
  • Niet online
Welke database gebruik je? bij mssql moet je bv. niet gaan escapen maar er een dubbele quote van maken:
code:
1
SELECT ''''

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 07:51

HenkS

Da_king alias HenkS

Topicstarter
Op maandag 26 november 2001 12:05 schreef [ti] het volgende:
Welke database gebruik je? bij mssql moet je bv. niet gaan escapen maar er een dubbele quote van maken:
code:
1
SELECT ''''
daar was ik dus ook al achter, werkt nu dus ook inderdaad met een replace met dubbele quotes!

  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
Ok ik snap dat dubbele quotes werken, maar dat gaat niet altijd op (volgens mij dan), kijk maar...
code:
1
2
3
4
5
6
<%
  Dim sQRY
  sQRY = Request.QueryString("qry")
  
  oRS.Open "select * from contact where bedrijfsnaam like '%""&sQRY&""%' OR persoonnaam like '%""&sQRY&""%' OR omschrijving like '%""&sQRY&""%' OR type like '%""&sQRY&""%' OR notitie like '%""&sQRY&""%' OR bestand like '%""&sQRY&""%' ORDER BY datum", oConn, adOpenStatic, adLockReadOnly  
%>

Ok dus bovenstaand stukje code ZOEKT door tabel contact naar een stukkie tekst wat ik in een form invoer om te zoeken.
Gebruik ik dus '%""&sQRY&""%' (zie de dubbele ") om ervoor te zorgen dat de escape characters geen problemen veroorzaken voor de query, maar nu vindt ie dus niks meer.
Als ik nu '%"&sQRY&"%' <-- zonder dubbele " gebruik dan vindt ie dus wel weer de info die ik zoek, alleen kan je weer de query lopen verkloten. :?

- Ruud


  • [ti]
  • Registratie: Februari 2000
  • Niet online
uh, je hebt het niet helemaal goed begrepen. Je moet sQRY door gaan zoeken op quotes, endeze gaan vervangen door dubbele. (En evt. andere karakters die de query zouden kunnen verkloten escapen/vervangen)

  • Zaagmans
  • Registratie: Januari 2000
  • Laatst online: 16-07 21:13
heeh aha, dus eerst met VB/jscript door de string heen en dan pas in de query klatsen? Ik zal ff kijken.

- Ruud


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op maandag 26 november 2001 11:43 schreef [ti] het volgende:
Ik ken geen databases die daardoor 2 queries zouden uitvoeren. Ik vraag me dan ook af wat voor result set ze dan terug willen gaan geven. Het lijkt mij dan ook nogal niet erg 'standaard' om zoiets te ondersteunen en ook erg ongewilt. Zijn er databases die dit wel toestaan dan?
Elke database waarmee je multiple commands mee kan geven. (o.a. Oracle) en het is juist ERG standaard, aangezien het een onderdeel is van de SQL definitie.

Het gaat er niet om wat voor resultset ze teruggeven, dit zijn er namelijk twee. Alleen in een programmeertaal zou je daar problemen mee hebben. het gaat erom dat de tweede query wordt uitgevoerd. (Bijvoorbeeld voor een drop of delete query...)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op maandag 26 november 2001 13:04 schreef dusty het volgende:
(Bijvoorbeeld voor een drop of delete query...)
>:)

Volgens mij heb jij (of iemand anders) ook al eens een stukje query neergegooid die als het niet wordt afgevangen, ervoor zorgt dat je onder iedere willekeurige naam kan inloggen. Ook niet zo prettig trouwens :P
Kortom, ; gewoon vervangen door niets, krijg je hooguit nog een error tijdens het uitvoeren van de query...

Exact expert nodig?


  • [ti]
  • Registratie: Februari 2000
  • Niet online
Crazy_D: Volgens mij heb jij (of iemand anders) ook al eens een stukje query neergegooid die als het niet wordt afgevangen, ervoor zorgt dat je onder iedere willekeurige naam kan inloggen. Ook niet zo prettig trouwens :P
Kortom, ; gewoon vervangen door niets, krijg je hooguit nog een error tijdens het uitvoeren van de query...
Dat was ik, dat was met een codebase probeersel van D2k geloof ik. Was wel een ander probleem als een ; niet escapen. (was trouwens in [topic=291785/1/999] dat topic)

Dusty: ik heb verder weinig ervaring met Oracle (en al helemaal niet icm script talen), ik ga dadelijk es ff klooien op de oracle bak hier om te kijken wat voor effect zo'n ; in een query heeft daar.

  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Wat dacht je van : xp_cmdshell 'format/q c:' op MsSqlserver :)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

naken -> maken ;)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op maandag 26 november 2001 13:37 schreef wasigh het volgende:
naken -> maken ;)
save= safe :P

Doet iets met Cloud (MS/IBM)


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

:X ;)

  • [ti]
  • Registratie: Februari 2000
  • Niet online
Insider jokes ofzo? :)

[nog verder ot]
btw d2k, ooit dat topic nog gezien wat ik gemaakt had over php secure proggen?
[/nog verder ot]

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

<ot="volledig">
Op maandag 26 november 2001 13:43 schreef wasigh het volgende:
:X ;)
mierenneuken is my middle name
Op maandag 26 november 2001 13:44 schreef [ti] het volgende:
Insider jokes ofzo? :)

[nog verder ot]
btw d2k, ooit dat topic nog gezien wat ik gemaakt had over php secure proggen?
[/nog verder ot]
nee niet gezien?
als je een url hebt voor me graag
</ot>

Doet iets met Cloud (MS/IBM)


  • [ti]
  • Registratie: Februari 2000
  • Niet online
UTFS ;) :+ [topic=294247/1/999]

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op maandag 26 november 2001 13:53 schreef [ti] het volgende:
UTFS ;) :+ [topic=294247/1/999]
hmmz heel dat topic nooit gezien
tnx iig :)

ik heb um al gebookmarked :)

Doet iets met Cloud (MS/IBM)

Pagina: 1