Sets absolute paths for project directories and files
(rootPath)
| 1502 | return applyFunctionRecursively(value, clean) |
| 1503 | |
| 1504 | def setPaths(rootPath): |
| 1505 | """ |
| 1506 | Sets absolute paths for project directories and files |
| 1507 | """ |
| 1508 | |
| 1509 | paths.SQLMAP_ROOT_PATH = rootPath |
| 1510 | |
| 1511 | # sqlmap paths |
| 1512 | paths.SQLMAP_DATA_PATH = os.path.join(paths.SQLMAP_ROOT_PATH, "data") |
| 1513 | paths.SQLMAP_EXTRAS_PATH = os.path.join(paths.SQLMAP_ROOT_PATH, "extra") |
| 1514 | paths.SQLMAP_SETTINGS_PATH = os.path.join(paths.SQLMAP_ROOT_PATH, "lib", "core", "settings.py") |
| 1515 | paths.SQLMAP_TAMPER_PATH = os.path.join(paths.SQLMAP_ROOT_PATH, "tamper") |
| 1516 | |
| 1517 | paths.SQLMAP_PROCS_PATH = os.path.join(paths.SQLMAP_DATA_PATH, "procs") |
| 1518 | paths.SQLMAP_SHELL_PATH = os.path.join(paths.SQLMAP_DATA_PATH, "shell") |
| 1519 | paths.SQLMAP_TXT_PATH = os.path.join(paths.SQLMAP_DATA_PATH, "txt") |
| 1520 | paths.SQLMAP_UDF_PATH = os.path.join(paths.SQLMAP_DATA_PATH, "udf") |
| 1521 | paths.SQLMAP_XML_PATH = os.path.join(paths.SQLMAP_DATA_PATH, "xml") |
| 1522 | paths.SQLMAP_XML_BANNER_PATH = os.path.join(paths.SQLMAP_XML_PATH, "banner") |
| 1523 | paths.SQLMAP_XML_PAYLOADS_PATH = os.path.join(paths.SQLMAP_XML_PATH, "payloads") |
| 1524 | |
| 1525 | # sqlmap files |
| 1526 | paths.COMMON_COLUMNS = os.path.join(paths.SQLMAP_TXT_PATH, "common-columns.txt") |
| 1527 | paths.COMMON_FILES = os.path.join(paths.SQLMAP_TXT_PATH, "common-files.txt") |
| 1528 | paths.COMMON_TABLES = os.path.join(paths.SQLMAP_TXT_PATH, "common-tables.txt") |
| 1529 | paths.COMMON_OUTPUTS = os.path.join(paths.SQLMAP_TXT_PATH, 'common-outputs.txt') |
| 1530 | paths.DIGEST_FILE = os.path.join(paths.SQLMAP_TXT_PATH, "sha256sums.txt") |
| 1531 | paths.SQL_KEYWORDS = os.path.join(paths.SQLMAP_TXT_PATH, "keywords.txt") |
| 1532 | paths.SMALL_DICT = os.path.join(paths.SQLMAP_TXT_PATH, "smalldict.txt") |
| 1533 | paths.USER_AGENTS = os.path.join(paths.SQLMAP_TXT_PATH, "user-agents.txt") |
| 1534 | paths.WORDLIST = os.path.join(paths.SQLMAP_TXT_PATH, "wordlist.tx_") |
| 1535 | paths.ERRORS_XML = os.path.join(paths.SQLMAP_XML_PATH, "errors.xml") |
| 1536 | paths.BOUNDARIES_XML = os.path.join(paths.SQLMAP_XML_PATH, "boundaries.xml") |
| 1537 | paths.QUERIES_XML = os.path.join(paths.SQLMAP_XML_PATH, "queries.xml") |
| 1538 | paths.GENERIC_XML = os.path.join(paths.SQLMAP_XML_BANNER_PATH, "generic.xml") |
| 1539 | paths.MSSQL_XML = os.path.join(paths.SQLMAP_XML_BANNER_PATH, "mssql.xml") |
| 1540 | paths.MYSQL_XML = os.path.join(paths.SQLMAP_XML_BANNER_PATH, "mysql.xml") |
| 1541 | paths.ORACLE_XML = os.path.join(paths.SQLMAP_XML_BANNER_PATH, "oracle.xml") |
| 1542 | paths.PGSQL_XML = os.path.join(paths.SQLMAP_XML_BANNER_PATH, "postgresql.xml") |
| 1543 | |
| 1544 | for path in paths.values(): |
| 1545 | if any(path.endswith(_) for _ in (".txt", ".xml", ".tx_")): |
| 1546 | checkFile(path) |
| 1547 | |
| 1548 | if IS_WIN: |
| 1549 | # Reference: https://pureinfotech.com/list-environment-variables-windows-10/ |
| 1550 | if os.getenv("LOCALAPPDATA"): |
| 1551 | paths.SQLMAP_HOME_PATH = os.path.expandvars("%LOCALAPPDATA%\\sqlmap") |
| 1552 | elif os.getenv("USERPROFILE"): |
| 1553 | paths.SQLMAP_HOME_PATH = os.path.expandvars("%USERPROFILE%\\Local Settings\\sqlmap") |
| 1554 | else: |
| 1555 | paths.SQLMAP_HOME_PATH = os.path.join(os.path.expandvars(os.path.expanduser("~")), "sqlmap") |
| 1556 | else: |
| 1557 | paths.SQLMAP_HOME_PATH = os.path.join(os.path.expandvars(os.path.expanduser("~")), ".sqlmap") |
| 1558 | |
| 1559 | if not os.path.isdir(paths.SQLMAP_HOME_PATH): |
| 1560 | if "XDG_DATA_HOME" in os.environ: |
| 1561 | paths.SQLMAP_HOME_PATH = os.path.join(os.environ["XDG_DATA_HOME"], "sqlmap") |
no test coverage detected
searching dependent graphs…