Provajder ti to nece dozvoliti.
ASP aplikacija i zastita od SQL injectiona
Zaključano
Zakačeno
Upravo tako - sem ako nemate svoj Web server(proveravao sam, oko 1000 evra kosta server housing kod vecine provajdera). Do tad ostaje validacija kroz ASP skripte...
Citat:
Shadowed: Provajder ti to nece dozvoliti.
To je druga tema, ali tvoja rupa otvara pristup njegovom sql serveru pa se vrlo lepo mogu videti njegovi useri, objekti u master bazi i sl.
Koliko je to reklama za provajdera ne znam....
Cinjenica je da su oni userima ogranicili prava, ali znam svoj username i svoj pass. Znam ostale username-ove. Ne moram da brute-forcujem njih, mozda su password dodelili na osnovu username-a koji, btw, posetilac sajta ne bi trebalo da vidi ni moj username.
Tu su i linkovani serveri ako ih ima ( a mogu se videti ) .....
Ja sam nabasao na 1452 baze kod jednog stranog provajdera, i nesto vise usernamova (ima ih vise jer su tu i sistemski) samo testirajuci sajt svog prijatelja koji je jedan od tih 1452.
Kazem, to sto oni ne dozvoljavaju, to je njihov problem.
Cinjenica je da mora da se startuje regsvr32....
Ajd, odgovorite, kako na svom, intranet webserveru, da uradim .dll i da ga postavim.
Pavlov kod je sasvim OK, i ono sto bi u n.pr. VB6 trebalo uradim nije nikakva mudrost, ali STA DA KUCAM U GLOBAL.ASA ?
izmenjeno 2 puta, poslednji put vujkev 18.11.2005. u 02:10
Izmene poruke
- vujkev18.11.2005. u 02:10zapis iz teksta poruke
- vujkev18.11.2005. u 02:09zapis iz teksta poruke
Čitam ovo i na prvi pogled delovalo je interesantno i da može da se upotrebi, ali onda mi je palo na pamet čemu sve ovo ?? Nigde ne mogu da napišem "Select" kao parametar?Šta ako pišem na engleskom pa mi treba ta reč?
"Please select your country"
Pročitao sam par tekstova na ovu temu i koliko sam video sve se svodi na to da se prekine izvršavanje zadate naredbe i da se ubaci svoja kao npr.
i ako se kao param1 posalje
bezveze' ; drop table tabela1
nastane haos (možda je glup primer, ali shvatate)
Ali ako se onaj kod malo ispravi da bude ovakav
... koliko sam upoznat ovo bi trebalo da radi bez greške šta god da se upiše kao parametar koji se salje na stranicu
ili ako se očekuje broj
Da li se varam ili je ovo najbolja zaštita od SQL injectiona?
Citat:
"Please select your country"
Pročitao sam par tekstova na ovu temu i koliko sam video sve se svodi na to da se prekine izvršavanje zadate naredbe i da se ubaci svoja kao npr.
Code:
Param1 = request("param1")
db.execute "Select * from tabela1 where ime like '" & Param1 &"'"
Param1 = request("param1")
db.execute "Select * from tabela1 where ime like '" & Param1 &"'"
i ako se kao param1 posalje
Citat:
bezveze' ; drop table tabela1
nastane haos (možda je glup primer, ali shvatate)
Ali ako se onaj kod malo ispravi da bude ovakav
Code:
Param1 = request("param1")
Param1 = Replace(Param1, "'", "''")
db.execute "Select * from tabela1 where ime like '" & Param1 &"'"
Param1 = request("param1")
Param1 = Replace(Param1, "'", "''")
db.execute "Select * from tabela1 where ime like '" & Param1 &"'"
... koliko sam upoznat ovo bi trebalo da radi bez greške šta god da se upiše kao parametar koji se salje na stranicu
ili ako se očekuje broj
Code:
Param1 = request("param1")
if Isnumeric(Param1) = True then
db.execute "Select * from tabela1 where ID =" & Param1
end if
Param1 = request("param1")
if Isnumeric(Param1) = True then
db.execute "Select * from tabela1 where ID =" & Param1
end if
Da li se varam ili je ovo najbolja zaštita od SQL injectiona?
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Da je važnije biti ljubazan nego biti u pravu
Ne postoji najbolja zastita ali je to sto si naveo i sl. potrebno uraditi. Validacija podataka je vrlo pozeljna stvar, nezavisno od SQL injaction-a.
Evo definitivno najbolje konstrukcije u VB u za validaciju numeric inputa, ujedno i zastita od SQL injecta:
for i=1 to Len(Broj)
if Mid(Broj,i,1) < "0" or Mid(Broj,i,1) >"9" then
<<prijavi gresku>>
end if
next
pozdrav
for i=1 to Len(Broj)
if Mid(Broj,i,1) < "0" or Mid(Broj,i,1) >"9" then
<<prijavi gresku>>
end if
next
pozdrav
Ili IsNumeric(Broj) ;)
izmenjeno 1 put, poslednji put branimir.ts 18.11.2005. u 15:33
Izmene poruke
- branimir.ts18.11.2005. u 15:33zapis iz teksta poruke
DA li si siguran da ce bas u svim slucajevima isNumeric vratiti ispravnu vrednost?
Hmm...ne volim bas toliko da verujem MS ovim Vb funkcijama tipa IsNumeric ,Cstr, VAl itd.
npr. isNumeric("123 ") vraca True, a da li je to zaista tacno?
Ja sam ipak pristalica "defanzivnog programiranja".
Pozdrav
Hmm...ne volim bas toliko da verujem MS ovim Vb funkcijama tipa IsNumeric ,Cstr, VAl itd.
npr. isNumeric("123 ") vraca True, a da li je to zaista tacno?
Ja sam ipak pristalica "defanzivnog programiranja".
Pozdrav
izmenjeno 1 put, poslednji put mladenovicz 18.11.2005. u 15:41
Izmene poruke
- mladenovicz18.11.2005. u 15:41zapis iz teksta poruke
Citat:
branimir.ts:
npr. isNumeric("123 ") vraca True, a da li je to zaista tacno?
npr. isNumeric("123 ") vraca True, a da li je to zaista tacno?
Citat:
MSDN:
IsNumeric Function
Returns a Boolean value indicating whether an expression can be evaluated as a number.
IsNumeric Function
Returns a Boolean value indicating whether an expression can be evaluated as a number.
Potpis
Citat:
Citat:
MSDN:
IsNumeric Function
Returns a Boolean value indicating whether an expression can be evaluated as a number.
Znaci, po njima je i &h20 numeric?
Citat:
branimir.ts: Znaci, po njima je i &h20 numeric?
Ne, nego can be evaluated as a number.
Potpis
izmenjeno 1 put, poslednji put branimir.ts 18.11.2005. u 16:34
Izmene poruke
- branimir.ts18.11.2005. u 16:34zapis iz teksta poruke
Can be evaluated as ... (SQL Injection String?).
Pozdrav
Pozdrav