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 +1 -1
- pyntcli/commands/burp.py +29 -3
- {pyntcli-0.1.81.dist-info → pyntcli-0.1.82.dist-info}/METADATA +1 -1
- {pyntcli-0.1.81.dist-info → pyntcli-0.1.82.dist-info}/RECORD +7 -7
- {pyntcli-0.1.81.dist-info → pyntcli-0.1.82.dist-info}/WHEEL +0 -0
- {pyntcli-0.1.81.dist-info → pyntcli-0.1.82.dist-info}/entry_points.txt +0 -0
- {pyntcli-0.1.81.dist-info → pyntcli-0.1.82.dist-info}/top_level.txt +0 -0
pyntcli/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "0.1.
|
|
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 =
|
|
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,11 +1,11 @@
|
|
|
1
|
-
pyntcli/__init__.py,sha256=
|
|
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=
|
|
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.
|
|
39
|
-
pyntcli-0.1.
|
|
40
|
-
pyntcli-0.1.
|
|
41
|
-
pyntcli-0.1.
|
|
42
|
-
pyntcli-0.1.
|
|
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,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|