pyntcli 0.1.81__py3-none-any.whl → 0.1.82__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pyntcli/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.81"
1
+ __version__ = "0.1.82"
pyntcli/commands/burp.py CHANGED
@@ -10,6 +10,7 @@ from subprocess import Popen, PIPE
10
10
  from functools import partial
11
11
  import xmltodict
12
12
  import base64
13
+ import pyntcli.log.log as log
13
14
  from xml.parsers.expat import ExpatError
14
15
 
15
16
  from pyntcli.pynt_docker import pynt_container
@@ -30,6 +31,9 @@ methods = [
30
31
  "connect",
31
32
  ]
32
33
 
34
+ logger = log.get_logger()
35
+ supported_encoding = ["utf-8", "latin1", "utf-16", "cp1252"]
36
+
33
37
 
34
38
  def is_valid_method(method: str):
35
39
  if method.lower() in methods:
@@ -37,9 +41,31 @@ def is_valid_method(method: str):
37
41
  return False
38
42
 
39
43
 
44
+ def decode_request(item) -> str:
45
+ error = None
46
+ for encoding in supported_encoding:
47
+ try:
48
+ return base64.b64decode(item["request"]["#text"]).decode(encoding)
49
+ except UnicodeDecodeError as e:
50
+ error = e
51
+ continue
52
+ except Exception as e:
53
+ error = e
54
+ break
55
+
56
+ ui_thread.print(
57
+ ui_thread.PrinterText(
58
+ f"Error decoding request: {error}"),
59
+ ui_thread.PrinterText.WARNING)
60
+ logger.error(f"Error decoding request: {error}")
61
+
62
+ raise e
63
+
64
+
40
65
  def replay_req(item, proxy_port):
41
66
  url = item["url"]
42
- decoded_req = base64.b64decode(item["request"]["#text"]).decode("utf-8")
67
+ decoded_req = decode_request(item)
68
+
43
69
  method = decoded_req.split("\r\n")[0].split(" ")[0]
44
70
 
45
71
  if not is_valid_method(method):
@@ -289,12 +315,12 @@ class BurpCommand(sub_command.PyntSubCommand):
289
315
  json_report_path = util.get_user_report_path(full_path, "json")
290
316
 
291
317
  if html_report:
292
- with open(html_report_path, "w",encoding="utf-8") as html_file:
318
+ with open(html_report_path, "w", encoding="utf-8") as html_file:
293
319
  html_file.write(html_report)
294
320
  webbrowser.open("file://{}".format(html_report_path))
295
321
 
296
322
  if json_report:
297
- with open(json_report_path, "w",encoding="utf-8") as json_file:
323
+ with open(json_report_path, "w", encoding="utf-8") as json_file:
298
324
  json_file.write(json_report)
299
325
  reporter = cli_reporter.PyntReporter(json_report_path)
300
326
  reporter.print_summary()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyntcli
3
- Version: 0.1.81
3
+ Version: 0.1.82
4
4
  Summary: Command line utility to handle all of Pynt's different integrations
5
5
  Author-email: Pynt-io <support@pynt.io>
6
6
  Project-URL: Homepage, https://pynt.io
@@ -1,11 +1,11 @@
1
- pyntcli/__init__.py,sha256=4reVRut6pFQ0MxDHMjUh2C4vPGa3csSjDj46nUuBiXs,23
1
+ pyntcli/__init__.py,sha256=YThvBsPSPw2rCgZQb5SxE-vfr4Y0SBQRhFo1VmMzEQg,23
2
2
  pyntcli/main.py,sha256=qTGMG2JSpieg-1RRgBz9dPL4vHo1WJJIxTPQYAuzxuY,5138
3
3
  pyntcli/analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  pyntcli/analytics/send.py,sha256=pJOyOWl3g_Vm9apKK3LzNVqsnC6zsWA1bCK3ZegbLpc,3637
5
5
  pyntcli/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  pyntcli/auth/login.py,sha256=TljsRXbEkNI1YUrKm5mlTw4YiecYScYUsit8Z8vstss,5228
7
7
  pyntcli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- pyntcli/commands/burp.py,sha256=KuxeX9I0ZXSVAMHdt9OYFok79X9IK6z71-ZN-_fnrvU,10565
8
+ pyntcli/commands/burp.py,sha256=2FqLc65SjuXdenUS1ggC6dGRU_iSA52Ft_8OnfGsm_8,11193
9
9
  pyntcli/commands/command.py,sha256=0O7Za_cjT6vDkDfM0OTMPB6DLI3U1r1R7lXQydz7458,9495
10
10
  pyntcli/commands/har.py,sha256=mSCbTUnxQrKzJd-dAWoc6Tkw6tU1LDH7Ha1w2ylrrrg,3654
11
11
  pyntcli/commands/id_command.py,sha256=UBEgMIpm4vauTCsKyixltiGUolNg_OfHEJvJ_i5BpJY,943
@@ -35,8 +35,8 @@ pyntcli/ui/ui_thread.py,sha256=OVTbiIFMg2KgxAvHf7yy86xGm4RVS2vj_VYZkMi-SRY,4956
35
35
  tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
36
36
  tests/auth/test_login.py,sha256=KFlzWhXBAuwdi7GXf16gCB3ya94LQG2wjcSChE149rQ,3798
37
37
  tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
38
- pyntcli-0.1.81.dist-info/METADATA,sha256=D5hWFtXYjvdJp7uIjMBlj8Z_yYP0pobzSV1Ce6T1onM,463
39
- pyntcli-0.1.81.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
40
- pyntcli-0.1.81.dist-info/entry_points.txt,sha256=kcGmqAxXDttNk2EPRcqunc_LTVp61gzakz0v-GEE2SY,43
41
- pyntcli-0.1.81.dist-info/top_level.txt,sha256=u9MDStwVHB7UG8PUcODeWCul_NvzL2EzoLvSlgwLHFs,30
42
- pyntcli-0.1.81.dist-info/RECORD,,
38
+ pyntcli-0.1.82.dist-info/METADATA,sha256=WpnF74sRKWiYhqK37FpYb6ggOl_FscYOIjVjaAedZuU,463
39
+ pyntcli-0.1.82.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
40
+ pyntcli-0.1.82.dist-info/entry_points.txt,sha256=kcGmqAxXDttNk2EPRcqunc_LTVp61gzakz0v-GEE2SY,43
41
+ pyntcli-0.1.82.dist-info/top_level.txt,sha256=u9MDStwVHB7UG8PUcODeWCul_NvzL2EzoLvSlgwLHFs,30
42
+ pyntcli-0.1.82.dist-info/RECORD,,