Ejemplo n.º 1
0
        if m_response_error_page:
            m_return.append(m_response_error_page)

            # Analyze results
            match = {}
            m_analyzer = MatchingAnalyzer(m_response_error_page.data)
            m_total = len(set(m_discovered_urls))
            for m_step, l_url in enumerate(set(m_discovered_urls)):
                progress = (float(m_step * 100) / m_total)
                self.update_status(progress=progress)
                l_url = fix_url(l_url, m_url)
                if l_url in Config.audit_scope:
                    l_p = HTTP.get_url(l_url, callback=self.check_response)  # FIXME handle exceptions!
                    if l_p:
                        match[l_url] = l_p
                        m_analyzer.append(l_p.data, url=l_url)

            # Generate results
            for i in m_analyzer.unique_texts:
                l_url = i.url
                l_p = match[l_url]
                m_result = Url(l_url, referer=m_url)
                m_result.add_information(l_p)
                m_return.append(m_result)
                m_return.append(l_p)

        # No tricky error page, assume the status codes work
        else:
            m_total = len(set(m_discovered_urls))
            for m_step, l_url in enumerate(set(m_discovered_urls)):
                progress = (float(m_step * 100) / m_total)