<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: SQL Injection</title>
	<atom:link href="http://sqlinthewild.co.za/index.php/2008/05/07/sql-injection/feed/" rel="self" type="application/rss+xml" />
	<link>http://sqlinthewild.co.za/index.php/2008/05/07/sql-injection/</link>
	<description>A discussion on SQL Server</description>
	<lastBuildDate>Mon, 14 May 2012 23:51:41 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Gail</title>
		<link>http://sqlinthewild.co.za/index.php/2008/05/07/sql-injection/comment-page-1/#comment-56</link>
		<dc:creator>Gail</dc:creator>
		<pubDate>Fri, 30 May 2008 15:04:43 +0000</pubDate>
		<guid isPermaLink="false">http://sqlinthewild.co.za/index.php/2008/05/07/sql-injection/#comment-56</guid>
		<description>Indeed and I do not ever recommend that key word filtering is used as the sole method of preventing injection. As this recent attack showed, there are ways and means around it.

Proper use of parametrised queries and procedures and proper security permissions would have stopped even this attack.

With parametrised queries, the additional add-on of SQL does not get executed as a separate query, buy gets treated as a string literal. Worst case, you end up with SQL code been stored in the table, but it won&#039;t get executed.

If the web user has no rights to the base tables, an attack like the recent one would have failed to even retrieve the list of tables (on SQL 2005). It certainly would have failed to execute the update.

I&#039;ll write another article on injection sometime soon, this time focused on how to prevent it from working.

p.s. Nice to see you here Dion.</description>
		<content:encoded><![CDATA[<p>Indeed and I do not ever recommend that key word filtering is used as the sole method of preventing injection. As this recent attack showed, there are ways and means around it.</p>
<p>Proper use of parametrised queries and procedures and proper security permissions would have stopped even this attack.</p>
<p>With parametrised queries, the additional add-on of SQL does not get executed as a separate query, buy gets treated as a string literal. Worst case, you end up with SQL code been stored in the table, but it won&#8217;t get executed.</p>
<p>If the web user has no rights to the base tables, an attack like the recent one would have failed to even retrieve the list of tables (on SQL 2005). It certainly would have failed to execute the update.</p>
<p>I&#8217;ll write another article on injection sometime soon, this time focused on how to prevent it from working.</p>
<p>p.s. Nice to see you here Dion.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dion</title>
		<link>http://sqlinthewild.co.za/index.php/2008/05/07/sql-injection/comment-page-1/#comment-55</link>
		<dc:creator>Dion</dc:creator>
		<pubDate>Fri, 30 May 2008 09:07:40 +0000</pubDate>
		<guid isPermaLink="false">http://sqlinthewild.co.za/index.php/2008/05/07/sql-injection/#comment-55</guid>
		<description>Hi, I don&#039;t disagree that many sites are poorly constructed to handle basic SQL injection attacks. However the problem with the latest epidemic was due to the maliciously ingenious use of a cast operator:

DECLARE @S VARBINARY(4000);SET @S=CAST(0x440045004300
   4C00410052004500200040005400200076006100720063006800610072
   00280032003500350029002C0040004300200076006100720063006800
   610072002800320035003500290020004400450043004C004100520045...

This resolves to SQL syntax, but none of the usual flags are triggerd. Quite sneaky.

-D

&lt;em&gt;(Editor: Cleaned up the sql syntax to be legible)&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Hi, I don&#8217;t disagree that many sites are poorly constructed to handle basic SQL injection attacks. However the problem with the latest epidemic was due to the maliciously ingenious use of a cast operator:</p>
<p>DECLARE @S VARBINARY(4000);SET @S=CAST(0&#215;440045004300<br />
   4C00410052004500200040005400200076006100720063006800610072<br />
   00280032003500350029002C0040004300200076006100720063006800<br />
   610072002800320035003500290020004400450043004C004100520045&#8230;</p>
<p>This resolves to SQL syntax, but none of the usual flags are triggerd. Quite sneaky.</p>
<p>-D</p>
<p><em>(Editor: Cleaned up the sql syntax to be legible)</em></p>
]]></content:encoded>
	</item>
</channel>
</rss>

