bbqsql是一个知名的盲注SQL开源工具,可以用来做一些简单传统的sql注入的渗透测试或者靶场模拟等,但是由于其版本较老,使用的还是python2,且很多库都是很旧的,接近9年多没有维护更新,因此如果想要直接使用,一般都是搭建使用默认python2环境的linux系统来使用,但是在安装使用时还是会碰到一些坑,踩过之后在此总结填平。
系统环境:
使用的是kali-linux-2020.4-installer-amd64.iso,相对较新,但仍使用python2作为默认python,后续的环境版本暂不了解。如果使用的是老版本系统环境,则一般不会遇到问题,只要安装成功即可使用。
1.无法直接使用官方方式安装:
官方推荐sudo pip install bbqsql无法直接安装,需要去pypi官方下载最新版本(最新版本也已经是2013年的了):https://pypi.org/project/BBQSQL/#files
下载后解压进入文件夹BBQSQL-1.2:
安装指令可以通过输入python setup.py –help来获取,指令如下
python setup.py build (编译)
python setup.py install (安装)
以上两个命令不会遇到什么问题,但是安装完成后可能会碰到问题:
直接输入bbqsql进行运行,会提示没有gevent库。
此时如果使用pip install gevent,环境提示没有pip
2.pip2安装
系统默认的依旧是python2.7,但却不安装pip2了。如果使用过去的方式sudo apt install python-pip会提示安装python3-pip,但是及时安装成功了,这个pip也是python3的版本,无法安装到python2的库中使用,因此需要曲线救国:
使用指令下载python2的pip安装文件:
curl https://bootstrap.pypa.io/2.7/get-pip.py -o get-pip.py
这里一定要添加红色字标出的2.7,因为pip2的版本已经备份转移,参照官网默认的下载链接获取的get-pip.py无法安装,会提示语法错误。
下载完成之后使用指令直接安装:
python get-pip.py
安装时会提示pip2在2020年1月不再维护,需要更新到最新的pip版本,这点可以忽略,因为一旦更新,就是只支持pip3的情况了。
3.gevent新版本不存在coros
安装完成pip之后,就可以使用来安装gevent了,如下
pip install gevent
一般大家都会默认gevent,因为bbqsql并不会提示gevent的版本号。因此安装的是最新的gevent库。所以如果完成之后,直接输入bbqsql启动会报错:在/usr/local/lib/python2.7/dist-packages/bbqsql/lib/technique.py文件中,from gevent.coros import Semaphore这行有错,没有gevent.coros这个库。
Github上查询得知,新版本gevent不再支持coros,而是用lock代替,因此结局方法是,直接在修改/usr/local/lib/python2.7/dist-packages/bbqsql/lib/technique.py文件,将原先的from gevent.coros import Semaphore替换如下:
try:
from gevent.coros import Semaphore
except:
from gevent.lock import Semaphore
保存退出。
之后再输入bbqsql就可以正常启动盲注sql工具了。