sqlmap使用教程

这篇具有很好参考价值的文章主要介绍了sqlmap使用教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

sqlmap基础使用

1、判断是否存在注入

2、判断文本中的请求是否存在注入

3、查询当前用户下的所有数据库

4、获取数据库中的表名

5、获取表中的字段名

6、获取字段内容

7、获取数据库所有用户

8、获取数据库用户的密码

9、获取当前网站数据库的名称

10、获取当前网站数据库的用户名称

SQLMap进阶:参数讲解

1、--level 5: 探测等级

2、--is-dba:当前用户是否为管理权限

3、--roles:列出数据库管理员的角色

4、--referer:http referer头

5、--sql-shell运行自定义的sql语句

6、--os-cmd,--os-shell:运行任意操作系统的命令

7、--fire-read:从数据库服务器中读取文件

8、 --fire-write --file-dest:上传文件到数据库服务器中

SQLMap自带绕过脚本tamper

一些常用的tamper脚本:


sqlmap是一个自动化的SQL注入工具,主要功能是扫描、发现,并利用给定url的SQL注入漏洞。

sqlmap基础使用

1、判断是否存在注入

sqlmap.py -u url 

(如果注入点后面的参数大于等于两个,需要加双引号)

2、判断文本中的请求是否存在注入

Sqlmap.py -r desktop/1.txt 

一般在存在cookies注入的情况下使用

3、查询当前用户下的所有数据库

sqlmap.py -u url --dbs

确定网站存在注入后,用于查询当前用户下的所有数据库。如果当前用户有权限读取包含所有数据库列表信息的表,使用该命令就可以列出所有相关数据库。

4、获取数据库中的表名

sqlmap.py -u “url” -D dkeye(具体数据库) --tables

如果不加入-D来指定某一个数据库,那么会列出数据库中的所有的表。继续注入时缩写成—T,在某表中继续查询

5、获取表中的字段名

sqlmap.py -u “url” -D dkeye -T user_info(具体表名) --columns 

查询完表名后,查询该表中的字段名,在后续的注入中,—columns缩写成-C

6、获取字段内容

sqlmap.py -u “url” -D dkeye -T user_info(具体表名) -C usrname password(具体字段) --dump

7、获取数据库所有用户

sqlmap.py -u url --users

列出数据库所有用户,如果当前用户有权限读取包含所有用户的表的权限时,使用该命令就可以列出所有管理用户。

8、获取数据库用户的密码

sqlmap.py -u url --passwords

如果当前用户有读取包含用户密码的权限,sqlmap会先例举出用户,然后列出hash,并尝试破解。

9、获取当前网站数据库的名称

sqlmap.py -u url --curerent-db

使用该命令可以列出当前网站使用的数据库

10、获取当前网站数据库的用户名称

sqlmap.py -u url --current-user 

使用该命令可以列出当前网站使用的数据库用户

SQLMap进阶:参数讲解

1、--level 5: 探测等级

参数 -- level 指需要执行的测试等级,一共有5个等级(1-5),可以不加level。默认是1。
http cookies在level为2时就会测试, user-Agent/Referer在level为3时就会测试。

2、--is-dba:当前用户是否为管理权限

sqlmap.py -u url --is-dba

如果是数据库管理员账户,会返回true

3、--roles:列出数据库管理员的角色

该命令仅适用于数据库时oracle时

4、--referer:http referer头

sqlmap可以在请求中伪造http中的referer,当--level参数设定为3或者3以上时,会尝试对referer进行注入。可以通过referer的命令来欺骗,比如--referer http://www.baidu.com

5、--sql-shell运行自定义的sql语句

该命令被用于执行指定的sql语句
shell来指定语句

sqlmap.py -u url --sql-shell

6、--os-cmd,--os-shell:运行任意操作系统的命令

7、--fire-read:从数据库服务器中读取文件

该命令用于读取执行文件

sqlmap.py -u url \--file-read "c:/examplr.exe" -v 1

8、 --fire-write --file-dest:上传文件到数据库服务器中

写入本地文件到服务器中,如果使用的数据库为mysql、postgresql、microsoft sql server ,并且当前用户有权限使用特定的函数时,上传的文件可以是文本,也可以是二进制文件。

SQLMap自带绕过脚本tamper

sqlmap在默认情况下除了使用CHAR()函数防止出现单引号,没有对注入的数据进行修改。我们可以通过--tamper参数对数据作修改来绕过WAF等设备
命令方式:

sqlmap.py XXXXXX --tamper “模块名”

在日常使用中我们可以用参数--identify-waf进行检测

一些常用的tamper脚本:

apostrophemask.py 过滤单引号,把单引号换为UTF-8

base64encode.py 替换为base64编码

multiplespaces.py 围绕sql关键字添加多个空格

space2plus.py 用+来替换空格

nonrecursivereplacement.py 用双重语句替代预定义的sql关键字

。。。。。。

tamper脚本过多,我们可以在需要的时候自己去寻找,也可以自己编写去应对各种复杂的环境文章来源地址https://www.toymoban.com/news/detail-555980.html

到了这里,关于sqlmap使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web渗透测试实战-SQLMAP

    一、实验项目名称 web渗透测试实战-SQLMAP 二、实验目的及要求 熟悉SQL注入漏洞原理 熟悉SQLMAP工具使用。 1、获取数据库信息:数据库漏洞、数据库名、数据库版本等   2、获取数据库表名 3、获取数据库指定表的字段 4、获取用户名和密码(字段直接逗号隔开)

    2024年02月13日
    浏览(42)
  • 渗透测试-sqlmap绕过WAF脚本编写

    Sqlmap一款功能强大集成了多种数据库识别及注入方式,多用于识别和利用Web 应用程序注入漏洞的工具,它的优点在于集成了大量 payload,对检测与利用的自动化处理(数据库指纹、访问底层文件系统、执行命令)。 我们之前学习时间盲注的时候,可以针对时间盲注类型的漏洞

    2024年02月09日
    浏览(50)
  • Jmeter(七) - 从入门到精通 - 建立数据库测试计划实战<MySQL数据库>(详解教程)

    1.简介   在实际工作中,我们经常会听到数据库的性能和稳定性等等,这些有时候也需要测试工程师去评估和测试,上一篇文章主要介绍了jmeter连接和创建数据库测试计划的过程,在文中通过示例和代码非常详细地介绍给大家,希望对各位小伙伴和童鞋们的学习或者工作具有一

    2024年02月13日
    浏览(53)
  • Jmeter(六) - 从入门到精通 - 建立数据库测试计划(详解教程)

    1.简介   在实际工作中,我们经常会听到数据库的性能和稳定性等等,这些有时候也需要测试工程师去评估和测试,因此这篇文章主要介绍了jmeter连接和创建数据库测试计划的过程,在文中通过示例和代码非常详细地介绍给大家,希望对各位小伙伴和童鞋们的学习或者工作具有

    2024年02月13日
    浏览(74)
  • 软件测试/测试开发/全日制/测试管理丨Neo4j 图数据库

    Neo4j是一种开源的图数据库管理系统,专门设计用于存储、检索和处理图结构数据。图数据库采用节点(Node)、关系(Relationship)和属性(Property)的概念,适用于处理具有复杂关系的数据。以下是Neo4j图数据库的基本介绍: 图结构: Neo4j基于图结构,数据以节点和关系的形式

    2024年01月19日
    浏览(53)
  • 使用JMeter创建数据库测试

    好吧!我一直觉得我不聪明,所以,我用最详细,最明了的方式来书写这个文章。我相信,我能明白的,你们一定能明白。 我的环境:MySQL:mysql-essential-5.1.51-win32 jdbc驱动:我已经上传到csdn上一个:http://download.csdn.net/source/3451945 JMeter:jmeter-2.4  任意版本都行。 1.首先我们要

    2024年02月12日
    浏览(41)
  • 使用MyBatis操作数据库及单元测试

    目录 一.MyBatis介绍 二.MyBatis操作数据库步骤 三.单元测试 idea上生成测试  配置mybatis日志 动态参数 MyBatis是⼀款优秀的持久层框架,⽤于简化JDBC的开发。 JDBC来操作数据库太复杂了,使用MyBatis 是因为它可以帮助我们更⽅便、更快速的操作数据库。 1. 创建springboot工程, 并导入

    2024年02月03日
    浏览(50)
  • 性能测试工具jmeter对数据库mysql进行性能测试(压测保姆级教程)

    打开mysql官网:MySQL 找到mysql connectors,选择操作系统独立版本,将下载jar包导入到jmeter的lib目录下。 参考文档:https://www.jb51.net/article/190860.htm 1、添加测试计划 2、添加JDBC request 3、添加JDBC connection configuration,并修改配置 1、Cannot create PoolableConnectionFactory (Communications link fai

    2024年02月02日
    浏览(60)
  • Web渗透-Sqlmap工具使用

    SQLMap 是一个自动化的SQL注入工具,其主要功能是扫描、发现并利用给定URL的SQL注入漏洞,内置了很多绕过插件,支持的数据库是MySQL 、Oracle 、PostgreSQL 、Microsoft SQL Server、Microsoft Access 、IBM DB2, SQ Lite 、Firebird 、Sybase和SAPMaxDB 。 1、判断是否存在注入 我们将疑似存在注入漏洞的

    2024年02月05日
    浏览(40)
  • SpringBoot 如何使用 EmbeddedDatabaseBuilder 进行数据库集成测试

    在开发 SpringBoot 应用程序时,我们通常需要与数据库进行交互。为了确保我们的应用程序在生产环境中可以正常工作,我们需要进行数据库集成测试,以测试我们的应用程序是否能够正确地与数据库交互。在本文中,我们将介绍如何使用 SpringBoot 中的 EmbeddedDatabaseBuilder 来进行

    2024年02月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包