0


sqlmap常用参数和原理

一、原理:

    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 注入漏洞。

本文转载自: https://blog.csdn.net/weixin_64622881/article/details/130214592
版权归原作者 PangTouYuA 所有, 如有侵权,请联系我们删除。

“sqlmap常用参数和原理”的评论:

还没有评论