Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

JDBC sql injection problem

[es] :: Baze podataka :: JDBC sql injection problem

[ Pregleda: 762 | Odgovora: 2 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

aleksandarco

Član broj: 101447
Poruke: 6
62.162.192.*



Profil

icon JDBC sql injection problem14.07.2006. u 09:02

Stranata na koj sto sakam da izvrsam sql injection koristi: javax.servlet.ServletException: [Microsoft][SQLServer JDBC Driver].

So 'having 1=1-- gi listam kolonite, ima tri dbo.Korisnik.ID, dbo.Korisnik.Ime i dbo.Korisnik.Prezime. E sega od kolonata "Ime" sakam da go najdam imeto koe e reden broj 120. Koga ke pisam:

' union select Ime from dbo.Korisnik where Korisnik.ID = '120'--

go javuva slednovo predupreduvanje:

"All queries in an SQL statement containing a UNION operator must have an equal number of expressions in their target lists".

Kade pravam greska dali SQL Injection kaj JDBC zahteva drugi pravila za razlika od ODBC.
14.07.2006. u 09:02 

aleksandarco

Član broj: 101447
Poruke: 6
62.162.196.*



Profil

icon Re: JDBC sql injection problem26.07.2006. u 12:09
Dajte bilo kakov odgovor
26.07.2006. u 12:09 

amladjo
Mladen Arbutina
programer, OmniaSoft
Novi Sad

Član broj: 30160
Poruke: 47
*.ptt.yu.



Profil

icon Re: JDBC sql injection problem26.07.2006. u 13:09
Malo je nejasno šta želiš da uradiš. Imam osećaj da potpuno pogrešno koristiš UNION operator.
Greška koju dobijaš je jasna, ne možeš koristi UNION operator ako broj polja u svakoj pojedinačnoj select komandi nije isti.
Ako želiš da dobiješ ime korisnika čiji ID je '120' jednostavno radiš select bez union:
Code:
select Ime from Korisnik where ID='120'

JDBC i ODBC se (po mom iskustvu) ne razlikuju u SQL sintaksi za isti konkretan driver (SQL Server).
26.07.2006. u 13:09 

[es] :: Baze podataka :: JDBC sql injection problem

[ Pregleda: 762 | Odgovora: 2 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.