Sqlmap(SQL注入自动化工具)

简介

        开源的SQL注入漏洞检测的工具,能够检测动态页面中的get/post参数,cookie,http头,还能够查看数据,文件系统访问,甚至能够操作系统命令执行。

        检测方式:布尔盲注、时间盲注、报错注入、UNION联合查询注入、堆叠注入

        支持数据库:Mysql、Oracle、PostgreSQL、MSSQL、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDb

下载安装

        1、下载官网地址:https://sqlmap.org/

                 Sqlmap(SQL注入自动化工具)_第1张图片

        2、环境:因为sqlmap基于Python语言开发的,所以需要将Python这个语言环境给安装上。

        3、将下载好的sqlmap进行解压并且copy到python路径下

                Sqlmap(SQL注入自动化工具)_第2张图片

         4、在桌面创建一个cmd的快捷方式,并命名为SQLMap

                Sqlmap(SQL注入自动化工具)_第3张图片

                 Sqlmap(SQL注入自动化工具)_第4张图片

        5、在新建的快捷方式上右键“属性”,将“起始位置”修改为自己sqlmap的路径,点击确定。

                Sqlmap(SQL注入自动化工具)_第5张图片

        6、 双击已创建的快捷方式,输入sqlmap.py -h,出现如下信息则表示安装成功。

                 Sqlmap(SQL注入自动化工具)_第6张图片

参数使用

        指定目标

-u  "url"

        (指定URL,get请求方式)

-r request.txt         

        Post提交方式,使用HTTP请求文件,该文件可从BurpSuit中导出。

-m url.txt

        使用一个包含多个url的文件进行扫描。若有重复,sqlmap会自动识别成一个。

-g  "inurl:\"  .php?id=1\"

        扫描,使用Google语法得到的url。

-l log.txt --scope="正则表达式"

        Post提交方式,使用BurpSuit的log文件。(Options—>Misc—>Logging—>Proxy—>勾选Request ,scope的作用是 基于正则表达式去过滤日志内容,筛选需要扫描的对象。

-c sqlmap.conf

        使用配置文件进行扫描 (sqlmap.conf与sqlmap.py 在同一目录)

        指定目标参数

-p  "username,id"

        指定要扫描的参数

--data="username=admin&password=123"

        指定扫描的参数,get/post都适用

--method=GET

        指定请求方式,还有POST

--cookie="security=low;PHPSESSID=121123131"

        使用cookie的身份认证

--skip  "username,id"

        排除指定的扫描参数

--param-del=" ;"

        改变分隔符,默认是&,因为有些网站不使用&传递多个数据。

--drop-set-cookie(放在cookie的值中的末尾位置)

        有时候发起请求后,服务器端会重新Set-cookie给客户端,SQLmap默认会使用新的cookie,这时候可以设置此参数,表示还是用原来的cookie。

--user-agent  " aaaaaaa"

        使用浏览器代理头

--random-agent

        使用随机的浏览器代理头

--host=" aaaaa"

        指定主机头

--referer="aaaaaa"

        指定referer头

--headers="host:aaaa\nUser-Agent:bbbb"

        有些网站需要特定的头来身份验证

--auth-type , —auth-cred

        —auth-type Basic —auth-cred “user:pass”        身份认证,还有Digest、NTLM

--auth-file="ca.PEM"

        使用私钥证书去进行身份认证

--proxy="url"

        使用代理去扫描目标,代理软件占用的端口在8080

--proxy-cred="name:pass"

        使用代理时的账号和密码

--ignore-proxy

        忽略系统级代理设置,通常用于扫描本地网络目标,本网段。

        查看数据信息

--users

        查询所有的数据库账号

--dbs

        查询所有数据库

--schema

        查询源数据库(包含定义数据的数据)

-a

        查询当前user、当前数据库、主机名、当前user是否是最大权限管理员、数据库账号等

-D 数据库名

        指定数据库

--current-user

        查询当前数据库中所有用户名

--current-db

        查询当前数据库名

--hostname

        查看服务器的主机名

--Privileges -U username

        查询username的权限

--roles

        查询角色

--tables

        查看所有的表

-T  表名

        指定表

--columns

        查看所有的字段

-C 字段名

        指定字段

--count

        计数,查看有多少条数据

--exclude-sysdbs

        排除系统库

--dump

        查看数据

--start 3

        查看第三条

--end 4

        查看第四条

--sql-query “select * from users”

        执行语句

--common-columns

        暴力破解字段,应用于两种情况:①无权限读取数据。②mysql<5.0 ,没有infomation_schema库

--common-tables

        暴力破解表

--check-waf

        检测WAF/IPS/IDS

--hpp

        绕过WAF/IPS/IDS

—identify-waf

        彻底检测WAF/IPS/IDS

你可能感兴趣的:(工具,数据库,web安全,服务器,系统安全,安全)