mirror of https://github.com/n1nj4sec/pupy.git
lazagne: handle case when results have mixed columns
This commit is contained in:
parent
18d17aa048
commit
f1e8d23f61
|
@ -91,7 +91,8 @@ class LaZagne(PupyModule):
|
||||||
try:
|
try:
|
||||||
self.print_results(r[0], r[1], r[2], db)
|
self.print_results(r[0], r[1], r[2], db)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
self.error('{}: {}'.format(r[1], e))
|
import traceback
|
||||||
|
self.error('{}: {}: {}'.format(r[1], e, traceback.format_exc()))
|
||||||
|
|
||||||
if not passwordsFound:
|
if not passwordsFound:
|
||||||
self.warning('no passwords found !')
|
self.warning('no passwords found !')
|
||||||
|
@ -174,7 +175,7 @@ class LaZagne(PupyModule):
|
||||||
result[c] = cred[c].strip()
|
result[c] = cred[c].strip()
|
||||||
|
|
||||||
for t, name in self.TYPESMAP.iteritems():
|
for t, name in self.TYPESMAP.iteritems():
|
||||||
if t in set(x.lower() for x in result):
|
if t in set([x.lower() for x in result]):
|
||||||
result['CredType'] = name
|
result['CredType'] = name
|
||||||
|
|
||||||
if not result.get('CredType'):
|
if not result.get('CredType'):
|
||||||
|
@ -188,13 +189,21 @@ class LaZagne(PupyModule):
|
||||||
if not items:
|
if not items:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
return [
|
data = [
|
||||||
{
|
{
|
||||||
self.try_utf8(k):self.try_utf8(v)
|
self.try_utf8(k):self.try_utf8(v)
|
||||||
for k,v in item.iteritems() if k not in remove
|
for k,v in item.iteritems() if k not in remove
|
||||||
} for item in items
|
} for item in items
|
||||||
]
|
]
|
||||||
|
|
||||||
|
columns = set()
|
||||||
|
for item in items:
|
||||||
|
for column in item:
|
||||||
|
if not column in remove:
|
||||||
|
columns.add(column)
|
||||||
|
|
||||||
|
return data, columns
|
||||||
|
|
||||||
def try_utf8(self, value):
|
def try_utf8(self, value):
|
||||||
if type(value) == unicode:
|
if type(value) == unicode:
|
||||||
try:
|
try:
|
||||||
|
@ -240,7 +249,7 @@ class LaZagne(PupyModule):
|
||||||
else:
|
else:
|
||||||
if module not in self.NON_TABLE:
|
if module not in self.NON_TABLE:
|
||||||
self.table(
|
self.table(
|
||||||
self.prepare_fields(
|
*self.prepare_fields(
|
||||||
creds, remove=self.FILTER_COLUMNS))
|
creds, remove=self.FILTER_COLUMNS))
|
||||||
else:
|
else:
|
||||||
for cred in creds:
|
for cred in creds:
|
||||||
|
|
Loading…
Reference in New Issue