使用 Sqlmap 直连数据库报错
[CRITICAL] sqlmap requires ‘python-pymysql’ third-party library in order to directly connect to the DBMS ‘MySQL’. You can download it from ‘https://github.com/petehunt/PyMySQL/’. Alternative is to use a package ‘python-sqlalchemy’ with support for dialect ‘mysql’ installed
需要安装python-pymysql
安装命令
git clone https://github.com/petehunt/PyMySQL/
cd PyMySQL/
python2 setup.py install
安装成功·后就可以使用直连数据库了。
安装 pymysql 时 python2 setup.py 报错无效关键字
TypeError: 'encoding' is an invalid keyword argument for this function
python2 -m pip install --upgrade setupTools
python2 -m pip install --upgrade pip
速度慢可以考虑清华源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple
SQLAlchemy 报错 No module named 'MySQLdb'
ModuleNotFoundError: No module named 'MySQLdb'
这是因为 SQLAlchemy 连接mysql默认驱动是MySQLdb,MySQLdb仅支持 python2.x, 没有支持python3的版本,如果使用python3.x版本时,需要安装并使用额外的库 pymysql
只需要将 mysql://user:123456@0.0.0.0:3306/database
改为 mysql+pymysql://user:123456@0.0.0.0:3306/database
就好啦。
还是不行的话尝试直接安装
如果是python 2.x版本的,在命令行输入执行:pip install MySQLdb即可安装成功
如果是python 3.x版本的,直接用pip install MySQLdb无法安装,接下来解答安装过程。
sudo apt install libssl1.1
termux pip3 not found
直接创建一个链接过去ln -s /data/data/com.termux/files/usr/bin/pip3.10 /data/data/com.termux/files/usr/bin/pip3
终极解决方案
亲测有效,折腾半天
测试系统kali arm64
wget http://ports.ubuntu.com/pool/main/p/python-mysqldb/python3-mysqldb_1.4.4-2build1_arm64.deb
dpkg -i python3-mysqldb_1.4.4-2build1_arm64.deb
wget http://ports.ubuntu.com/pool/main/m/mysql-8.0/libmysqlclient21_8.0.19-0ubuntu5_arm64.deb
dpkg -i libmysqlclient21_8.0.19-0ubuntu5_arm64.deb
apt install libss11.1
wget http://ports.ubuntu.com/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_arm64.deb
dpkg -i libssl1.1_1.1.0g-2ubuntu4_arm64.deb
sudo apt install libssl1.1 # 此时大概率报错版本不支持,执行下一句修复即可安装完成
apt --fix-broken install
使用
python3 sqlmap.py -d mysql://root:root@127.0.0.1:3306/test --os-shell
Comments | NOTHING