コード例 #1
0
    def fuzz(self, json_str):
        if self.use_fuzzing is False:
            return json_str

        if self.fuzzer is None:
            config = PJFConfiguration(Namespace(json=json.loads(json_str), nologo=True, level=6))
            self.fuzzer = PJFFactory(config)
        return self.fuzzer.fuzzed
コード例 #2
0
 def test_object_parameters(self):
     json = PJFFactory(
         PJFConfiguration(
             Namespace(parameters="d",
                       json={"a": [{
                           "b": "c"
                       }, "abcd"]},
                       nologo=True,
                       level=6)))
     self.assertTrue(json != json.fuzzed)
     self.assertTrue("abcd" in json.fuzzed)
コード例 #3
0
 def test_object_setitem(self):
     json = PJFFactory(
         PJFConfiguration(
             Namespace(utf8=False,
                       url_encode=False,
                       parameters=None,
                       strong_fuzz=False,
                       json={"a": False},
                       nologo=True,
                       techniques="CHPTRSX")))
     json["a"] = True
     self.assertTrue(json["a"])
コード例 #4
0
 def test_object_contains(self):
     json = PJFFactory(
         PJFConfiguration(
             Namespace(utf8=False,
                       url_encode=False,
                       parameters=None,
                       strong_fuzz=False,
                       json={"a": 1},
                       nologo=True,
                       techniques="CHPTRSX")))
     self.assertTrue(["a"] in json)
     self.assertFalse(["A"] in json)
コード例 #5
0
 def test_object_equal(self):
     json = PJFFactory(
         PJFConfiguration(
             Namespace(utf8=False,
                       url_encode=False,
                       parameters=None,
                       strong_fuzz=False,
                       json={"a": 1},
                       nologo=True,
                       techniques="CHPTRSX")))
     self.assertEquals(json, {"a": 1})
     self.assertNotEqual(json, {"a": 0})
コード例 #6
0
 def test_object_addition(self):
     json = PJFFactory(
         PJFConfiguration(
             Namespace(utf8=False,
                       url_encode=False,
                       parameters=None,
                       strong_fuzz=False,
                       json={"a": 1},
                       nologo=True,
                       techniques="CHPTRSX")))
     json += {"foo": True}
     self.assertTrue(json["foo"])
コード例 #7
0
 def test_object_representation(self):
     json = PJFFactory(
         PJFConfiguration(
             Namespace(utf8=False,
                       url_encode=False,
                       parameters=None,
                       strong_fuzz=False,
                       json={"a": 1},
                       nologo=True,
                       techniques="CHPTRSX")))
     self.assertTrue(str(json) == "{'a': 1}")
     self.assertTrue(type(str(json)) == str)
コード例 #8
0
 def test_object_fuzz(self):
     json = PJFFactory(
         PJFConfiguration(
             Namespace(utf8=False,
                       url_encode=False,
                       parameters=None,
                       strong_fuzz=False,
                       json={"a": "\xf0aaaaaaa"},
                       command=["radamsa"],
                       stdin=True,
                       level=6,
                       indent=True,
                       nologo=True)))
     self.assertTrue(json.fuzzed)
コード例 #9
0
 def test_nested_object(self):
     self.assertTrue(
         PJFFactory(
             PJFConfiguration(
                 Namespace(utf8=False,
                           url_encode=False,
                           parameters=None,
                           strong_fuzz=False,
                           json={
                               "t": 1,
                               "foo": {
                                   "cow": True
                               }
                           },
                           nologo=True,
                           techniques="CHPTRSX"))))