Shazzer logo

Characters Allowed Between Protocol // and localhost Where Host Still Equals localhost

Chrome logo 46
Firefox logo 46
Edge logo 46

This vector will test what characters can be inserted between the protocol separator (//) and the domain (localhost) in a URL (e.g., https://{X}localhost/endpoint) while still allowing the browser to resolve the host property as "localhost".

rootd4ddy
Created byrootd4ddy
Created Mar 2, 2025
Updated May 28, 2025

Tweet
Detecting browser...
CategoryURL Handling
VisibilityPublic
TypeJS
CharsetUTF-8
Template used:
if (new URL("https://$[chr]localhost/endpoint").host == "localhost") {0x0D
    log($[i]);0x0D
}

Sample payloads

if (new URL("https://0x09localhost/endpoint").host == "localhost") {0x0D
    alert(9);0x0D
}
if (new URL("https:///localhost/endpoint").host == "localhost") {0x0D
    alert(47);0x0D
}
if (new URL("https://@localhost/endpoint").host == "localhost") {0x0D
    alert(64);0x0D
}
if (new URL("https://\localhost/endpoint").host == "localhost") {0x0D
    alert(92);0x0D
}
if (new URL("https://­localhost/endpoint").host == "localhost") {0x0D
    alert(173);0x0D
}
if (new URL("https://͏localhost/endpoint").host == "localhost") {0x0D
    alert(847);0x0D
}
if (new URL("https://ᅟlocalhost/endpoint").host == "localhost") {0x0D
    alert(4447);0x0D
}
if (new URL("https://ᅠlocalhost/endpoint").host == "localhost") {0x0D
    alert(4448);0x0D
}
if (new URL("https://឴localhost/endpoint").host == "localhost") {0x0D
    alert(6068);0x0D
}
if (new URL("https://឵localhost/endpoint").host == "localhost") {0x0D
    alert(6069);0x0D
}
if (new URL("https://᠋localhost/endpoint").host == "localhost") {0x0D
    alert(6155);0x0D
}
if (new URL("https://᠌localhost/endpoint").host == "localhost") {0x0D
    alert(6156);0x0D
}
if (new URL("https://᠍localhost/endpoint").host == "localhost") {0x0D
    alert(6157);0x0D
}
if (new URL("https://᠎localhost/endpoint").host == "localhost") {0x0D
    alert(6158);0x0D
}
if (new URL("https://᠏localhost/endpoint").host == "localhost") {0x0D
    alert(6159);0x0D
}
if (new URL("https://​localhost/endpoint").host == "localhost") {0x0D
    alert(8203);0x0D
}
if (new URL("https://⁠localhost/endpoint").host == "localhost") {0x0D
    alert(8288);0x0D
}
if (new URL("https://⁡localhost/endpoint").host == "localhost") {0x0D
    alert(8289);0x0D
}
if (new URL("https://⁢localhost/endpoint").host == "localhost") {0x0D
    alert(8290);0x0D
}
if (new URL("https://⁣localhost/endpoint").host == "localhost") {0x0D
    alert(8291);0x0D
}

Fuzz results

Chrome logo
Chrome 148.0.0.0 desktop Windows NT 10.0
Updated15 Mar 2026
Found 46 results
Loading...
Chrome logo
Chrome 144.0.0.0 desktop Linuxolder version
Updated16 Feb 2026
Found 46 results
Loading...
Chrome logo
Chrome 132.0.0.0 desktop Linux Unknownolder version
Updated2 Mar 2025
Found 30 results
Loading...
Firefox logo
Firefox 148.0 desktop Windows NT 10.0
Updated23 Feb 2026
Found 46 results
Loading...
Firefox logo
Firefox 147.0 desktop Linuxolder version
Updated1 Feb 2026
Found 46 results
Loading...
Edge logo
Microsoft Edge 145.0.0.0 desktop Windows NT 10.0
Updated18 Feb 2026
Found 46 results
Loading...