Re: How to determine which PHP-script allows spamming?

Rainer Duffner <[email protected]> Sat, 15 Apr 2006 01:06:30 +0200
Newsgroups gmane.comp.security.incidents
Message-ID <[email protected]>
Kari Asikainen wrote:
> Kurt Seifried wrote:
>>> The culprit turned out to be  some guy who, instead of creating 
>>> links to his web-pages decided to include them.
>>> This happened in the form of http://domain/index.php?p=/bla/data.html
>>> Of course, "p" could be overwritten and some guy was loading a 
>>> php-mailer from various geocities and yahoo pages, which our server 
>>> dutifully parsed...
>>> We could only shake our heads in disbelieve. This had cost us 
>>> countless hours of (until now) fruitless work.
>>
>> One relatively easy way to prevent this type of problem is to 
>> disallow your web server from making outgoing connections to port 80 
>> TCP (i.e. do not allow it to request things). If you want to be 
>> really anal simply disallow any outgoing connection attempts for TCP 
>> SYN, this will prevent all sorts of naughtiness from your webserver. 
>> Plus when you do see blocked outgoing connections you will know 
>> something is up and can correlate it with web logs/etc.
>
> That is a nice and clean global solution.
>
> With PHP you can also turn off fopen-wrappers which will disallow 
> including remote content. IMHO that should be the default, and 
> allowing it would be strictly per-virtualhost basis after auditing the 
> security of the code in question...
>
> -ka
>


I agree.

But we (or a reseller) certainly have some sites that "require" it and 
historically, it probably wasn't a big problem.
Until now.
But that's difficult to explain to the customer.

Just today, we had another "incident" where some "user" (replace with an 
expletive) had created a custom 404-handler as PHP-script that included 
some other files, one of them non-existant. This sent the whole cluster 
into a "noop"-loop.
I guess we'll have to re-evaluate what a single shared-hosting domain is 
actually allowed to do and what not - even though, we don't allow that 
much already.




cheers,
Rainer