I first saw this tip a while back on the Ubuntu Blog and it's a useful way of using SSH to set-up private web surfing. Not to mention I've come across several public wifi installs that leave port 22 unfiltered so providing you set firefox to run the DNS from the remote server you should be able to browse with complete success over port 22.
This should work with any openssh implementation so it's all good on both macs, linux and windows (Though from a brief foray into the world of window you'll need Cygwin. Download it and select and install OpenSSH as a minimum and then run the same commands below from the shell)
To set-up a SOCKS proxy on port 1080 simply run:
ssh -D 1080 user@your-ip-address
To make firefox do DNS lookups through the remote server simply set
network.proxy.socks_remote_dns = true in about:config.
To use the proxy simply set-up the socks 5 proxy config (Options/Preferences -> advanced -> Network -> Settings) by selecting "Manual Proxy configuration" (or use a plugin to firefox like Proxy Switch) and set the SOCKS Host to 127.0.0.1 and the port to 1080. Lastly select "SOCKS v5"
To test the proxy is working go to http://whatismyip.com/ and you should find the ip addres of your server is displayed.