相关依赖
sqlmap 使用 Python 编写,Python 是一门动态的、面向对象的解析型语言,你可以从 http://python.org/download/ 上面免费下载安装。因而 sqlmap 独立于操作系统,是一款跨平台的工具。使用 sqlmap 你需要 Python 2.6.x 或者 2.7.x 版本的相关环境。不过,通常 GNU/Linux 下的发行版本都会预安装好相关的 Python 版本。其他的 Unix 和 Mac OSX 通常都会有相关的 Python 依赖包,并且可以很容易地进行相关安装。Windows 用户可以针对 x86、AMD64 和 Itanium 选择不同的安装程序。
sqlmap 的部分漏洞利用功能依赖于 Metasploit 框架。你可以从这里获取 Metasploit 框架,版本要求是 3.5 或者更高版本。对于 ICMP 隧道入侵技术,sqlmap 需要 Impacket 依赖包。
如果你想要绕过 Web 应用,直接连接到数据库服务器(开启 -d
选项),你需要根据攻击目标中不同数据库管理系统安装不同的 Python 连接依赖包:
- DB2:python ibm-db
- Firebird:python-kinterbasdb
- Microsoft Access:python-pyodbc
- Microsoft SQL Server:python-pymssql
- MySQL:python pymysql
- Oracle:python cx_Oracle
- PostgreSQL:python-psycopg2
- SQLite:python-pysqlite2
- Sybase:python-pymssql
如果你想要攻击部署了 NTLM 验证的 Web 应用,那么你需要安装 python-ntlm 依赖包。
此外,如果你是在 Windows 中运行 sqlmap,为了更好地支持 SQL shell 和 OS shell 中 sqlmap TAB 自动补全功能和历史记录功能,那么你可能会想要安装 PyReadline 依赖包。需要注意的是,在其他系统中,这些功能都是由标准 Python 依赖包 readline 支持的。