Skip to content

Commit 5cd93d1

Browse files
committed
added flexability to searching targets in db
1 parent 35abb92 commit 5cd93d1

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

src/synack/plugins/db.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,25 @@ def find_ports(self, port=None, protocol=None, source=None, ip=None, **kwargs):
326326

327327
def find_targets(self, **kwargs):
328328
session = self.Session()
329-
targets = session.query(Target).filter_by(**kwargs).all()
329+
query = session.query(Target)
330+
331+
filters = list()
332+
333+
for key, value in kwargs.items():
334+
if hasattr(Target, key):
335+
if kwargs.get('like'):
336+
filters.append(getattr(Target, key).like(f'%{value}%'))
337+
else:
338+
filters.append(getattr(Target, key) == value)
339+
340+
if filters:
341+
if kwargs.get('or'):
342+
query = query.filter(sa.or_(*filters))
343+
else:
344+
query = query.filter(sa.and_(*filters))
345+
346+
targets = query.all()
347+
330348
session.expunge_all()
331349
session.close()
332350
return targets

src/synack/plugins/targets.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,7 @@ def get_scope_host(self, target=None, **kwargs):
281281
pass
282282

283283
scope.discard(None)
284+
scope = list(scope)
284285

285286
if len(scope) > 0:
286287
if self._state.use_scratchspace:

0 commit comments

Comments
 (0)