Blog Update
I've just updated the home-grown javascript I was using upon this blog to be jQuery powered.
This post is a test.
I'll need to check but I believe I'm almost 100% jQuery-powered now.
AJAX Proxies
It is a well-known fact that AJAX requests are only allowed to be made to the server the javascript was loaded from. The so-called same-origin security restriction.
To pull content from other sites users are often encouraged to write a simple proxy:
- http://example.com/ serves Javascript & HTML.
- http://example.com/proxy/http://example.com allows arbitrary fetching.
Simples? No. Too many people write simple proxies which use PHP's curl function, or something similar, with little restriction on either the protocol or the destination of the requested resource.
Consider the following requests:
- http://example.com/proxy.php?url=/etc/passwd
- http://example.com/proxy.php?url=file:///etc/passwd
If you're using some form of Javascript/AJAX proxy make sure you test for this. (ObRandom: Searching google for inurl:"proxy.php?url=http:" shows this is a real problem. l33t.)
ObQuote: "You're asking me out? That's so cute! What's your name again? " - 10 things I hate about you.
Tags: ajax, javascript, jquery, meta, security No comments