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)
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型布尔盲注')
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连接')
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))