[FX.php List] [OFF] Filemaker Web Security?

Tim 'Webko' Booth tim at nicheit.com.au
Thu Sep 4 18:26:44 MDT 2008


Dear Joel,

I am not a security expert but...

> This is how the client replied when I asked for more info:
> "I keep hearing about "sql injection attacks" being used to  
> compromise web pages. So I was wondering if Filemaker had a  
> notification service about updates and / or security issues. It may  
> be that Filemaker is "flying under the radar" when it comes to  
> malware writers and there is little reason for concern. Given the  
> security of the Internet nowadays I would rather be safe than sorry."
>
> It seems that FMI does *not* provide (decipherable) security update  
> notifications, so I can pass that along to the client.
>
> Investigating "SQL injection attacks" (e.g. <http://www.sitepoint.com/print/sql-injection-attacks-safe/ 
> > ), I'm reminded of Jonathan Stark's DevCon presentation in which  
> he urged (numerous times) that we Filter All Data, incl. the use of  
> htmlentities() & strip_tags()...

The vast difference between SQL and FM is that FM effectively has no  
command line - I do not believe an injection type attack could  
compromise a FM database. You could put whatever code you like into a  
FileMaker field through a new or edit, but that is not interpreted as  
run-code by the FM engine.

Of course, you can get bad data, and if the attacker can guess some of  
the other field names, or knows them somehow, they could over-write  
records, add data in places you don't want, or hijack a delete routine  
to remove records that you want to keep...

It *may* be able to compromise the web server, or at least knock it  
over through buffer overflows etc - that is more a php vulnerability  
than a FM one, and php does issue decent security advisories.
>
>
> Do people here do that on *all* submittable fields?   For all  
> FMFind, FMEdit & FMNew?  Is there some guideline as to when that's  
> more or less important?  Are there other functions you like to use  
> for this?

I do not allow FMDelete - people can mark records as not to show, or  
for deletion later, but I never use an actual delete in any web page.

FMNew I'm reasonably OK with - I do have at least one system where  
someone or something randomly adds extraneous records, but as it is an  
open system on the web for registrations, I expect some level of bad  
data. I do make sure key fields are there and conform with system  
requirements.

FMFind I'm not worried about to any great degree - any system that  
allows a find does so for a reason - I want people to  see stuff.  
Exception is systems where i have targeted user groups, and then I  
start storing some important info about the users into session  
variables to use in each find.

FMEdit I am fairly careful with.
>
>
> Also:
>
> 1) Is a site vulnerable to this type attack when using FileMaker  
> security for logins (internal or Ext Auth w/ AD OD)?  (My guess is  
> "no" since these aren't fields in a web-accessible database...)

It should be somewhat less vulnerable than an open site, as you have  
restricted who can see it. And the authentication side of it should be  
happening inside your network,making man in the middle more difficult.
>
>
> 2) When using records w/ username & password fields for logins,  
> would using the format:
>   $login->AddDBParam('UserID','=="'.$_POST['user_name'].'"');
> be safe enough to avoid these types of attacks, since FM can't  
> process additional code like SQL seemingly can
> (e.g. the submission of: ' or 1=1 -- ) ?

You could be paranoid and do some parsing/stripping/filtering, but  
that's pretty much what I've been doing - it will either match or not  
- php itself may be vulnerable at this point.
>
>
> 3) Are there any such risks within FMEdit calls?  Does it matter  
> whether fields are submitted via radio buttons?

FMEdit is probably the command to worry about the most, especially if  
the recid is ever visible, or your primary key. Like other web  
systems, if people can craft a GET call with either of those, they may  
be able to change data you are not expecting to be changed.
>
>
> 4) The above URL cautions against SQL procedures such as xp_cmdshell  
> and xp_grantlogin.  Do FileMaker or FX.php (or the API) have any  
> such dangerous code?

Not that I aware of.
>
>
> 5) Realistically, if a site is hosted locally, has an SSL cert, and  
> has no links from any external pages, is there much risk of it being  
> found and thusly hacked?

Realistically. Not a lot.
Like I said earlier, I had a FM system with a gaping known security  
hole, and the patch toi plug that hole was never triggered in 5 years  
(apart from my own testing...) - and that one was heavily used and  
publically accessible...

Hope these musings help to some degree


More information about the FX.php_List mailing list