'Try a user/password combination with HTTP basic authentication against
a specific URL.
:param url: A string representation of an URL
:param combination: A tuple that contains (user,pass)'

def _brute_worker(self, url, combination):

    if ((not self._found) or (not self._stop_on_first)):
        (user, passwd) = combination
        raw_values = ('%s:%s' % (user, passwd))
        auth = ('Basic    %s' % base64.b64encode(raw_values).strip())
        headers = Headers([('Authorization', auth)])
        fr = FuzzableRequest(url, headers=headers, method='GET')
        try:
            response = self._uri_opener.send_mutant(fr, cache=False, grep=False)
        except BaseFrameworkException as w3:
            msg = 'Exception    while    brute-forcing    basic    authentication,    error    message:    "%s".'
            om.out.debug((msg % w3))
        else:
            if (response.get_code() != 401):
                self._found = True
                desc = 'Found    authentication    credentials    to:    "%s".    A    valid    user    and    password    combination    is:    %s/%s    .'
                desc = (desc % (url, user, passwd))
                v = Vuln('Guessable    credentials', desc, severity.HIGH, response.id, self.get_name())
                v.set_url(url)
                v['user'] = user
                v['pass'] = passwd
                v['response'] = response
                v['request'] = fr
                kb.kb.append(self, 'auth', v)
                om.out.vulnerability(v.get_desc(), severity=v.get_severity())
