From b2a8cb8f77312d1c8de01354fb310696d2ef03fc Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Thu, 21 Nov 2019 11:36:13 +0100 Subject: [PATCH] Minor update --- lib/core/gui.py | 34 +++++++++++++++++++++++----------- lib/core/settings.py | 3 ++- lib/parse/cmdline.py | 6 +++--- sqlmap.conf | 8 ++++---- 4 files changed, 32 insertions(+), 19 deletions(-) diff --git a/lib/core/gui.py b/lib/core/gui.py index eee1561eb..277fc0056 100644 --- a/lib/core/gui.py +++ b/lib/core/gui.py @@ -5,6 +5,16 @@ Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/) See the file 'LICENSE' for copying permission """ +import webbrowser + +from lib.core.settings import DEV_EMAIL_ADDRESS +from lib.core.settings import ISSUES_PAGE +from lib.core.settings import GIT_PAGE +from lib.core.settings import SITE +from lib.core.settings import VERSION_STRING +from lib.core.settings import WIKI_PAGE +from thirdparty.six.moves import tkinter_messagebox as _tkinter_messagebox + def runGui(parser): import re import tkinter as tk @@ -42,7 +52,7 @@ def runGui(parser): event.widget.configure(height=tab.winfo_reqheight()) window = tk.Tk() - window.title("sqlmap") + window.title(VERSION_STRING) # Reference: https://www.holadevs.com/pregunta/64750/change-selected-tab-color-in-ttknotebook style = ttk.Style() @@ -56,28 +66,28 @@ def runGui(parser): menubar = tk.Menu(window) filemenu = tk.Menu(menubar, tearoff=0) - filemenu.add_command(label="Open", command=dummy) - filemenu.add_command(label="Save", command=dummy) + filemenu.add_command(label="Open", command=dummy, state=tk.DISABLED) + filemenu.add_command(label="Save", command=dummy, state=tk.DISABLED) filemenu.add_separator() filemenu.add_command(label="Exit", command=window.quit) menubar.add_cascade(label="File", menu=filemenu) - runmenu = tk.Menu(menubar, tearoff=0) - runmenu.add_command(label="Start", command=dummy) - runmenu.add_command(label="Stop", command=dummy) - menubar.add_cascade(label="Run", menu=runmenu) + menubar.add_command(label="Run", command=window.quit) helpmenu = tk.Menu(menubar, tearoff=0) - helpmenu.add_command(label="Wiki pages", command=dummy) - helpmenu.add_command(label="Official site", command=dummy) + helpmenu.add_command(label="Official site", command=lambda: webbrowser.open(SITE)) + helpmenu.add_command(label="Github pages", command=lambda: webbrowser.open(GIT_PAGE)) + helpmenu.add_command(label="Wiki pages", command=lambda: webbrowser.open(WIKI_PAGE)) + helpmenu.add_command(label="Report issue", command=lambda: webbrowser.open(ISSUES_PAGE)) helpmenu.add_separator() - helpmenu.add_command(label="About", command=dummy) + helpmenu.add_command(label="About", command=lambda: _tkinter_messagebox.showinfo("About", "Copyright (c) 2006-2019\n\n (%s)" % DEV_EMAIL_ADDRESS)) menubar.add_cascade(label="Help", menu=helpmenu) window.config(menu=menubar) notebook = AutoresizableNotebook(window) + first = None frames = {} for group in parser.option_groups: frame = frames[group.title] = tk.Frame(notebook, width=200, height=200) @@ -105,6 +115,7 @@ def runGui(parser): widget = tk.Checkbutton(frame, variable=var) widget.var = var + first = first or widget widget.grid(column=1, row=row, sticky=tk.W) default = defaults.get(option.dest) @@ -119,7 +130,8 @@ def runGui(parser): tk.Label(frame).grid(column=0, row=row, sticky=tk.W) notebook.pack(expand=1, fill="both") - notebook.enable_traversal() + first.focus() + window.mainloop() \ No newline at end of file diff --git a/lib/core/settings.py b/lib/core/settings.py index 5eb08822e..4b2940af3 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -18,7 +18,7 @@ from lib.core.enums import OS from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.3.11.87" +VERSION = "1.3.11.88" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE) @@ -29,6 +29,7 @@ DEV_EMAIL_ADDRESS = "dev@sqlmap.org" ISSUES_PAGE = "https://github.com/sqlmapproject/sqlmap/issues/new" GIT_REPOSITORY = "https://github.com/sqlmapproject/sqlmap.git" GIT_PAGE = "https://github.com/sqlmapproject/sqlmap" +WIKI_PAGE = "https://github.com/sqlmapproject/sqlmap/wiki/" ZIPBALL_PAGE = "https://github.com/sqlmapproject/sqlmap/zipball/master" # colorful banner diff --git a/lib/parse/cmdline.py b/lib/parse/cmdline.py index 75e77ae0b..dfd3ed939 100644 --- a/lib/parse/cmdline.py +++ b/lib/parse/cmdline.py @@ -122,12 +122,12 @@ def cmdLineParser(argv=None): # Target options target = parser.add_argument_group("Target", "At least one of these options has to be provided to define the target(s)") - target.add_argument("-d", dest="direct", - help="Connection string for direct database connection") - target.add_argument("-u", "--url", dest="url", help="Target URL (e.g. \"http://www.site.com/vuln.php?id=1\")") + target.add_argument("-d", dest="direct", + help="Connection string for direct database connection") + target.add_argument("-l", dest="logFile", help="Parse target(s) from Burp or WebScarab proxy log file") diff --git a/sqlmap.conf b/sqlmap.conf index 8b3df5077..7c32a6312 100644 --- a/sqlmap.conf +++ b/sqlmap.conf @@ -2,16 +2,16 @@ # get target URLs from. [Target] +# Target URL. +# Example: http://192.168.1.121/sqlmap/mysql/get_int.php?id=1&cat=2 +url = + # Direct connection to the database. # Examples: # mysql://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_NAME # oracle://USER:PASSWORD@DBMS_IP:DBMS_PORT/DATABASE_SID direct = -# Target URL. -# Example: http://192.168.1.121/sqlmap/mysql/get_int.php?id=1&cat=2 -url = - # Parse targets from Burp or WebScarab logs # Valid: Burp proxy (http://portswigger.net/suite/) requests log file path # or WebScarab proxy (http://www.owasp.org/index.php/Category:OWASP_WebScarab_Project)