You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.6 KiB
45 lines
1.6 KiB
#!/usr/bin/env python
|
|
|
|
"""
|
|
Copyright (c) 2006-2024 sqlmap developers (https://sqlmap.org/)
|
|
See the file 'LICENSE' for copying permission
|
|
"""
|
|
|
|
# 导入所需的系统模块和时间模块
|
|
import sys
|
|
import time
|
|
|
|
# 获取当前Python版本号(如"3.8.0")
|
|
PYVERSION = sys.version.split()[0]
|
|
|
|
# 检查Python版本是否低于2.6
|
|
# 如果是,则输出错误信息并退出程序
|
|
# 错误信息包含当前时间和检测到的Python版本
|
|
if PYVERSION < "2.6":
|
|
sys.exit("[%s] [CRITICAL] incompatible Python version detected ('%s'). To successfully run sqlmap you'll have to use version 2.6, 2.7 or 3.x (visit 'https://www.python.org/downloads/')" % (time.strftime("%X"), PYVERSION))
|
|
|
|
# 初始化错误列表
|
|
errors = []
|
|
# 定义需要检查的核心扩展模块元组
|
|
extensions = ("bz2", "gzip", "pyexpat", "ssl", "sqlite3", "zlib")
|
|
# 遍历所有需要的扩展模块
|
|
for _ in extensions:
|
|
try:
|
|
# 尝试导入每个扩展模块
|
|
__import__(_)
|
|
except ImportError:
|
|
# 如果导入失败,将该模块名添加到错误列表中
|
|
errors.append(_)
|
|
|
|
# 如果存在任何缺失的扩展模块
|
|
if errors:
|
|
# 构建错误信息,包含:
|
|
# 1. 当前时间
|
|
# 2. 所有缺失的模块名称(以逗号分隔)
|
|
errMsg = "[%s] [CRITICAL] missing one or more core extensions (%s) " % (time.strftime("%X"), ", ".join("'%s'" % _ for _ in errors))
|
|
# 补充说明可能的原因:Python安装时缺少相应的开发包
|
|
errMsg += "most likely because current version of Python has been "
|
|
errMsg += "built without appropriate dev packages"
|
|
# 输出错误信息并退出程序
|
|
sys.exit(errMsg)
|