This is a continuation of the previous post on the subject of HTML forms abuse.

Kuza55 and others suggested that I publish a list of ports that are blocked for each browser, and it seems like a good idea to better understand the attack vector. The full list of blocked ports for each major browser is now included in the appendixes section.

Should you wish to reproduce this list, this is how I did it:

Requirements:

  • tcpdump kung-fu
  • time

Steps:

  1. Choose an internal host that is reachable. We will use 192.168.0.1 as example. We will be launching a port scan on this machine. It is important to make sure that you have no other TCP connections between your machine and this host.
  2. Start tcpdump with the following switches:
    tcpdump -w browsertest.cap tcp and dst host 192.168.0.1
  3. Load this page on your web browser. It will take a while – Internet Explorer can take up to a day, while other browsers (on a Mac) typically take 20 minutes or so. It doesn’t work with Mozilla (Firefox) browsers.
  4. Use this python script (makes use of scapy) to extract the ports that were not hit.

If you got a more efficient way of doing this just drop me an email.

Meanwhile download the updated paper.




One Response to “Which ports do web browsers block?”  

  1. 1 Dave

    Firebind.com is a web-based, client-server architecture that allows a user to test outbound connectivity for any of the 65535 TCP Ports. In other words, it will tell you whether a firewall is blocking your IP device from reaching the Internet or not. It can distinguish between browser blocked ports (like those listed above), ports blocked by a TCP RESET, and ports blocked by a TCP TIMEOUT.
    It was designed to help users determine whether their applications are being blocked or not, especially for road warriors connecting from hotels, airports, coffee shops, etc. But it can also be used by IT admins to validate corporate firewall outbound ACLs.

    http://www.firebind.com

    One helpful feature is the ability to be able to launch a test from a link. This test below will check whether port 3389 (Windows Remote Desktop) is open to the Internet (outbound direction) from the user’s machine.

    http://www.firebind.com/3389

    You can do a range of ports as well. This test below is for all of the Yahoo Messenger TCP Ports.

    http://www.firebind.com/80,5000-5001,5050,5100-5101


Leave a Reply