What This Tests
Students commonly bypass GoGuardian by embedding blocked content inside iframes on trusted domains (like Google Sites). If GoGuardian only checks the parent page URL and not iframe sources, blocked content loads freely.
This page simulates that technique. Each test below embeds an iframe pointing to a different destination. If your GoGuardian deployment is properly configured, the iframe content should be blocked or empty. If it loads, you have a bypass vulnerability.
Test 1: Web Proxy Iframe
Embeds a popular web proxy site in an iframe. Students use this to browse blocked sites through the proxy.
Test 2: Google Translate Proxy
Google Translate can act as a proxy by translating a blocked page. Since translate.google.com is typically whitelisted, the blocked content passes through.
Test 3: Google Cache Proxy
Google's web cache (webcache.googleusercontent.com) serves cached copies of pages. Since it's a Google domain, it often bypasses filters.
Test 4: Data URI / Blob Injection
Students can inject HTML into an iframe using data URIs or JavaScript blob URLs, bypassing URL-based filtering entirely since there's no network request to intercept.
Known Bypass Techniques Reference
These are the most common techniques students use to bypass GoGuardian as of 2026:
- Google Sites iframe: Create a Google Site, embed a web proxy in an iframe. GoGuardian whitelists *.google.com.
- Google Translate proxy: Use translate.google.com/translate?u=blocked-site to proxy through Google.
- Google Cache: Access webcache.googleusercontent.com for cached versions of blocked pages.
- DNS-over-HTTPS: Change Chrome's DoH settings to bypass DNS-level filtering. Goes over port 443.
- Web proxies: CroxyProxy, Hide.me, KProxy — new ones appear daily.
- Chrome extensions: Install VPN/proxy extensions if extension management isn't locked down.
- Incognito/Guest mode: Escape the managed profile where GoGuardian runs.
- DevTools injection: Use Chrome DevTools to modify GoGuardian extension behavior or inject bypass scripts.
- Task Manager kill: Use Chrome's Task Manager (Shift+Esc) to kill the GoGuardian extension process.
- chrome://flags: Enable experimental features that can disable extension enforcement.
- USB boot: Boot from USB to bypass ChromeOS management entirely.
- SSH tunneling: If port 22 is open, create a SOCKS proxy tunnel to an external server.
- Tor Browser: If Tor entry nodes aren't blocked at the firewall, full anonymized browsing.
- AMP Cache: Use cdn.ampproject.org to load AMP versions of blocked pages through Google's CDN.
Remediation Checklist
For each technique above, here's how to defend:
- Iframe inspection: Configure GoGuardian/firewall to inspect iframe src attributes, not just top-level URLs.
- Block Translate proxy mode: In Google Admin Console, restrict Google Translate for student OUs.
- Block cache domains: Add webcache.googleusercontent.com to your URL blocklist.
- Block DoH endpoints: Block dns.google, cloudflare-dns.com, dns.quad9.net at firewall level.
- Category-based filtering: Use a web filter with proxy/anonymizer category blocking that updates daily.
- Extension whitelist: Set ExtensionInstallBlocklist to ['*'], only allow approved extensions.
- Disable incognito/guest: IncognitoModeAvailability=1, BrowserGuestModeEnabled=false in Chrome policy.
- Disable DevTools: DeveloperToolsAvailability=2 in Chrome policy.
- Disable Task Manager kill: TaskManagerEndProcessEnabled=false in Chrome policy.
- Block chrome://flags: Add to URLBlocklist in Chrome policy.
- Disable USB boot: Require verified boot mode in Google Admin Console.
- Block outbound SSH: Block port 22 outbound on student VLANs.
- Block Tor: Use a Tor exit node blocklist feed on your firewall.
- Block AMP cache: Add cdn.ampproject.org to blocklist if not needed.