Sqlmap的基础运用以及参数解释

发布于 2020-08-25  203 次阅读


Sqlmap介绍

Sqlmap一款开源的自动化的基于python开发的SQL注入工具,其主要功能是扫描,发现并利用给定的URL的SQL注入漏洞,支持现在几乎所有多种数据库,支持get、post、cookie类型的注入检测。可以添加cookie和user-agent,支持盲注,错误回显注入等多种注入方法。支持代理,其指纹识别技术可识别数据库类型和目标系统版本。

Sqlmap的常用语句结构

kali:sqlmap -u “xxx”

windows: python sqlmap.py -u “xxx”

Sqlmap的常用参数

功能参数

-h,--help :查看Sqlmap的基础帮助消息。

-hh :查看Sqlmap的详细帮助消息。

--version    :查看Sqlmap的版本号。

--level(1-5):检测强度,值越高检测的项目越多,默认为1。默认情况下Sqlmap只支持GET/POST参数的注入测试,但是当使用--level 参数且数值>=2的时候会检查cookie时面的参数,当>=3的时候将检查User-agent和Referer。

--risk(0-3):检测风险程度,值越高风险越大,成功概率在某些情况下更高,默认为1。

获取目标

-d DIRECT :直接连接数据库

-u URL :检测URL是否存在基本的GET注入。

-l LIST :从Burp或WebScarab代理的日志中解析目标。

-x XML :从远程xml文件解析目标。

-m :扫描在同一个文本里面的多个目标。

-r REQUESTFILE :从一个文件中的HTTP请求里解析目标,例如post注入。

-g GOOGLEDORK :处理Google dork的结果作为目标URL。

请求参数

--data=DATA :通过POST发送的数据字符串。

--cookie=COOKIE :在发送请求的时候一并发送cookie。在需要登录的地方,需要登录后的cookie来保持登录状态。

--proxy=http://127.0.0.1:8087 :使用HTTP代理隐藏自己的身份,比如使用goagent等。

--user-agent=AGENT :指定 HTTP User-Agent头。

--random-agent :使用随机选定的HTTP User-Agent头。

-p :指定注入用的参数。

--sql query=QUERY :执行一个SQL语句,不一定支持。

--batch :执行程序询问时的回车默认操作,中间过程不用手动选择。

枚举

--current-user  :检索数据库管理系统当前用户。

--current-db    :检索数据库管理系统当前数据库。

--is-dba     :检测DBMS当前用户是否DBA(数据库超级管理员)。

--users :枚举数据库管理系统用户 。

--passwords :枚举数据库管理系统用户密码哈希。

--privileges :枚举数据库管理系统用户的权限。

--roles :枚举数据库管理系统用户的角色。

--dbs   :列出网站的数据库。

--tables      :列出网站数据库中的表。

--columns  :列出网站数据库中的列。

-D(-T -C):指定数据库(表或列)

--dump      :输出数据。

e.g

爆数据库:sqlmap -u http://127.0.0.1/test.php?id=1 --dbs

爆表名:sqlmap -u http://127.0.0.1/test.php?id=1 -D DVWA --tables

爆列名:sqlmap -u http://127.0.0.1/test.php?id=1 -D DVWA -T users --columns

爆数据:sqlmap -u http://127.0.0.1/test.php?id=1 -D DVWA -T users -C user,password --dump

本站文章由渡缘人原创,如若转载请注明原文及出处:
https://www.hygrey.com/sqlmap-bisis.html

万物皆有裂痕,那正是光照进来的地方
最后更新于 2021-02-24