当发现sql注入之后,脱库的方法,有以下几种:
 
(1)当目标主机支持外部连接时,使用Navicat 进行连接!当时目标主机不同,使用的Navicat种类不一样:
mysql : Navicat for MySQL
oracle : Navicat for Oracle
全版本的Navicat Premium,支持MySQL, Oralce, PostgreSQL, SQLit 以及SQL Server。
 
补充:mysql端口默认:3306,mssql默认端口:1433 , oracle默认端口:1521
 
当使用Navicat连接上数据库之后,选择需要脱库的表,右击导出即可。
 
(2)当拥有权限时,我们可以上传脚本脱库,当然这里Navicat也提供了脚本。Navicat的安装目录下有ntunnel_mysql.php   ntunnel_pgsql.php 和 ntunnel_sqlite.php, 这三个文件分别支持对Mysql,PostreSQL 和SQLite数据库使用HTTP通道连接,具体使用过程为:
1.将ntunnel_mysql.php上传到目标机器的根目录,然后打开Navicate,单击“新建连接”——》“mysql”,选择HTTP选项卡,勾选“使用HTTP通道”,在“通道地址”栏写入ntunnel_mysql.php的URL,其他保持默认,然后返回常规选项卡,填写链接名,用户及密码,这里需要的注意的是,连接的IP地址需要写“Localhost”或者“127.0.0.1”。
 
(3)无法远程连接时,sql注射!
首先我们使用sqlmap进行注入,并使用适当的输入命令如 --current_db 得出当前数据库名,使用--databases 得出当前数据库中的表 --columns得出当前数据库中的列名。使用--dump参数将所选的数据下载到本地。
 
当使用mysql --dump操作失败时,我们可以使用sqlmap配合burpsuit进行注入。具体流程如下:
1.首先我们使用sqlmap进行测试,当测出数据库名,表明之后,使用--count 参数,将将表中的数据条数统计出来,记为N。
2.以用户表为例子,我们注入出用户表中的数据条数,并且查看到数据库表中的id为主键,并且递增。这是我们可以构造注入语句,并且使用bp进行抓包,将抓包信息,发送给intruder,在position模块,将id作为变量,在payloads模块中,将payloads类型设置为Numbers,并且将值设置为从0到之前的N。
3.选择抓取的数据,在option——》Grep extract模块中单击add,然后在弹出的新界面中选择“Fetch Response”获取返回信息,获取返回信息后,选择你要抓取的内容,BP会根据选取的内容自动生成正则表达式,当正则表达式设置好之后,单击OK,可以继续添加需要的数据。
4.选择intruder——》start attack   开始转去数据,在数据抓取结束之后,选择save  ——》“Result Table”,保存导出数据的界面。
 

sql脱库的几种方法的更多相关文章

  1. 提高SQL查询效率的30种方法

    转载:提高SQL查询效率的30种方法 内容摘录如下: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中 ...

  2. SQL server分页的四种方法

    SQL server分页的四种方法 1.三重循环: 2.利用max(主键); 3.利用row_number关键字: 4.offset/fetch next关键字 方法一:三重循环思路  先取前20页, ...

  3. SQL Server启动的几种方法

    SQL Server 启动有以下几种方法: (1)在Control Panel——Administrative Tools——Services,找到SQL Server (XXX)进行启动. 其中XX ...

  4. 在VS中添加lib库的三种方法

    注意: 1.每种方法也要复制相应的DLL文件到相应目录,或者设定DLL目录的位置,具体方法为:"Properties" -> "Configuration Prop ...

  5. MySQL中优化sql语句查询常用的种方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...

  6. 从github下载某个git库的4种方法

    转自:http://blog.csdn.net/feiniao1221/article/details/7516421 以gerrit-trigger-plugin为例,下面的链接都是从相应页面上直接 ...

  7. 【转】Android下编译jni库的二种方法(含示例)

    原文网址:http://blog.sina.com.cn/s/blog_3e3fcadd01011384.html 总结如下:两种方法是:1)使用Android源码中的Make系统2)使用NDK(从N ...

  8. 【转】Android下编译jni库的二种方法(含示例) -- 不错

    原文网址:http://blog.sina.com.cn/s/blog_3e3fcadd01011384.html 总结如下:两种方法是:1)使用Android源码中的Make系统2)使用NDK(从N ...

  9. 从github下载某个git库的4种方法[zz]

    以gerrit-trigger-plugin为例,下面的链接都是从相应页面上直接拷贝的. 法一:不用github的账号,打开这个库在github上的主页,运行下面命令即可 read only 运行命令 ...

随机推荐

  1. spark源码阅读--shuffle读过程源码分析

    shuffle读过程源码分析 上一篇中,我们分析了shuffle在map阶段的写过程.简单回顾一下,主要是将ShuffleMapTask计算的结果数据在内存中按照分区和key进行排序,过程中由于内存限 ...

  2. spark内存管理器--MemoryManager源码解析

    MemoryManager内存管理器 内存管理器可以说是spark内核中最重要的基础模块之一,shuffle时的排序,rdd缓存,展开内存,广播变量,Task运行结果的存储等等,凡是需要使用内存的地方 ...

  3. 设计模式 结构型 - 适配器模式 Adapter

    Adapter(适配器模式) ---- 加个“适配器”以便于复用 将一个类的接口转换成客户希望的另一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 应用场景 如果 ...

  4. “GIS DICTIONARY A-Z” 查询页面开发(1)——bs4与词典数据处理

    第一天的工作:找到数据源,数据下载,数据处理. 数据源:"http://webhelp.esri.com/arcgisserver/9.3/java/geodatabases/definit ...

  5. 关于TCP/IP

    一.网络模型 计算机网络的两种模型:OSI 模型和 TCP/IP 模型 由于 OSI 模型过于复杂难以实现,导致 TCP/IP 模型更早地应用在现实中,这也使得 TCP/IP 模型成为标准 在 OSI ...

  6. PAT 乙级 1005.继续(3n+1)猜想 C++/Java

    1005 继续(3n+1)猜想 (25 分) 题目来源  卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记 ...

  7. Python3如何上传自己的PyPI项目

    有过一定的 Python 经验的开发者都知道,当引入第三方包时,我们常常会使用 pip install 命令来下载并导入包. 那么,如何写一个自己的包,上传到 PyPI 呢,其他开发者也可以通过 pi ...

  8. mmdetection安装教程

    如果官方教程不行再参考我的吧,我的环境如下: ubuntu cuda10 cudnn7.5 步骤: 1.使用conda创建一个虚拟环境 conda create -n mmdetection pyth ...

  9. Palisection(Codeforces Beta Round #17E+回文树)

    题目链接 传送门 题意 给你一个串串,问你有多少对回文串相交. 思路 由于正着做不太好算答案,那么我们考虑用总的回文对数减去不相交的回文对数. 而不相交的回文对数可以通过计算以\(i\)为右端点的回文 ...

  10. ‘cmake' 不是内部或外部命令 也不是可运行的程序 或批处理文

    在 Win7下的命令行模式下,输入cmake相关命令,出现如下错误: ’cmake' 不是内部或外部命令 也不是可运行的程序 或批处理文件 解决方法: 在环境变量中添加cmake的文件路径. 计算机( ...