Example #1
0
  def build_page1_request_data(self, panel, m):
    _sb = m._request_data_area
    _sb.Create(panel, label = 'HTTP data')

    m._request_area_method_ckbtn.Create(_sb, label = 'HTTP请求方式')
    m._request_area_method_entry.Create(_sb)
    m._request_area_param_del_ckbtn.Create(_sb, label = '指定--data=中的参数分隔符')
    m._request_area_param_del_entry.Create(_sb)
    m._request_area_chunked_ckbtn.Create(_sb, label = '"分块传输"发送POST请求')
    m._request_area_post_ckbtn.Create(_sb, label = '通过POST提交data:')
    self._request_data_hr1 = wx.StaticLine(_sb)
    m._request_area_post_entry.Create(_sb)
    m._request_area_cookie_ckbtn.Create(_sb, label = '要包含的Cookie:')
    m._request_area_cookie_entry.Create(_sb)
    m._request_area_cookie_del_ckbtn.Create(_sb, label = '指定cookie分隔符')
    m._request_area_cookie_del_entry.Create(_sb)
    m._request_area_drop_set_cookie_ckbtn.Create(_sb, label = '丢弃Set-Cookie头')
    m._request_area_live_cookies_ckbtn.Create(_sb, label = 'live_cookies')
    m._request_area_live_cookies_entry.Create(_sb)
    m._request_area_live_cookies_chooser.Create(_sb, label = '打开')
    m._request_area_live_cookies_chooser.Bind(
      EVT_BUTTON,
      lambda evt, data = [m._request_area_live_cookies_entry]:
        self._handlers.set_file_entry_text(evt, data))

    m._request_area_load_cookies_ckbtn.Create(_sb, label = '本地Cookie文件')
    m._request_area_load_cookies_entry.Create(_sb)
    m._request_area_load_cookies_chooser.Create(_sb, label = '打开')
    m._request_area_load_cookies_chooser.Bind(
      EVT_BUTTON,
      lambda evt, data = [m._request_area_load_cookies_entry]:
        self._handlers.set_file_entry_text(evt, data))

    self._request_data_hr2 = wx.StaticLine(_sb)
    m._request_area_auth_type_ckbtn.Create(_sb, label = 'http认证类型')
    m._request_area_auth_type_entry.Create(_sb)
    m._request_area_auth_cred_ckbtn.Create(_sb, label = 'http认证账密')
    m._request_area_auth_cred_entry.Create(_sb)
    m._request_area_auth_file_ckbtn.Create(_sb, label = 'http认证文件')
    m._request_area_auth_file_entry.Create(_sb)
    m._request_area_auth_file_chooser.Create(_sb, label = '打开')
    m._request_area_auth_file_chooser.Bind(
      EVT_BUTTON,
      lambda evt, data = [m._request_area_auth_file_entry]:
        self._handlers.set_file_entry_text(evt, data))

    m._request_area_csrf_method_ckbtn.Create(_sb, label = 'csrf_method')
    m._request_area_csrf_method_entry.Create(_sb)
    m._request_area_csrf_retries_ckbtn.Create(_sb, label = 'csrf_retries')
    m._request_area_csrf_retries_entry.Create(_sb)
    m._request_area_csrf_token_ckbtn.Create(_sb, label = 'csrf_token')
    m._request_area_csrf_token_entry.Create(_sb)
    m._request_area_csrf_url_ckbtn.Create(_sb, label = '获取csrf_token的url')
    m._request_area_csrf_url_entry.Create(_sb)
Example #2
0
    def build_page1_setting_detection(self, panel, m):
        _sb = m._detection_area
        _sb.Create(panel, label='探测选项')

        m._detection_area_level_ckbtn.Create(_sb, label='探测等级(范围)')
        m._detection_area_level_scale.Create(_sb,
                                             value=1,
                                             minValue=1,
                                             maxValue=5,
                                             style=wx.SL_VALUE_LABEL)
        m._detection_area_risk_ckbtn.Create(_sb, label='payload危险等级')
        m._detection_area_risk_scale.Create(_sb,
                                            value=1,
                                            minValue=1,
                                            maxValue=3,
                                            style=wx.SL_VALUE_LABEL)
        m._detection_area_str_ckbtn.Create(_sb, label='指定字符串')
        m._detection_area_str_entry.Create(_sb)
        m._detection_area_not_str_ckbtn.Create(_sb, label='指定字符串')
        m._detection_area_not_str_entry.Create(_sb)
        m._detection_area_re_ckbtn.Create(_sb, label='指定正则')
        m._detection_area_re_entry.Create(_sb)
        m._detection_area_code_ckbtn.Create(_sb, label='指定http状态码')
        m._detection_area_code_entry.Create(_sb)
        m._detection_area_text_only_ckbtn.Create(_sb, label='仅对比文本')
        m._detection_area_titles_ckbtn.Create(_sb, label='仅对比title')

        m._detection_area_text_only_ckbtn.Bind(
            EVT_CHECKBOX,
            lambda evt, cbtmp=m._detection_area_titles_ckbtn: self.cb_single(
                evt, cbtmp))
        m._detection_area_titles_ckbtn.Bind(
            EVT_CHECKBOX,
            lambda evt, cbtmp=m._detection_area_text_only_ckbtn: self.
            cb_single(evt, cbtmp))

        m._detection_area_smart_ckbtn.Create(_sb, label='寻找明显目标并测试')

        self._detection_area_hr = wx.StaticLine(_sb)
        self._detection_area_level_note = st(
            _sb,
            label='Level 1(默认): 所有GET, POST参数\n'
            'Level 2  追加: Cookie\n'
            'Level 3  追加: User-Agent/Referer\n'
            'Level 4  追加: 啥?\n'
            'Level 5  追加: Host报头')
        self._detection_area_risk_note = st(_sb,
                                            label='Risk 1(默认): 基本无风险\n'
                                            'Risk 2  追加: 大量时间型盲注\n'
                                            'Risk 3  追加: OR型布尔盲注')
Example #3
0
    def build_page1_request_proxy(self, panel, m):
        _sb = m._request_proxy_area
        _sb.Create(panel, label='隐匿/代理')

        m._request_area_safe_url_ckbtn.Create(_sb, label='顺便掺杂地访问一个安全url')
        m._request_area_safe_url_entry.Create(_sb)
        m._request_area_safe_post_ckbtn.Create(_sb, label='提交到安全url的post数据')
        m._request_area_safe_post_entry.Create(_sb)
        m._request_area_safe_req_ckbtn.Create(_sb, label='从文件载入safe HTTP请求')
        m._request_area_safe_req_entry.Create(_sb)
        m._request_area_safe_req_chooser.Create(_sb, label='打开')

        m._request_area_safe_req_chooser.Bind(
            EVT_BUTTON,
            lambda evt, data=[m._request_area_safe_req_entry
                              ]: self._handlers.set_file_entry_text(evt, data))

        m._request_area_safe_freq_ckbtn.Create(_sb, label='访问安全url的频率')
        m._request_area_safe_freq_entry.Create(_sb)
        self._request_proxy_hr = wx.StaticLine(_sb)
        m._request_area_ignore_proxy_ckbtn.Create(_sb, label='忽略系统默认代理')
        m._request_area_proxy_ckbtn.Create(_sb, label='使用代理')
        m._request_area_proxy_file_ckbtn.Create(_sb, label='代理列表文件')
        m._request_area_proxy_file_entry.Create(_sb)
        m._request_area_proxy_file_chooser.Create(_sb, label='打开')

        m._request_area_proxy_file_chooser.Bind(
            EVT_BUTTON,
            lambda evt, data=[m._request_area_proxy_file_entry
                              ]: self._handlers.set_file_entry_text(evt, data))

        m._request_area_proxy_ip_label.Create(_sb, label='IP:')
        m._request_area_proxy_ip_entry.Create(_sb)
        m._request_area_proxy_port_label.Create(_sb, label='PORT:')
        m._request_area_proxy_port_entry.Create(_sb)
        m._request_area_proxy_username_label.Create(_sb, label='username:'******'password:'******'使用Tor匿名网络')
        m._request_area_tor_port_ckbtn.Create(_sb, label='Tor端口:')
        m._request_area_tor_port_entry.Create(_sb)
        m._request_area_tor_type_ckbtn.Create(_sb, label='Tor代理类型')
        m._request_area_tor_type_entry.Create(_sb)
        m._request_area_check_tor_ckbtn.Create(_sb, label='检查Tor连接')
Example #4
0
    def build_page1_other_general(self, panel, m):
        _sb = m._page1_other_general_area
        _sb.Create(panel, label='通用项')

        m._page1_general_check_internet_ckbtn.Create(_sb, label='检查与目标的网络连接')
        m._page1_general_fresh_queries_ckbtn.Create(_sb, label='刷新此次查询')
        m._page1_general_forms_ckbtn.Create(_sb, label='获取form表单参数并测试')
        m._page1_general_parse_errors_ckbtn.Create(_sb, label='解析并显示响应中的错误信息')
        m._page1_misc_cleanup_ckbtn.Create(_sb, label='清理DBMS中的入侵痕迹!')
        m._page1_general_table_prefix_ckbtn.Create(_sb, label='临时表前缀')
        m._page1_general_table_prefix_entry.Create(_sb)
        # size = ()是以px为单位的, 如果想设成以字符长度为宽, 蛋疼如下~~:
        m._page1_general_table_prefix_entry.SetInitialSize(
            m._page1_general_table_prefix_entry.GetSizeFromTextSize(
                m._page1_general_table_prefix_entry.GetTextExtent("a" * 16).x))
        m._page1_general_binary_fields_ckbtn.Create(_sb, label='有二进制值的字段')
        m._page1_general_binary_fields_entry.Create(_sb)
        m._page1_general_binary_fields_entry.SetInitialSize(
            m._page1_general_binary_fields_entry.GetSizeFromTextSize(
                m._page1_general_binary_fields_entry.GetTextExtent("a" *
                                                                   16).x))
        m._page1_general_preprocess_ckbtn.Create(_sb, label='指定预处理响应数据的脚本')
        m._page1_general_preprocess_entry.Create(_sb)
        m._page1_general_preprocess_chooser.Create(_sb, label='打开')
        m._page1_general_preprocess_chooser.Bind(
            EVT_BUTTON,
            lambda evt, data=[m._page1_general_preprocess_entry
                              ]: self._handlers.set_file_entry_text(evt, data))

        m._page1_general_charset_ckbtn.Create(_sb, label='盲注所用的字符集合')
        m._page1_general_charset_entry.Create(_sb, value='0123456789abcdef')
        m._page1_general_encoding_ckbtn.Create(_sb, label='字符编码(用于数据获取)')
        m._page1_general_encoding_entry.Create(_sb)
        m._page1_general_web_root_ckbtn.Create(_sb, label='远程web的根目录')
        m._page1_general_web_root_entry.Create(_sb)
        m._page1_general_scope_ckbtn.Create(_sb, label='从代理日志过滤出目标(正则)')
        m._page1_general_scope_entry.Create(_sb)
        m._page1_general_scope_chooser.Create(_sb, label='打开')
        m._page1_general_scope_chooser.Bind(
            EVT_BUTTON,
            lambda evt, data=[m._page1_general_scope_entry
                              ]: self._handlers.set_file_entry_text(evt, data))

        m._page1_general_test_filter_ckbtn.Create(
            _sb, label='测试过滤器(从payload/title选择)')
        m._page1_general_test_filter_entry.Create(_sb)
        m._page1_general_test_skip_ckbtn.Create(_sb,
                                                label='测试跳过(从payload/title选择)')
        m._page1_general_test_skip_entry.Create(_sb)

        m._page1_general_crawl_ckbtn.Create(_sb, label='爬网站(的层级/深度)')
        m._page1_general_crawl_entry.Create(_sb)
        m._page1_general_crawl_exclude_ckbtn.Create(_sb, label='爬站时排除(正则)页面')
        m._page1_general_crawl_exclude_entry.Create(_sb)
        self._page1_general_hr = wx.StaticLine(_sb)
        m._page1_general_traffic_file_ckbtn.Create(_sb, label='转存所有http流量到文本')
        m._page1_general_traffic_file_entry.Create(_sb)
        m._page1_general_traffic_file_chooser.Create(_sb, label='打开')
        m._page1_general_traffic_file_chooser.Bind(
            EVT_BUTTON,
            lambda evt, data=[m._page1_general_traffic_file_entry
                              ]: self._handlers.set_file_entry_text(evt, data))

        m._page1_general_har_ckbtn.Create(_sb, label='转存至HAR文件')
        m._page1_general_har_entry.Create(_sb)
        m._page1_general_har_chooser.Create(_sb, label='打开')
        m._page1_general_har_chooser.Bind(
            EVT_BUTTON,
            lambda evt, data=[m._page1_general_har_entry
                              ]: self._handlers.set_file_entry_text(evt, data))

        m._page1_general_flush_session_ckbtn.Create(_sb, label='清空目标的会话文件')
        m._page1_general_dump_format_ckbtn.Create(_sb, label='dump结果的文件格式')
        m._page1_general_dump_format_entry.Create(_sb)
        m._page1_general_csv_del_ckbtn.Create(_sb, label='(csv文件的)分隔符')
        m._page1_general_csv_del_entry.Create(_sb, value=',')
        m._page1_general_save_ckbtn.Create(_sb, label='保存选项至INI文件')
        m._page1_general_save_entry.Create(_sb)
        m._page1_general_save_chooser.Create(_sb, label='打开')
        m._page1_general_save_chooser.Bind(
            EVT_BUTTON,
            lambda evt, data=[m._page1_general_save_entry
                              ]: self._handlers.set_file_entry_text(evt, data))

        m._page1_general_session_file_ckbtn.Create(_sb, label='载入会话文件')
        m._page1_general_session_file_entry.Create(_sb)
        m._page1_general_session_file_chooser.Create(_sb, label='打开')
        m._page1_general_session_file_chooser.Bind(
            EVT_BUTTON,
            lambda evt, data=[m._page1_general_session_file_entry
                              ]: self._handlers.set_file_entry_text(evt, data))

        m._page1_general_output_dir_ckbtn.Create(_sb, label='指定output目录')
        m._page1_general_output_dir_entry.Create(_sb)
        m._page1_general_output_dir_chooser.Create(_sb, label='打开')
        m._page1_general_output_dir_chooser.Bind(
            EVT_BUTTON,
            lambda evt, data=[m._page1_general_output_dir_entry, '选择 结果保存在哪'
                              ]: self._handlers.set_file_entry_text(evt, data))