[ aleksandarco @ 14.07.2006. 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.
[ aleksandarco @ 26.07.2006. 12:09 ] @
Dajte bilo kakov odgovor
[ amladjo @ 26.07.2006. 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).