Exemplo n.º 1
0
        public void MitmEndpointsFeatures()
        {
            FilterPolicy filter = new FilterPolicy()
            {
                BlockedPhrases = new List <PhraseFilter>()
                {
                },
                AllowedDomains = new List <DomainPolicy>()
                {
                    new DomainPolicy()
                    {
                        DomainBlocked = true,
                        DomainFormat  = "aaa.maariv.co.il",
                        Type          = AllowDomainType.EXACT
                    },
                    new DomainPolicy()
                    {
                        DomainBlocked = false,
                        DomainFormat  = ".maariv.co.il",
                        Type          = AllowDomainType.SUBDOMAINS
                    },
                    new DomainPolicy()
                    {
                        DomainBlocked = true,
                        DomainFormat  = "tmi.maariv.co.il",
                        Type          = AllowDomainType.EXACT
                    },
                }
            };

            string newDomain1 = "add.com";
            string newDomain2 = ".addmore.com";
            string newDomain3 = "extra.com";

            // Add whitelist
            Assert.IsFalse(filter.isWhitelistedHost(newDomain1));
            filter.addWhitelistDomain(newDomain1);
            Assert.IsTrue(filter.isWhitelistedHost(newDomain1));
            Assert.IsTrue(filter.isWhitelistedURL(newDomain1, "/anyEp", out _));

            // Add whitelist sub+domain
            Assert.IsFalse(filter.isWhitelistedHost(newDomain2));
            filter.addWhitelistDomain(newDomain2);
            Assert.IsTrue(filter.isWhitelistedHost("sub" + newDomain2));
            Assert.IsTrue(filter.isWhitelistedURL("sub2" + newDomain2, "/anyEp", out _));

            // Block domain by find
            filter.findAllowedDomain(newDomain1).DomainBlocked = true;
            Assert.IsFalse(filter.isWhitelistedURL(newDomain1, "/anyEp", out _));

            // Add EP (allow \\ block)
            filter.addWhitelistDomain(newDomain3);
            filter.findAllowedDomain(newDomain3).AddEndpoint(true, "/ok", AllowEPType.STARTWITH);
            Assert.IsFalse(filter.isWhitelistedURL(newDomain3, "/", out _));
            Assert.IsTrue(filter.isWhitelistedURL(newDomain3, "/ok_1", out _));
            Assert.IsFalse(filter.isWhitelistedURL(newDomain3, "/not-ok_1", out _));

            filter.findAllowedDomain(newDomain3).AddEndpoint(false, "bad", AllowEPType.CONTAIN);
            Assert.IsFalse(filter.isWhitelistedURL(newDomain3, "/ok_1_but_bad", out _));
        }
Exemplo n.º 2
0
        public void URLTest()
        {
            string reason_throwaway = "";

            FilterPolicy filter = new FilterPolicy()
            {
                BlockedPhrases = new List <PhraseFilter>()
                {
                    new PhraseFilter()
                    {
                        Type   = BlockPhraseType.WORDCONTAINING,
                        Phrase = "bad",
                        Scope  = BlockPhraseScope.URL
                    },
                    new PhraseFilter()
                    {
                        Type   = BlockPhraseType.REGEX,
                        Phrase = "wor[dk]",
                        Scope  = BlockPhraseScope.URL
                    }
                }
            };

            filter.AllowedDomains = new List <DomainPolicy>()
            {
                new DomainPolicy()
                {
                    DomainBlocked = false,
                    DomainFormat  = "go.com",
                    Type          = AllowDomainType.SUBDOMAINS,
                    AllowEP       = new List <EPPolicy>()
                    {
                        new EPPolicy()
                        {
                            Type     = AllowEPType.STARTWITH,
                            EpFormat = "/i-am-whitelisted"
                        }
                    }
                }
            };

            string ep1 = "/search?q=verybadword";
            string ep2 = "/i-am-whitelisted";
            string ep3 = "/i-am-whitelisted/badword";

            areTrue(filter.isWhitelistedHost("g.go.com"));
            areTrue(filter.isWhitelistedURL("go.com", ep2, out reason_throwaway));
            areFalse(filter.isWhitelistedURL("go.com", "/not-ok", out reason_throwaway));
            areFalse(filter.isWhitelistedURL("go-go.com", ep2, out reason_throwaway));

            areTrue(filter.isWhitelistedHost("go.com"));
            areFalse(filter.isWhitelistedURL("g.go.com", ep2 + "/work", out reason_throwaway));
        }
Exemplo n.º 3
0
        private void toolStripMenuItem2_Click(object sender, EventArgs e)
        {
            var linq = blockLogs.Where(
                (log) =>
            {
                Uri uri = new Uri(log.url);
                return(!mainPolicy.isWhitelistedHost(uri.Host) &&
                       mainPolicy.isContentAllowed(uri.PathAndQuery, BlockPhraseScope.URL, out _));
            }
                );

            refreshLogs(linq);
        }
Exemplo n.º 4
0
        public void nullAtInit()
        {
            IHTTPFilter filter = new FilterPolicy();

            try
            {
                filter.isWhitelistedHost("try.com");
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.ToString());
            }
        }