Skip to content

Commit d2a65cd

Browse files
committed
log_view_buffer missd %s
1 parent ee7d9f7 commit d2a65cd

File tree

9 files changed

+127
-118
lines changed

9 files changed

+127
-118
lines changed

.gitignore

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ parts/
2020
sdist/
2121
var/
2222
wheels/
23+
pip-wheel-metadata/
24+
share/python-wheels/
2325
*.egg-info/
2426
.installed.cfg
2527
*.egg
@@ -38,12 +40,14 @@ pip-delete-this-directory.txt
3840
# Unit test / coverage reports
3941
htmlcov/
4042
.tox/
43+
.nox/
4144
.coverage
4245
.coverage.*
4346
.cache
4447
nosetests.xml
4548
coverage.xml
4649
*.cover
50+
*.py,cover
4751
.hypothesis/
4852
.pytest_cache/
4953

@@ -55,6 +59,7 @@ coverage.xml
5559
*.log
5660
local_settings.py
5761
db.sqlite3
62+
db.sqlite3-journal
5863

5964
# Flask stuff:
6065
instance/
@@ -72,11 +77,26 @@ target/
7277
# Jupyter Notebook
7378
.ipynb_checkpoints
7479

80+
# IPython
81+
profile_default/
82+
ipython_config.py
83+
7584
# pyenv
7685
.python-version
7786

78-
# celery beat schedule file
87+
# pipenv
88+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
90+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
91+
# install all needed dependencies.
92+
#Pipfile.lock
93+
94+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
95+
__pypackages__/
96+
97+
# Celery stuff
7998
celerybeat-schedule
99+
celerybeat.pid
80100

81101
# SageMath parsed files
82102
*.sage.py
@@ -102,6 +122,11 @@ venv.bak/
102122

103123
# mypy
104124
.mypy_cache/
125+
.dmypy.json
126+
dmypy.json
127+
128+
# Pyre type checker
129+
.pyre/
105130

106131
*.lprof
107132
*.tmp

handler_api.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#!/usr/bin/env python3
2-
# encoding: utf-8
32
#
43
# 2019年 05月 14日 星期二 22:32:20 CST
54

@@ -41,7 +40,7 @@ def task_new(self, button):
4140

4241
def admin_list(self, button):
4342
'''
44-
@get("/admin/<taskid>/list") 查看所有任务并显示运行状态
43+
@get("/admin/<taskid>/list") 查看所有任务, 并显示运行状态
4544
'''
4645
_host = self.m._page4_api_server_entry.get_text().strip()
4746
_token = self.m._page4_admin_token_entry.get_text().strip()
@@ -226,7 +225,7 @@ def admin_flush(self, button):
226225
if _resp['success']:
227226
for _a_child in self.w._api_admin_list_rows.get_children():
228227
self.w._api_admin_list_rows.remove(_a_child)
229-
self.task_view_append('清空全部任务: 成功')
228+
self.task_view_append('清空全部任务: 成功.')
230229
except Exception as e:
231230
self.task_view_append(e)
232231

handlers.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import time
66
from os import environ, name as OS_NAME
7-
# python3.5+
87
from pathlib import Path
98
from urllib.parse import urlparse
109

@@ -14,7 +13,7 @@
1413
# logger = get_console_logger()
1514

1615
IS_POSIX = True if OS_NAME == 'posix' else False
17-
QUOTE = "'%s'" if OS_NAME == 'posix' else '"%s"' # dos下只能用双引号
16+
QUOTE = "'%s'" if OS_NAME == 'posix' else '"%s"' # for win, legacy
1817

1918

2019
class Handler(object):
@@ -40,7 +39,7 @@ def build_all(self, button):
4039

4140
def run_cmdline(self, button):
4241
'''
43-
only for posix, won't work for win now.
42+
won't work at win.
4443
'''
4544
sqlmap_path = self.get_sqlmap_path()
4645
_target = self._get_target()
@@ -50,7 +49,6 @@ def run_cmdline(self, button):
5049
self.w.main_notebook.next_page()
5150
_cmdline_str = '%s %s %s\n' % (sqlmap_path, _target, _sqlmap_opts)
5251
# print(_cmdline_str, len(_cmdline_str.encode('utf8')))
53-
# self.m._page2_cmdline_str_label.set_text("running: " + _cmdline_str)
5452
if Vte.MAJOR_VERSION >= 0 and Vte.MINOR_VERSION > 52:
5553
self.m._page2_terminal.feed_child_binary(_cmdline_str.encode('utf8'))
5654
else:
@@ -88,13 +86,12 @@ def set_file_entry_text(self, button, data):
8886
'''
8987
data: [file_entry, 'title of chooser']
9088
'''
91-
if len(data) > 1: # 选择目录
89+
if len(data) > 1:
9290
dialog = g.FileChooserDialog(data[1], self.w,
9391
g.FileChooserAction.SELECT_FOLDER,
9492
('_Cancel', g.ResponseType.CANCEL,
9593
'_Select', g.ResponseType.OK))
9694
else:
97-
# 点击左侧的 最近使用 可选择目录, 小问题, 不用管.
9895
dialog = g.FileChooserDialog("选择文件", self.w,
9996
g.FileChooserAction.OPEN,
10097
('_Cancel', g.ResponseType.CANCEL,
@@ -131,7 +128,7 @@ def _get_url_dir(self):
131128
def _log_view_insert(self, file_path):
132129
'''
133130
file_path: pathlib.Path
134-
sqlmap库中dataToOutFile默认utf8写入
131+
dataToOutFile in sqlmap lib writes with utf8 (default)
135132
'''
136133
_log_view_textbuffer = self.m._page3_log_view.get_buffer()
137134

@@ -145,7 +142,7 @@ def _log_view_insert(self, file_path):
145142
for _line_tmp in _line_list_tmp:
146143
_log_view_textbuffer.insert(_end, _line_tmp)
147144
else:
148-
_log_view_textbuffer.insert(_end, ': 空文件' % str(file_path))
145+
_log_view_textbuffer.insert(_end, '%s: 空文件' % str(file_path))
149146
except EnvironmentError as e:
150147
_log_view_textbuffer.insert(_end, str(e))
151148
finally:
@@ -758,7 +755,6 @@ def _get_http_proxy(self):
758755
return ''
759756

760757
def _get_tampers(self):
761-
''' --tamper=TAMPER Use given script(s) for tampering injection data '''
762758
_tamper_textbuffer = self.m._tamper_area_tamper_view.get_buffer()
763759
_tampers = ''
764760

model.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ def __init__(self):
268268
self._file_read_area_file_read_ckbtn = cb('远程文件路径(--file-read=)')
269269
self._file_read_area_file_read_entry = et(text = '/etc/passwd')
270270
self._file_read_area_file_read_btn = btn.new_with_label('查看')
271-
# 文件上传
271+
# 上传本地文件
272272
self._file_write_area_udf_ckbtn = cb('注入UDF(仅限MySQL和PostgreSQL)')
273273
self._file_write_area_shared_lib_ckbtn = cb('本地共享库路径(--shared-lib=)')
274274
self._file_write_area_shared_lib_entry = FileEntry()
@@ -380,7 +380,6 @@ def __init__(self):
380380
self._page1_misc_results_file_entry = FileEntry()
381381
self._page1_misc_results_file_chooser = btn.new_with_label('打开')
382382
# 输出区(2)
383-
# self._page2_cmdline_str_label = label.new('')
384383
self._page2_respwan_btn = btn.new_with_label('重开终端')
385384
self._page2_right_btn = btn.new_with_label('context menu')
386385
self._page2_terminal = Vte.Terminal.new()

opts_gtk.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,7 @@ def _build_page1_setting_inject(self, m):
152152
_boxes[10].pack_start(m._inject_area_no_escape_ckbtn, False, True, 5)
153153

154154
_invalid_label = label.new('对payload中无效值:')
155-
_invalid_label.set_tooltip_text('默认情况下, 要使原参数值无效时会改成相反数\n'
156-
'真: id=13 假: id=-13')
155+
_invalid_label.set_tooltip_text('默认情况下:\n真: id=13, 假: id=-13')
157156

158157
_boxes[11].pack_start(_invalid_label, False, True, 5)
159158
_boxes[11].pack_end(m._inject_area_invalid_logic_ckbtn, False, True, 5)
@@ -268,7 +267,7 @@ def _build_page1_setting_tamper(self, m):
268267
一直按回车出现滚动条后, 光标会下移 直到移出可见区, 原内容不会上移
269268
即内容的显示没有 下滑 滚轮的效果.
270269
'''
271-
f = Frame.new('tamper脚本')
270+
f = Frame.new('Tamper脚本')
272271

273272
_scrolled = g.ScrolledWindow()
274273
_scrolled.set_size_request(300, -1)
@@ -672,15 +671,14 @@ def _build_page1_enumeration_limit(self, m):
672671
def _build_page1_enumeration_blind(self, m):
673672
f = Frame.new('盲注选项')
674673

675-
_boxes = [Box() for _ in range(3)]
674+
_boxes = [Box() for _ in range(2)]
676675

677676
_boxes[0].pack_start(m._blind_area_first_ckbtn, False, True, 5)
678677
_boxes[0].pack_start(m._blind_area_first_entry, False, True, 0)
679678
_boxes[0].pack_start(label.new('个字符'), False, True, 5)
680679
_boxes[1].pack_start(m._blind_area_last_ckbtn, False, True, 5)
681680
_boxes[1].pack_start(m._blind_area_last_entry, False, True, 0)
682681
_boxes[1].pack_start(label.new('个字符'), False, True, 5)
683-
_boxes[2].pack_start(label.new('只适用于盲注,\n因为报错,union注入要求列数相同'), False, True, 5)
684682

685683
_blind_area_opts = Box(orientation=VERTICAL)
686684
for _ in _boxes:
@@ -748,7 +746,6 @@ def _build_page1_enumeration_brute_force(self, m):
748746
_brute_force_area_opts = Box(orientation=VERTICAL)
749747

750748
_row1 = Box()
751-
752749
_row1.pack_start(label.new('检查是否存在:'), False, True, 10)
753750
_row1.pack_start(m._brute_force_area_common_tables_ckbtn, False, True, 0)
754751
_row1.pack_start(m._brute_force_area_common_columns_ckbtn, False, True, 5)
@@ -770,7 +767,7 @@ def _build_page1_file(self):
770767
# http://www.sqlinjection.net/stacked-queries/
771768
# https://www.cnblogs.com/hongfei/p/3895980.html
772769
_file_note.set_tooltip_text(
773-
'堆查询: MySQL/PHP - 不支持(supported by MySQL for other API)\n'
770+
'堆查询: MySQL/PHP - 不支持(but supported by MySQL with other API)\n'
774771
' SQL Server/Any API - 支持\n'
775772
' PostgreSQL/PHP - 支持\n'
776773
' Oracle/Any API - 不支持')
@@ -810,7 +807,7 @@ def _build_page1_file_read(self, m):
810807
return f
811808

812809
def _build_page1_file_write(self, m):
813-
f = Frame.new('文件上传')
810+
f = Frame.new('上传本地文件')
814811

815812
_boxes = [Box() for _ in range(3)]
816813

session.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def _load_from_tmp_ckbtn(self):
117117
else: # _checked = [''], 则使用默认值
118118
pass
119119
except KeyError as e:
120-
# 如果没有checked项, 则pass
120+
# if no checked button, then pass
121121
pass
122122

123123

sqlmap_gtk.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
# 2018年 08月 26日 星期日 16:54:41 CST
44
# required: python3.6+, python3-gi, sqlmap
55

6-
# python3.5+
76
from pathlib import Path
87
from subprocess import (Popen, PIPE, STDOUT)
98
from threading import Thread
@@ -35,7 +34,6 @@ def __init__(self):
3534

3635
self._handlers = Handler(self, m)
3736

38-
# g.Box默认的orientation是HORIZONTAL
3937
_main_box = Box(orientation=VERTICAL)
4038

4139
self._target_notebook = g.Notebook()
@@ -72,13 +70,11 @@ def __init__(self):
7270
# 添加tooltips, placeholders等
7371
INIT_MESG(m)
7472

75-
# 读取 上次所有选项
7673
self.session = Session(m)
7774
self.session.load_from_tmp()
7875

7976
def on_quit(self):
8077
try:
81-
# 保存 此次所有选项
8278
self.session.save_to_tmp()
8379
except Exception as e:
8480
raise e
@@ -261,7 +257,7 @@ def _build_page1(self):
261257

262258
_build_button = btn.new_with_mnemonic('A.收集选项(_A)')
263259
_build_button.connect('clicked', self._handlers.build_all)
264-
# 用于改善ui的使用体验
260+
265261
_unselect_all_btn = btn.new_with_mnemonic('反选所有复选框(_S)')
266262
_unselect_all_btn.connect('clicked', self.unselect_all_ckbtn)
267263
_clear_all_entry = btn.new_with_mnemonic('清空所有输入框(_D)')
@@ -287,14 +283,12 @@ def _build_page2(self):
287283
box.set_border_width(10)
288284

289285
_row1 = Box(spacing = 6)
290-
# m._page2_cmdline_str_label.set_alignment(0, 0.5) # 怎么没有垂直居中?
291286
m._page2_respwan_btn.connect('clicked', self._handlers.respawn_terminal)
292287
m._page2_right_btn.connect("button-press-event", self.on_right_click)
293288
# can not disable
294289
# m._page2_right_btn.set_sensitive(False)
295290
self._build_page2_context()
296291

297-
# _row1.pack_start(m._page2_cmdline_str_label, True, True, 0)
298292
_row1.pack_start(m._page2_respwan_btn, False, True, 0)
299293
_row1.pack_start(m._page2_right_btn, False, True, 0)
300294

@@ -375,7 +369,7 @@ def on_right_click_by_accel(self, widget, event):
375369

376370
def on_clipboard_by_key(self, widget, event):
377371
_ctrl = event.state & d.ModifierType.CONTROL_MASK
378-
keysym = event.keyval # see: gdk/gdkkeysyms.h
372+
keysym = event.keyval
379373

380374
if _ctrl and keysym == d.KEY_C:
381375
return self._copy()
@@ -494,7 +488,7 @@ def _build_page4(self):
494488
_rbox.pack_start(_page4_option_set_view_tip, False, True, 2)
495489
_rbox.pack_start(_option_set_scrolled, True, True, 2)
496490

497-
# Warning: don't edit pack1(), pack2() again, or it would be strange.
491+
# Warning: don't edit pack1(), pack2() again, otherwise it becomes strange.
498492
_paned.pack1(_lscrolled, False, False)
499493
_paned.pack2(_rbox, False, True)
500494
_row3.add(_paned)
@@ -565,8 +559,6 @@ def _set_manual_view(self, textbuffer, isClick):
565559
GLib.idle_add(self._get_sqlmap_path_btn.set_sensitive, False)
566560
GLib.idle_add(textbuffer.set_text, '')
567561

568-
# WIN下不能用此行
569-
# _manual_hh = ['/usr/bin/env', 'sqlmap', '-hh']
570562
# _manual_hh = '/home/needle/bin/output_interval.sh'
571563
_manual_hh = [self._handlers.get_sqlmap_path(), '-hh']
572564
try:

0 commit comments

Comments
 (0)