if __package__ is None or __package__ == "": from Grammars import CGI_GRAMMAR else: from .Grammars import CGI_GRAMMAR if __name__ == "__main__": cgi_fuzzer = GrammarFuzzer(CGI_GRAMMAR) if __name__ == "__main__": trials = 100 coverage = {} for i in range(trials): cgi_input = cgi_fuzzer.fuzz() with Coverage() as cov: cgi_decode(cgi_input) coverage[cgi_input] = cov.coverage() if __name__ == "__main__": coverage_slice = [ cgi_input for cgi_input in coverage if ('cgi_decode', 25) in coverage[cgi_input] ] if __name__ == "__main__": print(coverage_slice) if __name__ == "__main__": len(coverage_slice) / trials if __name__ == "__main__":
if __name__ == "__main__": print('\n## Covering Code by Covering Grammars') # ### CGI Grammars if __name__ == "__main__": print('\n### CGI Grammars') if __package__ is None or __package__ == "": from Coverage import Coverage, cgi_decode else: from .Coverage import Coverage, cgi_decode if __name__ == "__main__": with Coverage() as cov_max: cgi_decode('+') cgi_decode('%20') cgi_decode('abc') try: cgi_decode('%?a') except: pass if __name__ == "__main__": f = GrammarCoverageFuzzer(CGI_GRAMMAR, max_nonterminals=2) coverages = {} trials = 100 for trial in range(trials): f.reset_coverage() overall_cov = set()
if __name__ == "__main__": s = cgi_encode('Is "DOW30" down .24%?') s if __name__ == "__main__": cgi_encode("<string>@<string>", "<>") if __package__ is None or __package__ == "": from Coverage import cgi_decode # minor dependency else: from .Coverage import cgi_decode # minor dependency if __name__ == "__main__": cgi_decode(s) if __package__ is None or __package__ == "": from Grammars import crange, is_valid_grammar, syntax_diagram else: from .Grammars import crange, is_valid_grammar, syntax_diagram ORDER_GRAMMAR = { "<start>": ["<order>"], "<order>": ["/order?item=<item>&name=<name>&email=<email>&city=<city>&zip=<zip>"], "<item>": ["tshirt", "drill", "lockset"], "<name>": [cgi_encode("Jane Doe"), cgi_encode("John Smith")], "<email>": [cgi_encode("*****@*****.**"),
plt.title('Trigram Discovery Over Time') # ## Estimating the Probability of Path Discovery if __name__ == "__main__": print('\n## Estimating the Probability of Path Discovery') if __package__ is None or __package__ == "": from Coverage import Coverage, cgi_decode else: from .Coverage import Coverage, cgi_decode if __name__ == "__main__": encoded = "Hello%2c+world%21" with Coverage() as cov: decoded = cgi_decode(encoded) if __name__ == "__main__": decoded if __name__ == "__main__": print(cov.coverage()) # ### Trace Coverage if __name__ == "__main__": print('\n### Trace Coverage') import pickle import hashlib