Skip to content

Commit 6402ac1

Browse files
author
adriaan.bosch
committed
fix: remove _exec wrapper, run ruff fixes
1 parent e8f8d7e commit 6402ac1

2 files changed

Lines changed: 10 additions & 19 deletions

File tree

nxc/protocols/mssql.py

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -441,14 +441,6 @@ def _qname(self, ident: str) -> str:
441441
return "[]"
442442
return "[" + str(ident).replace("]", "]]") + "]"
443443

444-
def _exec(self, sql: str, params=None):
445-
try:
446-
return self.conn.sql_query(sql, params=params) if params is not None else self.conn.sql_query(sql)
447-
except TypeError:
448-
if params is not None:
449-
return self.conn.sql_query(sql, params)
450-
raise
451-
452444
def list_databases(self):
453445
try:
454446
q = (
@@ -457,16 +449,16 @@ def list_databases(self):
457449
"FROM sys.databases d "
458450
"ORDER BY d.name;"
459451
)
460-
rows = self._exec(q) or []
452+
rows = self.conn.sql_query(q) or []
461453
if not rows:
462454
self.logger.display("No databases returned")
463455
return
464456

465457
self.logger.display("Enumerated databases")
466458
self.logger.highlight(f"{'Database Name':<30} {'Owner':<25}")
467-
self.logger.highlight(f"{'-'*30} {'-'*25}")
459+
self.logger.highlight(f"{'-' * 30} {'-' * 25}")
468460
for r in rows:
469-
self.logger.highlight(f"{r.get('DatabaseName',''):<30} {r.get('Owner',''):<25}")
461+
self.logger.highlight(f"{r.get('DatabaseName', ''):<30} {r.get('Owner', ''):<25}")
470462
self.logger.highlight(f"Total: {len(rows)} database(s)")
471463
except Exception as e:
472464
self.logger.fail(f"Failed to enumerate databases: {e}")
@@ -484,7 +476,7 @@ def database(self):
484476
if isinstance(db_arg, str):
485477
try:
486478
safe = db_arg.replace("'", "''")
487-
exists = self._exec(f"SELECT 1 FROM sys.databases WHERE name = N'{safe}';")
479+
exists = self.conn.sql_query(f"SELECT 1 FROM sys.databases WHERE name = N'{safe}';")
488480
if not exists:
489481
self.logger.fail(f"Database [{db_arg}] does not exist on the server.")
490482
return
@@ -494,7 +486,7 @@ def database(self):
494486
f"FROM {self._qname(db_arg)}.sys.tables t "
495487
f"ORDER BY t.name;"
496488
)
497-
rows = self._exec(tq) or []
489+
rows = self.conn.sql_query(tq) or []
498490
except Exception as e:
499491
self.logger.fail(f"Insufficient permissions or query error in [{db_arg}]: {e}")
500492
self.logger.debug("database() error", exc_info=True)
@@ -506,12 +498,11 @@ def database(self):
506498

507499
self.logger.display(f"Tables in database: {db_arg}")
508500
self.logger.highlight(f"{'Table Name':<50} {'Last Modified':<25}")
509-
self.logger.highlight(f"{'-'*50} {'-'*25}")
501+
self.logger.highlight(f"{'-' * 50} {'-' * 25}")
510502
for r in rows:
511-
mod = r.get('modify_date', '')
512-
if mod and hasattr(mod, 'strftime'):
503+
mod = r.get("modify_date", "")
504+
if mod and hasattr(mod, "strftime"):
513505
mod = mod.strftime("%Y-%m-%d %H:%M:%S")
514-
self.logger.highlight(f"{r.get('TableName',''):<50} {str(mod):<25}")
506+
self.logger.highlight(f"{r.get('TableName', ''):<50} {mod!s:<25}")
515507
self.logger.highlight(f"Total: {len(rows)} table(s)")
516508
return
517-

nxc/protocols/mssql/proto_args.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ def proto_args(parser, parents):
66
mssql_parser.add_argument("-H", "--hash", metavar="HASH", dest="hash", nargs="+", default=[], help="NTLM hash(es) or file(s) containing NTLM hashes")
77
mssql_parser.add_argument("--port", default=1433, type=int, metavar="PORT", help="MSSQL port")
88
mssql_parser.add_argument("--mssql-timeout", help="SQL server connection timeout", type=int, default=5)
9-
9+
1010
qgroup = mssql_parser.add_mutually_exclusive_group()
1111
qgroup.add_argument("-q", "--query", dest="mssql_query", metavar="SQL", type=str, help="execute the specified query against the mssql db")
1212
qgroup.add_argument("--database", nargs="?", const=True, metavar="NAME", help="list databases or list tables for NAME")

0 commit comments

Comments
 (0)