'If I find __VIEWSTATE and empty __EVENTVALIDATION => vuln.
:param request: The HTTP request object.
:param response: The HTTP response object'

def grep(self, request, response):

    if (not response.is_text_or_html()):
        return
    viewstate_mo = self._viewstate.search(response.get_body())
    if (not viewstate_mo):
        return
    if (not self._eventvalidation.search(response.get_body())):
        desc = 'The    URL:    "%s"    has    .NET    Event    Validation    disabled.    This    programming/configuration    error    should    be    manually    verified.'
        desc %= response.get_url()
        i = Info('.NET    Event    Validation    is    disabled', desc, response.id, self.get_name())
        i.set_url(response.get_url())
        i.add_to_highlight(viewstate_mo.group())
        i[EVDisabledInfoSet.ITAG] = response.get_url().get_domain()
        self.kb_append_uniq_group(self, self.get_name(), i, group_klass=EVDisabledInfoSet)
    if (not self._encryptedVs.search(response.get_body())):
        desc = 'The    URL:    "%s"    has    .NET    ViewState    encryption    disabled.    This    programming/configuration    error    could    be    exploited    to    decode    the    viewstate    contents.'
        desc %= response.get_url()
        i = Info('.NET    ViewState    encryption    is    disabled', desc, response.id, self.get_name())
        i.set_url(response.get_url())
        i[EVClearTextInfoSet.ITAG] = response.get_url().get_domain()
        self.kb_append_uniq_group(self, self.get_name(), i, group_klass=EVClearTextInfoSet)
