
q`c           @   s;   d  d l  m Z m Z m Z d   Z d   Z d   Z d S(   i(   t   rulesett   httpt   errorsc         C   s]   t  j   } xJ t d |  D]9 } t |  t |  } | j |   | j j | | <q Wd  S(   Ni    (   R   t   HttpUAt   ranget   strt   send_requestt   response_objectt   status(   t
   input_datat   subiterst   resultt   indext   http_uat   it	   new_index(    (    sW   /etc/apache2/conf.d/modsec_vendor_configs/OWASP3/tests/regression/utils/testSampling.pyt   send_requests   s
    c         C   sU  t  j d d d d d d d d d	 d
 d i d
 d 6d d 6 } d d l } i  } g  } xO t d  D]A } | j d t d | d | | f  } | j |  | j   qc Wx | D] } | j   q Wd } d } x7 | j	   D]) }	 |	 d k r | d 7} q | d 7} q W| t
 |  d d } | t
 |  d d }
 d G| GHd G|
 GH| |
 f S(   s7   Post request with no content-type AND no content-lengtht   methodt   GETt   protocolR   t   portiP   t   uris    /?X="><script>alert(1);</script>t	   dest_addrt	   localhostt   headerst   Hosts   ModSecurity CRS 3 tests
   User-AgentiNi   t   targett   argsid   i    i  i   g      ?s   403s =s
   not 403s =(   R    t   Inputt	   threadingR   t   ThreadR   t   appendt   startt   joint   valuest   len(   t
   iterationst   xR   t   returnst   threadsR   t   tt   status_not_403t
   status_403R   t   y(    (    sW   /etc/apache2/conf.d/modsec_vendor_configs/OWASP3/tests/regression/utils/testSampling.pyt   run_requests   s*    >$		c          C   s9   d GHt  d  \ }  } |  d k  r/ |  d k s5 t  d  S(   Nt   runningid   i7   i-   (   R,   t   AssertionError(   t   blockt   passed(    (    sW   /etc/apache2/conf.d/modsec_vendor_configs/OWASP3/tests/regression/utils/testSampling.pyt   test_sampling+   s    N(   t   ftwR    R   R   R   R,   R1   (    (    (    sW   /etc/apache2/conf.d/modsec_vendor_configs/OWASP3/tests/regression/utils/testSampling.pyt   <module>   s   		