Skip to content

Fix setup of resolver verification#57

Open
jeteon wants to merge 1 commit into
TheRook:masterfrom
jeteon:patch-5
Open

Fix setup of resolver verification#57
jeteon wants to merge 1 commit into
TheRook:masterfrom
jeteon:patch-5

Conversation

@jeteon
Copy link
Copy Markdown

@jeteon jeteon commented Feb 11, 2017

Previously, the resolver instance used by the process is set up with no arguments to the constructor but since the signature of the constructor is:

def __init__(self, nameservers = ['8.8.8.8','8.8.4.4'])

This actually creates a resolver with the Google DNS servers as the nameservers to use. Then, in the blank test on line 227, a resolution is made for the blank domain as part of the verification:

blanktest = self.resolver.query(self.target, self.query_type)

However, since no nameserver is explicitly specified, the Google DNS servers are actually used again for this. This means the verification process actually hits the Google servers at least once for every server they verify and don't actually verify the behaviour of the server itself. This means that if Google's DNS servers start to throttle you then other nameservers will be flagged as having timed out even though they haven't been touched at all.

Previously, the resolver instance used by the process is set up with no arguments to the constructor but since the signature of the constructor is:
```python
def __init__(self, nameservers = ['8.8.8.8','8.8.4.4'])
```

This actually creates a resolver with the Google DNS servers as the nameservers to use. Then, in the blank test on line  [227](https://github.com/TheRook/subbrute/blob/c5b96610129bedcb4c322b8864f67985b3e808f8/subbrute.py#L227), a resolution is made for the blank domain as part of the verification:
```python
blanktest = self.resolver.query(self.target, self.query_type)
```

However, since no nameserver is explicitly specified, the Google DNS servers are actually used again for this. This means the verification process actually hits the Google servers at least once for every server they verify and don't actually verify the behaviour of the server itself.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant