Justin Clarke Lead Author and Technical Editor Rodrigo Marcos Alvarez Dave Hartley Joseph Hemler Alexander Kornbrust Haroon Meer Gary O’Leary-Steele Alberto Revelli Marco Slaviero Dafydd Stuttard



Download 6,54 Mb.
Pdf ko'rish
bet61/64
Sana12.07.2022
Hajmi6,54 Mb.
#784293
1   ...   56   57   58   59   60   61   62   63   64
Bog'liq
SQL Injection Attacks and Defense.pdf ( PDFDrive )

50
 
Chapter 2 • Testing for SQL Injection
ORA-01756: quoted string not properly terminated
System.Web.HttpUnhandledException: Exception of type
'System.Web.HttpUnhandledException' was thrown. --->
System.Data.OleDb.OleDbException: ORA-01756: quoted string not properly
terminated
The PHP function 
ociparse( )
is used to prepare an Oracle statement for execution. Here 
is an example of the error generated by the PHP engine when the function fails:
Warning: ociparse() [function.ociparse]: ORA-01756: quoted string not
properly terminated in /var/www/victim.com/ocitest.php on line 31
If the 
ociparse( )
function fails and the error is not handled, the application may show 
some other errors as a consequence of the first failure. This is an example:
Warning: ociexecute(): supplied argument is not a valid OCI8-Statement
resource in c:\www\victim.com\oracle\index.php on line 31
As you read this book, you will see that sometimes the success of an attack depends on 
the information disclosed by the database server. Let’s examine the following error:
java.sql.SQLException: ORA-00907: missing right parenthesis
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at
oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) at
oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582) at
oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)
The database reports that there is a 
missing right parenthesis
in the SQL statement.
This error can be returned for a number of reasons. A very typical situation of this is 
presented when an attacker has some kind of control in a nested SQL statement.
For example:
SELECT field1, field2, /* Select the first and second fields*/
(SELECT field1 /* Start subquery */
FROM table2
WHERE something = [attacker controlled variable]) /* End subquery */
as field3 /* result from subquery */
FROM table1
The preceding example shows a nested subquery. The main 
SELECT
executes another 
SELECT
enclosed in parentheses. If the attacker injects something in the second query and 
comments out the rest of the SQL statement, Oracle will return a 
missing right parenthesis
error.



Download 6,54 Mb.

Do'stlaringiz bilan baham:
1   ...   56   57   58   59   60   61   62   63   64




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish