|
Web Application Security
Fwd: PHP Easter Eggs Nov 28 2004 01:21PM Andi McLean (andi_mclean ntlworld com) (6 replies) Re: PHP Easter Eggs Nov 30 2004 04:12AM Serban Gh. Ghita (serban verasys ro) (2 replies) Re: Fwd: PHP Easter Eggs Nov 29 2004 04:17PM Saqib N Ali seagate com (2 replies) Re: Fwd: PHP Easter Eggs Nov 30 2004 08:53AM exon (exon home se) (2 replies) Re: PHP Easter Eggs Nov 30 2004 06:24PM Paul Fierro (pablo nothing com) (2 replies) Re: PHP Easter Eggs Dec 02 2004 04:35AM Jimi Thompson (jimi thompson gmail com) (4 replies) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (6 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/> <br/> Quite interesting.<br/> But I couldn't get it work.<br/> <br/> It works fine on query analyser,<br/> but it didn't work when I try it on the application side (on the browser).<br/> (I used %0d%0a for the newline character)<br/> <br/> May be it depends on the version of MSSQL or the service pack etc.<br/> Could you tell us the version of the MSSQL on your side.<br/> <br/> Thanks,<br/> ---<br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/> <br/> -----Original Message-----<br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/> Sent: Friday, December 10, 2004 12:53 AM<br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/> Subject: SQL injection (no single quotes used)<br/> <br/> Hi all<br/> <br/> While in Oracle escaping apostrophe (') character<br/> seems to be enough protection for Sql Injection (I<br/> think is not), this is not true for Sql Server. Here a<br/> little example I think many of you will find useful.<br/> <br/> For an on-the-fly query like:<br/> Query = "select field1, field2... from table where id<br/> = '" + FixSQL (FieldValue) + "'"<br/> <br/> Where FixSQL will escape single quotes AKA apostrophe,<br/> the following value for "FieldValue" will be<br/> effective:<br/> <br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/> Sentence(NewLine)GO"<br/> <br/> Final result is:<br/> select field1, field2... from table where id = '<br/> GO<br/> Desired Sql Sentence<br/> GO<br/> '<br/> <br/> Here the MS Documentation for GO Keyword:<br/> <snip><br/> SQL Server utilities interpret GO as a signal that<br/> they should send the current batch of Transact-SQL<br/> statements to SQL Server. The current batch of<br/> statements is composed of all statements entered since<br/> the last GO, or since the start of the ad hoc session<br/> or script if this is the first GO<br/> </snip><br/> <br/> So one sentence become three, sentences one and three<br/> will fail, but sentence two (the one of our interest)<br/> will execute successfully.<br/> <br/> Hope you find this interesting<br/> <br/> Cheers,<br/> -JC<br/> <br/> _________________________________________________________<br/> Do You Yahoo!?<br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (4 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) Re: PHP Easter Eggs Dec 02 2004 04:35AM Jimi Thompson (jimi thompson gmail com) (4 replies) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (4 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (6 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/> <br/><br/> Quite interesting.<br/><br/> But I couldn't get it work.<br/><br/> <br/><br/> It works fine on query analyser,<br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/> (I used %0d%0a for the newline character)<br/><br/> <br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/> <br/><br/> Thanks,<br/><br/> ---<br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/> <br/><br/> -----Original Message-----<br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/> Subject: SQL injection (no single quotes used)<br/><br/> <br/><br/> Hi all<br/><br/> <br/><br/> While in Oracle escaping apostrophe (') character<br/><br/> seems to be enough protection for Sql Injection (I<br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/> little example I think many of you will find useful.<br/><br/> <br/><br/> For an on-the-fly query like:<br/><br/> Query = "select field1, field2... from table where id<br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/> <br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/> the following value for "FieldValue" will be<br/><br/> effective:<br/><br/> <br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/> Sentence(NewLine)GO"<br/><br/> <br/><br/> Final result is:<br/><br/> select field1, field2... from table where id = '<br/><br/> GO<br/><br/> Desired Sql Sentence<br/><br/> GO<br/><br/> '<br/><br/> <br/><br/> Here the MS Documentation for GO Keyword:<br/><br/> <snip><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/> they should send the current batch of Transact-SQL<br/><br/> statements to SQL Server. The current batch of<br/><br/> statements is composed of all statements entered since<br/><br/> the last GO, or since the start of the ad hoc session<br/><br/> or script if this is the first GO<br/><br/> </snip><br/><br/> <br/><br/> So one sentence become three, sentences one and three<br/><br/> will fail, but sentence two (the one of our interest)<br/><br/> will execute successfully.<br/><br/> <br/><br/> Hope you find this interesting<br/><br/> <br/><br/> Cheers,<br/><br/> -JC<br/><br/> <br/><br/> _________________________________________________________<br/><br/ > Do You Yahoo!?<br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/> <br/><br/><br/> Quite interesting.<br/><br/><br/> But I couldn't get it work.<br/><br/><br/> <br/><br/><br/> It works fine on query analyser,<br/><br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/> <br/><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/> <br/><br/><br/> Thanks,<br/><br/><br/> ---<br/><br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/> <br/><br/><br/> -----Original Message-----<br/><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/> <br/><br/><br/> Hi all<br/><br/><br/> <br/><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/> <br/><br/><br/> For an on-the-fly query like:<br/><br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/> <br/><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/> the following value for "FieldValue" will be<br/><br/><br/> effective:<br/><br/><br/> <br/><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/> Sentence(NewLine)GO"<br/><br/><br/> <br/><br/><br/> Final result is:<br/><br/><br/> select field1, field2... from table where id = '<br/><br/><br/> GO<br/><br/><br/> Desired Sql Sentence<br/><br/><br/> GO<br/><br/><br/> '<br/><br/><br/> <br/><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/> <snip><br/><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/> statements is composed of all statements entered since<br/><br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/> or script if this is the first GO<br/><br/><br/> </snip><br/><br/><br/> <br/><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/> will execute successfully.<br/><br/><br/> <br/><br/><br/> Hope you find this interesting<br/><br/><br/> <br/><br/><br/> Cheers,<br/><br/><br/> -JC<br/><br/><br/> <br/><br/><br/> _________________________________________________________<br/>< br/<br/> ><br/> Do You Yahoo!?<br/><br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) Re: PHP Easter Eggs Nov 30 2004 06:24PM Paul Fierro (pablo nothing com) (2 replies) Re: PHP Easter Eggs Dec 02 2004 04:35AM Jimi Thompson (jimi thompson gmail com) (4 replies) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (4 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (6 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/> <br/><br/><br/><br/> Quite interesting.<br/><br/><br/><br/> But I couldn't get it work.<br/><br/><br/><br/> <br/><br/><br/><br/> It works fine on query analyser,<br/><br/><br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/> <br/><br/><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/> <br/><br/><br/><br/> Thanks,<br/><br/><br/><br/> ---<br/><br/><br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/> <br/><br/><br/><br/> -----Original Message-----<br/><br/><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/> <br/><br/><br/><br/> Hi all<br/><br/><br/><br/> <br/><br/><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/> <br/><br/><br/><br/> For an on-the-fly query like:<br/><br/><br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/> <br/><br/><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/> effective:<br/><br/><br/><br/> <br/><br/><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/> Sentence(NewLine)GO"<br/><br/><br/><br/> <br/><br/><br/><br/> Final result is:<br/><br/><br/><br/> select field1, field2... from table where id = '<br/><br/><br/><br/> GO<br/><br/><br/><br/> Desired Sql Sentence<br/><br/><br/><br/> GO<br/><br/><br/><br/> '<br/><br/><br/><br/> <br/><br/><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/> <snip><br/><br/><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/> statements is composed of all statements entered since<br/><br/><br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/> or script if this is the first GO<br/><br/><br/><br/> </snip><br/><br/><br/><br/> <br/><br/><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/> will execute successfully.<br/><br/><br/><br/> <br/><br/><br/><br/> Hope you find this interesting<br/><br/><br/><br/> <br/><br/><br/><br/> Cheers,<br/><br/><br/><br/> -JC<br/><br/><br/><br/> <br/><br/><br/><br/> _________________________________________________________<br/>< <br/> br/<br/><br/> ><br/><br/> Do You Yahoo!?<br/><br/><br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> Quite interesting.<br/><br/><br/><br/><br/> But I couldn't get it work.<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> It works fine on query analyser,<br/><br/><br/><br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> Thanks,<br/><br/><br/><br/><br/> ---<br/><br/><br/><br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> -----Original Message-----<br/><br/><br/><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> Hi all<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/> effective:<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/> Sentence(NewLine)GO"<br/><br/><br/><br/><br /> <br/><br/><br/><br/><br/> Final result is:<br/><br/><br/><br/><br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/> Desired Sql Sentence<br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/> '<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/> <snip><br/><br/><br/><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/> statements is composed of all statements entered since<br/><br/><br/><br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/> or script if this is the first GO<br/><br/><br/><br/><br/> </snip><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/> will execute successfully.<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> Hope you find this interesting<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> Cheers,<br/><br/><br/><br/><br/> -JC<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> _________________________________________________________<br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) Re: PHP Easter Eggs Dec 02 2004 04:35AM Jimi Thompson (jimi thompson gmail com) (4 replies) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (6 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> Quite interesting.<br/><br/><br/><br/><br/><br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> Thanks,<br/><br/><br/><br/><br/><br/> ---<br/><br/><br/><br/><br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/><br /> <br/><br/><br/><br/><br/><br/> -----Original Message-----<br/><br/><br/><br/><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> Hi all<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/><br/ > <br/><br/><br/><br/><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/> effective:<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;br<br/> /><br/> <br/><br/><br/><br/><br/><br/> Final result is:<br/><br/><br/><br/><br/><br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/> Desired Sql Sentence<br/><br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/> '<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/> <snip><br/><br/><br/><br/><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/> statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/> </snip><br/><br/><br/><br/><br/><br/ > <br/><br/><br/><br/><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/> will execute successfully.<br/><br/><br/><br/><br/><br/ > <br/><br/><br/><br/><br/><br/> Hope you find this interesting<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> Cheers,<br/><br/><br/><br/><br/><br/> -JC<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/><br/ > <br/><br/><br/><br/><br/><br/><br/> Quite interesting.<br/><br/><br/><br/><br/><b r/><br/> <br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/>< br/> <br/><br/><br/><br/><br/><br/><br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/& gt;<br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/& gt;<br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/ ><br/> <br/><br/><br/><br/><br/><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/><b r/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/>< br/> <br/><br/><br/><br/><br/><br/><br/> Thanks,<br/><br/><br/><br/><br/><br/> ;<br/> ---<br/><br/><br/><br/><br/><br/><br /> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/>< ;br<br/> /><br/> <br/><br/><br/><br/><br/><br/><br/> -----Original Message-----<br/><br/><br/><br/><br/><b r/><br/> <br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br /><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/><br/ > To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/ ><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/>< br/> <br/><br/><br/><br/><br/><br/><br/> Hi all<br/><br/><br/><br/><br/><br/><br /> <br/><br/><br/><br/><br/><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/& gt;<br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/><br/ > think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> ;<br/> <br/><br/><br/><br/><br/><br/><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/>< br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/><br/ > = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/>< br/<br/> ><br/> <br/><br/><br/><br/><br/><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br /><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/><br/ > effective:<br/><br/><br/><br/><br/><br/ ><br/> <br/><br/><br/><br/><br/><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/><br /> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> <br/><br/><br/><br/><br/><br/><br/> Final result is:<br/><br/><br/><br/><br/><br/><br /> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/><br/ > Desired Sql Sentence<br/><br/><br/><br/><br/><br/&g t;<br/> GO<br/><br/><br/><br/><br/><br/><br/ > '<br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/&g t;<br/> <snip><br/><br/><br/><br/><br/><b r/><br/> <br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/><b r/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><b r/><br/> <br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/><br/ > statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/>< br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> ;<br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/><br/ > </snip><br/><br/><br/><br/><br/>< br/<br/> ><br/> <br/><br/><br/><br/><br/><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/>< br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/& gt;<br/> will execute successfully.<br/><br/><br/><br/><br/>< br/<br/> ><br/> <br/><br/><br/><br/><br/><br/><br/> Hope you find this interesting<br/><br/><br/><br/><br/><br /><br/> <br/><br/><br/><br/><br/><br/><br/> Cheers,<br/><br/><br/><br/><br/><br/> ;<br/> -JC<br/><br/><br/><br/><br/><br/><br /> <br/><br/><br/><br/><br/><br/><br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> ;<br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/& gt;<br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (4 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) Re: Fwd: PHP Easter Eggs Nov 30 2004 08:53AM exon (exon home se) (2 replies) Re: PHP Easter Eggs Nov 30 2004 06:24PM Paul Fierro (pablo nothing com) (2 replies) Re: PHP Easter Eggs Dec 02 2004 04:35AM Jimi Thompson (jimi thompson gmail com) (4 replies) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (6 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> <br/><br/><br/><br/><br/><br/><br /><br/> Quite interesting.<br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/& amp;<br/> gt;<br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/& amp;<br/> gt;<br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/ <br/> ><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> Thanks,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ---<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> -----Original Message-----<br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br <br/> /><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/ <br/> ><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> Hi all<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> <br/><br/><br/><br/><br/><br/><br /><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/& amp;<br/> gt;<br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br <br/> /><br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> effective:<br/><br/><br/><br/><br/><br/ <br/> ><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;br<br/><br/><br/> /><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> Final result is:<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> GO<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> Desired Sql Sentence<br/><br/><br/><br/><br/><br/&a mp;g<br/> t;<br/><br/> GO<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> '<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> <br/><br/><br/><br/><br/><br/><br /><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/&a mp;g<br/> t;<br/><br/> <snip><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> </snip><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/& amp;<br/> gt;<br/><br/> will execute successfully.<br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> Hope you find this interesting<br/><br/><br/><br/><br/><br <br/> /><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> Cheers,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> -JC<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> <br/><br/><br/><br/><br/><br/><br /><br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/& amp;<br/> gt;<br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> Quite interesting.<br/><br/><br/><br/><br/><b <br/> <br/><br/> r/><br/><br/><br/> <br/><br/><br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> gt;<br/><br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> gt;<br/><br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> ><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/>&a mp;l<br/> t;b<br/><br/> r/><br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> Thanks,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ---<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;br<br/><br/><br/> /><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> -----Original Message-----<br/><br/><br/><br/><br/><b <br/> <br/><br/> r/><br/><br/><br/> <br/><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> ><br/><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> Hi all<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> gt;<br/><br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> effective:<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> ><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;br<br/><br/><br/><br/> /><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> Final result is:<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> Desired Sql Sentence<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;g<br/><br/> t;<br/><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> '<br/><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;g<br/><br/> t;<br/><br/><br/> <snip><br/><br/><br/><br/><br/><b <br/> <br/><br/> r/><br/><br/><br/> <br/><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/>&a mp;l<br/> t;b<br/><br/> r/><br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><b <br/> <br/><br/> r/><br/><br/><br/> <br/><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> </snip><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> gt;<br/><br/><br/> will execute successfully.<br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> Hope you find this interesting<br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> Cheers,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> -JC<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> gt;<br/><br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (4 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) Re: PHP Easter Eggs Dec 02 2004 04:35AM Jimi Thompson (jimi thompson gmail com) (4 replies) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (4 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (6 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> Quite interesting.<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> r/><br/><br/><br/><br/> <br/><br/><br/><br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> lt;<br/><br/><br/> br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> gt;<br/><br/><br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> gt;<br/><br/><br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> ><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;l<br/><br/> t;b<br/><br/><br/> r/><br/><br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> lt;<br/><br/><br/> br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> Thanks,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ---<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;br<br/><br/><br/> /><br/><br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;br<br/><br/><br/><br/> /><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> -----Original Message-----<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> r/><br/><br/><br/><br/> <br/><br/><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> ><br/><br/><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> lt;<br/><br/><br/> br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> Hi all<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;br<br/><br/><br/> /><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> gt;<br/><br/><br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> r/><br/><br/><br/> <br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> lt;<br/><br/><br/> br/><br/><br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> effective:<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> ><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;br<br/><br/><br/> /><br/><br/><br/> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> Final result is:<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;br<br/><br/><br/> /><br/><br/><br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> r/><br/><br/><br/> <br/><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> Desired Sql Sentence<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;g<br/><br/><br/> t;<br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> r/><br/><br/><br/> <br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;g<br/><br/><br/> t;<br/><br/><br/><br/> <snip><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> r/><br/><br/><br/><br/> <br/><br/><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;l<br/><br/> t;b<br/><br/><br/> r/><br/><br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> r/><br/><br/><br/><br/> <br/><br/><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> lt;<br/><br/><br/> br/><br/><br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> br/<br/><br/><br/> ><br/><br/><br/> </snip><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> lt;<br/><br/><br/> br/><br/><br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> gt;<br/><br/><br/><br/> will execute successfully.<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> Hope you find this interesting<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> Cheers,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> -JC<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;br<br/><br/><br/> /><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> gt;<br/><br/><br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> Quite interesting.<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> lt;<br/><br/><br/><br/> br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> ><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;l<br/><br/><br/> t;b<br/><br/><br/><br/> r/><br/><br/><br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> lt;<br/><br/><br/><br/> br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> Thanks,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ---<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;br<br/><br/><br/><br/> /><br/><br/><br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> -----Original Message-----<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> ><br/><br/><br/><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> lt;<br/><br/><br/><br/> br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> Hi all<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;br<br/><br/><br/><br/> /><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> r/><br/><br/><br/><br/> <br/><br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> lt;<br/><br/><br/><br/> br/><br/><br/><br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> effective:<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> ><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;br<br/><br/><br/><br/> /><br/><br/><br/><br/> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> Final result is:<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;br<br/><br/><br/><br/> /><br/><br/><br/><br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> r/><br/><br/><br/><br/> <br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> Desired Sql Sentence<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;g<br/><br/><br/><br/> t;<br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> r/><br/><br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;g<br/><br/><br/><br/> t;<br/><br/><br/><br/><br/> <snip><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;l<br/><br/><br/> t;b<br/><br/><br/><br/> r/><br/><br/><br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> lt;<br/><br/><br/><br/> br/><br/><br/><br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> br/<br/><br/><br/><br/> ><br/><br/><br/><br/> </snip><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> lt;<br/><br/><br/><br/> br/><br/><br/><br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/> will execute successfully.<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> Hope you find this interesting<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> Cheers,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> -JC<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;br<br/><br/><br/><br/> /><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> br/<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> ><br/><br/><br/><br/><br/><br/>&a mp;l<br/> t;b<br/><br/> r/><br/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) Re: PHP Easter Eggs Nov 30 2004 06:24PM Paul Fierro (pablo nothing com) (2 replies) Re: PHP Easter Eggs Dec 02 2004 04:35AM Jimi Thompson (jimi thompson gmail com) (4 replies) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (4 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (6 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Quite interesting.<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;l<br/><br/><br/><br/> t;b<br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Thanks,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ---<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> -----Original Message-----<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Hi all<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> effective:<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/><br /> /><br/><br/><br/><br/><br/><br/>< br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Final result is:<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> Desired Sql Sentence<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;g<br/><br/><br/><br/><br/> t;<br/><br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;g<br/><br/><br/><br/><br/> t;<br/><br/><br/><br/><br/><br/> <snip><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;l<br/><br/><br/><br/> t;b<br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> br/<br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/> </snip><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/> will execute successfully.<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Hope you find this interesting<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> Cheers,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> -JC<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;br<br/><br/><br/> /><br/><br/><br/> ><br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;l<br/><br/> t;b<br/><br/><br/> r/><br/><br/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Quite interesting.<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/><br/><br/><br/><br/><br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/><br /> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/><br /> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/><b r/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;l<br/><br/><br/><br/><br/> t;b<br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Thanks,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ---<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/><br /> /><br/><br/><br/><br/><br/><br/>< br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> -----Original Message-----<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/><br/><br/><br/><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/><b r/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Hi all<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/><br /> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> effective:<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/><b r/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Final result is:<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> Desired Sql Sentence<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;g<br/><br/><br/><br/><br/><br/> t;<br/><br/><br/><br/><br/><br/><br/ > GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;g<br/><br/><br/><br/><br/><br/> t;<br/><br/><br/><br/><br/><br/><br/ > <snip><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/><br/><br/><br/><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;l<br/><br/><br/><br/><br/> t;b<br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/><br/><br/><br/><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/> </snip><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/> br/><br/><br/><br/><br/><br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/><br /> will execute successfully.<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Hope you find this interesting<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> Cheers,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> -JC<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;br<br/><br/><br/><br/> /><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;l<br/><br/><br/> t;b<br/><br/><br/><br/> r/><br/><br/><br/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> gt;<br/><br/><br/><br/><br/><br/><br /> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) Re: PHP Easter Eggs Dec 02 2004 04:35AM Jimi Thompson (jimi thompson gmail com) (4 replies) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (6 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> Quite interesting.<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/><br /> br/><br/><br/><br/><br/><br/><br/> ;<br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> gt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> gt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;l<br/><br/><br/><br/><br/><br/> t;b<br/><br/><br/><br/><br/><br/><br /> r/><br/><br/><br/><br/><br/><br/> <br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/><br /> br/><br/><br/><br/><br/><br/><br/> ;<br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> Thanks,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> ---<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/><br /> /><br/><br/><br/><br/><br/><br/>< br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> -----Original Message-----<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/><br /> br/><br/><br/><br/><br/><br/><br/> ;<br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> Hi all<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/><br /> /><br/><br/><br/><br/><br/><br/>< br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> gt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/><br/><br/><br/><br/><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/><br /> br/><br/><br/><br/><br/><br/><br/> ;<br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> effective:<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/><br /> /><br/><br/><br/><br/><br/><br/>< br/> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> ;br<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> /><br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> Final result is:<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/><br /> /><br/><br/><br/><br/><br/><br/>< br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/><br/><br/><br/><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> Desired Sql Sentence<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/><br/> mp;g<br/><br/><br/><br/><br/><br/><b r/> t;<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/><br/> mp;g<br/><br/><br/><br/><br/><br/><b r/> t;<br/><br/><br/><br/><br/><br/>< br/<br/> ><br/> <snip><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;l<br/><br/><br/><br/><br/><br/> t;b<br/><br/><br/><br/><br/><br/><br /> r/><br/><br/><br/><br/><br/><br/> <br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/><br /> br/><br/><br/><br/><br/><br/><br/> ;<br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/><br /> ><br/><br/><br/><br/><br/><br/><b r/> </snip><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> lt;<br/><br/><br/><br/><br/><br/><br /> br/><br/><br/><br/><br/><br/><br/> ;<br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> gt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> will execute successfully.<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> Hope you find this interesting<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> Cheers,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> -JC<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/><br /> /><br/><br/><br/><br/><br/><br/>< br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>< br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;l<br/><br/><br/><br/> t;b<br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> gt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Hi JC<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Quite interesting.<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> But I couldn't get it work.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> lt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> br/><br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> It works fine on query analyser,<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> amp;<br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> gt;<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> but it didn't work when I try it on the application side (on the browser).<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> amp;<br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> gt;<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> (I used %0d%0a for the newline character)<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> ><br/><br/><br/><br/><br/><br/>&a mp;l<br/> t;b<br/><br/> r/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> May be it depends on the version of MSSQL or the service pack etc.<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/><br/> mp;l<br/><br/><br/><br/><br/><br/><b r/> t;b<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> Could you tell us the version of the MSSQL on your side.<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> lt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> br/><br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Thanks,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> ;<br/><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> ---<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> ;br<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> /><br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> -----Original Message-----<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> /><br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> Sent: Friday, December 10, 2004 12:53 AM<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> To: webappsec (at) securityfocus (dot) com [email concealed]<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> ><br/><br/><br/><br/><br/><br/>&a mp;l<br/> t;b<br/><br/> r/><br/><br/> Subject: SQL injection (no single quotes used)<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> lt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> br/><br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Hi all<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> While in Oracle escaping apostrophe (') character<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> amp;<br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> gt;<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> seems to be enough protection for Sql Injection (I<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> think is not), this is not true for Sql Server. Here a<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> little example I think many of you will find useful.<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> ;<br/><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> For an on-the-fly query like:<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> lt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> br/><br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> Query = "select field1, field2... from table where id<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> = '" + FixSQL (FieldValue) + "'"<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> br/<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> ><br/><br/><br/><br/><br/><br/>&a mp;l<br/> t;b<br/><br/> r/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Where FixSQL will escape single quotes AKA apostrophe,<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> /><br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> the following value for "FieldValue" will be<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> effective:<br/><br/><br/><br/><br/><br/ <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> ><br/><br/><br/><br/><br/><br/>&a mp;l<br/> t;b<br/><br/> r/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> FieldValue = "(NewLine)GO(NewLine)Desired Sql<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Sentence(NewLine)GO"<br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> ;<br/><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> ;br<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;br<br/><br/><br/> /><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> lt;<br/><br/><br/> br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Final result is:<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> select field1, field2... from table where id = '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> Desired Sql Sentence<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/><br/><b r/> mp;g<br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> t;<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> '<br/><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Here the MS Documentation for GO Keyword:<br/><br/><br/><br/><br/><br/&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/><br/><b r/> mp;g<br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> t;<br/><br/><br/><br/><br/><br/>< <br/> br/<br/><br/> ><br/><br/> <snip><br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> SQL Server utilities interpret GO as a signal that<br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/> mp;a<br/><br/><br/><br/><br/><br/> mp;l<br/><br/><br/><br/><br/><br/><b r/> t;b<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> they should send the current batch of Transact-SQL<br/><br/><br/><br/><br/><b <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> r/><br/><br/><br/><br/><br/><br/> <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> statements to SQL Server. The current batch of<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> statements is composed of all statements entered since<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> lt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> br/><br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> the last GO, or since the start of the ad hoc session<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> ;<br/><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> or script if this is the first GO<br/><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> ><br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> </snip><br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> br/<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> ><br/><br/><br/><br/><br/><br/>&a mp;l<br/> t;b<br/><br/> r/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> So one sentence become three, sentences one and three<br/><br/><br/><br/><br/><br/>& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> lt;<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> br/><br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> will fail, but sentence two (the one of our interest)<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> amp;<br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> gt;<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> will execute successfully.<br/><br/><br/><br/><br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> br/<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> ><br/><br/><br/><br/><br/><br/>&a mp;l<br/> t;b<br/><br/> r/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Hope you find this interesting<br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> /><br/><br/><br/><br/><br/><br/>& amp;<br/> lt;<br/><br/> br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> Cheers,<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> ;<br/><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> -JC<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/>< ;br<br/> /><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/>& lt;<br/> br/><br/> _________________________________________________________<br/>< <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> <br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br /><br/> <br/><br/><br/><br/><br/><br/><br <br/> /><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> /><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> /><br/><br/><br/><br/> <br/><br/><br/><br/><br/><br/><br <br/> <br/><br/> <br/><br/><br/> <br/><br/><br/><br/> /><br/><br/><br/><br/><br/> br/<br/><br/><br/><br/><br/><br/>< ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;br<br/><br/><br/><br/><br/><br/> /><br/><br/><br/><br/><br/><br/> ><br/><br/><br/><br/><br/><br/>&a mp;a<br/> mp;a<br/><br/> mp;a<br/><br/><br/> mp;a<br/><br/><br/><br/> mp;l<br/><br/><br/><br/><br/> t;b<br/><br/><br/><br/><br/><br/> r/><br/><br/><br/><br/><br/><br/> Do You Yahoo!?<br/><br/><br/><br/><br/><br/> ;<br/> ;<br/><br/> ;<br/><br/><br/> ;<br/><br/><br/><br/> ;<br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><br/> ;<br/><br/><br/><br/><br/><br/><b r/><br/> <br/> ;<br/><br/><br/><br/><br/><br/><b <br/> r/><br/><br/> <br/><br/> Información de Estados Unidos y América Latina, en Yahoo! Noticias.<br/><br/><br/><br/><br/><br/& amp;<br/> amp;<br/><br/> amp;<br/><br/><br/> amp;<br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/> amp;<br/><br/><br/><br/><br/><br/><b r/> amp;<br/><br/><br/><br/><br/><br/>&l t;b<br/> r/><br/> gt;<br/><br/><br/><br/><br/><br/>< ;<br/> ;br<br/><br/> /><br/><br/> Visítanos en http://noticias.espanol.yahoo.com [ reply ] RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) SQL injection (no single quotes used) Dec 09 2004 03:53PM Juan Carlos Calderon (johnccr yahoo com) (4 replies) RE: SQL injection (no single quotes used) Dec 15 2004 10:25AM Mutallip Ablimit (mutax insi co jp) (2 replies) Re: SQL injection (no single quotes used) Dec 15 2004 02:49AM Olivier G. Gaumond (olig monimap com) (1 replies) Re: SQL injection (no single quotes used) Dec 15 2004 04:50PM Juan Carlos (johnccr yahoo com) (1 replies) RE: SQL injection (no single quotes used) Dec 15 2004 11:12PM Brett Moore (brett moore security-assessment com) |
|
|
Privacy Statement |
Quite interesting.
But I couldn't get it work.
It works fine on query analyser,
but it didn't work when I try it on the application side (on the browser).
(I used %0d%0a for the newline character)
May be it depends on the version of MSSQL or the service pack etc.
Could you tell us the version of the MSSQL on your side.
Thanks,
---
Mutallip Ablimit <mutax (at) insi.co (dot) jp [email concealed]>
-----Original Message-----
From: Juan Carlos Calderon [mailto:johnccr (at) yahoo (dot) com [email concealed]]
Sent: Friday, December 10, 2004 12:53 AM
To: webappsec (at) securityfocus (dot) com [email concealed]
Subject: SQL injection (no single quotes used)
Hi all
While in Oracle escaping apostrophe (') character
seems to be enough protection for Sql Injection (I
think is not), this is not true for Sql Server. Here a
little example I think many of you will find useful.
For an on-the-fly query like:
Query = "select field1, field2... from table where id
= '" + FixSQL (FieldValue) + "'"
Where FixSQL will escape single quotes AKA apostrophe,
the following value for "FieldValue" will be
effective:
FieldValue = "(NewLine)GO(NewLine)Desired Sql
Sentence(NewLine)GO"
Final result is:
select field1, field2... from table where id = '
GO
Desired Sql Sentence
GO
'
Here the MS Documentation for GO Keyword:
<snip>
SQL Server utilities interpret GO as a signal that
they should send the current batch of Transact-SQL
statements to SQL Server. The current batch of
statements is composed of all statements entered since
the last GO, or since the start of the ad hoc session
or script if this is the first GO
</snip>
So one sentence become three, sentences one and three
will fail, but sentence two (the one of our interest)
will execute successfully.
Hope you find this interesting
Cheers,
-JC
_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com
[ reply ]