28.10.2014 Views

SQL Injection Attacks and Defense - 2009

SQL Injection Attacks and Defense - 2009

SQL Injection Attacks and Defense - 2009

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

460 Index<br />

blind <strong>SQL</strong> injection techniques (Continued)<br />

SUBSTRING( ) function, 228–229<br />

transact-<strong>SQL</strong>, 233<br />

integer value, 234<br />

Bobcat, 211–212<br />

B<strong>SQL</strong><br />

active session, 212–213<br />

databases, 212<br />

remote database, 214<br />

built-in stored procedures, 343<br />

bulk copy program (BCP), 296<br />

bypassing input validation filters<br />

HTTP encoding, 442–443<br />

quote filters, 440–442<br />

C<br />

C# applications<br />

coding behavior recognition, 104–105<br />

dangerous funtions, 108–109<br />

data process, 115–116<br />

CAT.NET. See Microsoft code analysis<br />

tool .NET<br />

channels<br />

database connections<br />

OPENROWSET comm<strong>and</strong>,<br />

250–251<br />

transmission control protocol<br />

(TCP), 250<br />

DNS exfiltration<br />

advantages, 251<br />

GET_HOST function, 252<br />

stored procedure, 254–255<br />

universal naming convention<br />

(UNC), 253<br />

VARBINARY parameter, 254<br />

xp_cmdshell procedure, 252<br />

zone attacker.com, 255<br />

E-mail exfiltration, 255–256<br />

HTTP exfiltration<br />

HTTPURITYPE package, 256<br />

Oracle function, 256–257<br />

ORDER BY clause, 258<br />

CLR. See Microsoft common language<br />

runtime<br />

CMS. See content management system<br />

code-level defenses<br />

application program interfaces<br />

(APIs), 342<br />

canonicalization approaches<br />

ASCII equivalents, 364<br />

framework, 365<br />

input normalization, 364<br />

input validty, 365<br />

normalization process, 364<br />

design techniques<br />

avoiding obvious object names, 369–370<br />

database honeypots, 370–371<br />

h<strong>and</strong>ling sensitive data, 368–369<br />

secure development resources, 371–372<br />

using abstraction layers, 367<br />

using stored procedures, 366–367<br />

encoding output, database, 355–392<br />

Java database connectivity (JDBC), 344<br />

parameterized statements<br />

.NET (C#), 345–347<br />

advantage, 342<br />

dynamic string building, 342–343<br />

Java, 344–345<br />

PHP, 347–348<br />

PL/<strong>SQL</strong>, 348–349<br />

statements, 343–344<br />

secure coding, 342<br />

validating input<br />

.NET, 354<br />

blacklisting, 351–352<br />

Java, 353–354<br />

PHP, 354–355<br />

whitelisting, 349–351<br />

COLUMN privileges, 181–183<br />

common language runtime (CLR), 286–288

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!