sqlmap常用参数和原理

您所在的位置:网站首页 sqlmap执行命令-ol-she sqlmap常用参数和原理

sqlmap常用参数和原理

#sqlmap常用参数和原理| 来源: 网络整理| 查看: 265

一、原理:

        SQLmap是一个自动化的SQL注入工具,可用于检测和利用Web应用程序中的SQL注入漏洞。         其原理是通过构造恶意的SQL查询语句,利用应用程序的漏洞来执行SQL注入攻击。具体一点就是,SQLmap首先分析目标网站的结构和参数,尝试检测是否存在SQL注入漏洞。如果存在漏洞,它将尝试利用不同的技术(如布尔盲注、时间盲注、联合查询注入等)来获取数据或者直接对数据库进行修改。

        SQLmap的运行原理主要包括以下几个步骤:

                1、 识别目标网站:SQLmap会对目标网站进行扫描,识别是否存在注入漏洞。                 2、获取数据结构:如果目标网站存在注入漏洞,SQLmap会获取数据库的数据结构,包括表名、列名、数据类型等。                 3、执行注入攻击:SQLmap会使用不同的注入技术来执行攻击,包括基于错误的注入、基于布尔盲注、基于时间盲注、基于联合查询注入等。                 4、获取数据或者修改数据:一旦注入成功,SQLmap可以获取数据库中的数据,或者修改数据库中的数据。

注意:使用SQLmap进行SQL注入攻击是非法的行为,仅限于授权的渗透测试和安全研究活动。

二、常用的一些选项:

        -d        链接目标后端数据库(不利用sql注入)

        -p        指定注入点

        -u       指定url

        -m        指定txt文件,批量扫描

        -r        post数据包注入

        -x        站点地图,提交给sql一个xml文件

        -c        把使用的命令写进一个文件中,让sqlmap执行文件中的命令,可以用 --save 命令写入配置

        -r        加载外部请求包

        --OS-shell        与系统shell交互

        --OS-cmd        使用系统命令

        --sql-shell        执行sql命令

         --dbs        列所有出数据库

        --tables        列出数据库中的表

        --cookie        设置cookie值

        --current-db        获取当前库名

        --current-user        获取当前用户名

        --tamper-TAMPER        使用给定的脚本篡改数据

        --proxy-PROXY        使用http代理链接到目标URL

        --data-DATA        通过post发送数据字符串

        -v        REVBOSE信息级别:

                0:只显示python错误以及严重的信息。

                1:只显示sqlmap的基本信息,如版本号和版权信息等。(默认)

                2:显示sqlmap的基本信息和调试信息,如 SQL 查询语句、HTTP 请求头和响应头等。

                3:显示第二级别的信息,并且在请求和响应中包含更多的数据,如响应正文、cookies、headers 等。

                4:显示第三级别的信息,并且在响应正文中包含所有的数据库查询结果。

                5:显示第四级别的信息,并且在每个 HTTP 请求和响应中包含完整的数据

                6:显示所有的信息,包括第五级别的信息和更多的调试信息,如 HTTP 请求体中的参数、发送的 SQL 查询语句等。

        -risk-RISK        执行的测试风险级别:

                1:仅对目标进行最基本的 SQL 注入测试,不包括时间基注入、布尔盲注入等高级技术,适用于对目标进行初步测试,快速了解其是否存在 SQL 注入漏洞的情况。

                2:对目标进行深度 SQL 注入测试,包括时间基注入、布尔盲注入等高级技术,适用于对目标进行详细的测试,发现可能存在的 SQL 注入漏洞。

                3:与级别 2 相同,但同时还会尝试进行更加敏感和危险的测试,如 SQL 查询文件系统、SQL shell 等,适用于对目标进行极其详细的测试,发现潜在的高级 SQL 注入漏洞。

-level-LEVEL        执行测试的等级:

                1:仅进行最基本的 SQL 注入测试,不包括时间基注入、布尔盲注入等高级技术,适用于对目标进行初步测试,快速了解其是否存在 SQL 注入漏洞的情况。

                2:对目标进行常见的 SQL 注入测试,包括时间基注入、布尔盲注入等基本技术,适用于对目标进行基本测试,发现可能存在的 SQL 注入漏洞。

                3:与级别 2 相同,但同时还会尝试使用一些额外的 SQL 注入测试技术,如错误信息注入、堆叠查询等,适用于对目标进行详细的测试,发现潜在的高级 SQL 注入漏洞。

                4:与级别 3 相同,但同时还会尝试使用更多的高级 SQL 注入测试技术,如基于时间的盲注入、基于报错的注入等,适用于对目标进行较为深入的测试,发现更难以利用的 SQL 注入漏洞。

                5:与级别 4 相同,但同时还会尝试使用更多的高级 SQL 注入测试技术,如基于布尔的盲注入、联合查询注入等,适用于对目标进行最为深入和全面的测试,发现所有可能存在的 SQL 注入漏洞。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3