Well, the ASPROX worm has morphed to go after any page it finds ending with
.cfm, which makes a good deal of sense. Much like .asp sites, a cold fusion
site probably hasn’t been worked on in several years, was probably
developed prior to SQL Injection being much of a worry, and is likely using
SQL Server behind the scenes. The other day I stumbled across a website that
was having problems connecting to their database, and as a result spit out a
lovely exception trace to the screen, including the exact syntax of their
SQL Query, which was not using prepared statements. Wanting to be the good
little security monkey, I did some quick research into protecting against
SQL Injection with cold fusion and sent the info on to them, as well as
suggesting they don’t spill their debug info out onto the interwebs for
everyone to see.

Adobe has a pretty good page
<http://kb.adobe.com/selfservice/viewContent.do?externalId=300b670e>  on
protecting against SQL Injection, which makes it a little embarrassing that
one of their own <http://blogs.zdnet.com/security/?p=2039>  sites fell
victim, but that will hopefully serve as a warning to us all to worry about
legacy apps. Anyway, you can enforce parameter typing withing your existing
cfquery pretty easily by wrapping each parameter in a cfqueryparam . For
example, the following query:

<cfquery name=”Recordset1″ datasource=”mydatasource”>
SELECT *
FROM myTable
WHERE myTableID =#URL.my_Table_ID#</cfquery>

would be turned into

<cfquery name=”Recordset1″ datasource=”mydatasource”>
SELECT *
FROM myTable
WHERE myTableID =<cfqueryparam value=”#URL.my_Table_ID#” cfsqltype=”
cf_sql_numeric”></cfquery>

The cf_sql_numeric value ensures that the value passed will be considered as
a number, rather than a string or function. This particular value should be
of interest for everyone protecting against ASPROX since rather than
targeting strings, it targets parts of your query that you assume are
numbers. You can find a list of all potential cfsqltype values here
<http://livedocs.adobe.com/coldfusion/7/htmldocs/wwhelp/wwhimpl/common/html/
wwhelp.htm?context=ColdFusion_Documentation&file=00000317.htm> . Also listed
are other attributes that can be valuable doing rudimentary validation when
using cfqueryparam, such as maxLength (it does what you think) and scale
(number of decimal places in a number). If you know of any old cold fusion
sites out there, let the devs know that they should probably go back and
make sure they are using cfqueryparam with all of their SQL parameters. With
how effective ASPROX is at finding and exploiting sites, chances are they
will be victim if they do not.

~ Joshbw

 

 

[Ph4nt0m] <http://www.ph4nt0m.org/>  

[Ph4nt0m Security Team]

                   <http://blog.ph4nt0m.org/> [EMAIL PROTECTED]

          Email:  [EMAIL PROTECTED]

          PingMe:
<http://cn.pingme.messenger.yahoo.com/webchat/ajax_webchat.php?yid=hanqin_wu
hq&sig=9ae1bbb1ae99009d8859e88e899ab2d1c2a17724> 

          === V3ry G00d, V3ry Str0ng ===

          === Ultim4te H4cking ===

          === XPLOITZ ! ===

          === #_# ===

#If you brave,there is nothing you cannot achieve.#

 

 


--~--~---------~--~----~------------~-------~--~----~
 要向邮件组发送邮件,请发到 [email protected]
 要退订此邮件,请发邮件至 [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

<<inline: image001.gif>>

回复