最近在学习SQL注入,初出茅庐,就从dvwa开始吧

sql注入可以通过sqlmap工具实现,为了更好地了解原理,这里主要是手工注入

注入的一般流程为:

1,找到注入点,此步骤可通过工具

2,判断注入类型

3,判断列数,展示位

4,利用函数获取数据库用户,版本号,数据库名等信息

5,联合注入法利用information_schema数据库中存储所有的表查看所有的表名

6,同步骤五获取字段名

7,根据字段名查看值

low级别:

更改过DVWA Security为low级别后我们就进到如下页面:

通过查看源码发现low等级的没有对输入的值做任何过滤,可以直接注入

1)用户交互的地方为表单,这也是常见的 SQL 注入漏洞存在的地方,首先我们通过测试语句测试是否存在注入点

先输入正常的数据查看返回的结果:

可以发现我们刚输入的值被作为ID值显示在页面上,接着我们输入“ ' ”测试,页面报错说明这个表单存在注入漏洞:

2)确定存在注入后,我们需要确定诸如类型为数字还是字符,以下是一些测试语句:

Ps:--+可以用#替换,url 提交过程中 Url 编码后的#为%23

or 1=1--+

1' or '1'='1

'or 1=1--+

"or 1=1--+

)or 1=1--+

')or 1=1--+

") or 1=1--+

"))or 1=1--+

我们输入1 or1=1令sql语句返回值为真,结果语句被作为值输出来了,说明不是数字型注入。输入1' or '1'='1 ,返回了数据库          中的所有数据,说明是字符型注入:

3)利用order by  字句查询列数,当输入"1' order by 3"时报错,说明列数为2:

4) 利用联合注入法测试出展示位:1' and 1=2 union select 1,2#

5)利用内置函数注入得出连接数据库用户,数据库名称和版本信息:user(),database(), version()

6)利用存储了所有数据库和表信息的information_schema数据库查询所有数据库的名称:

7)猜表名(太长了,只截了要用 的 表名):

8)字段名:发现敏感字段名user password

9)查看user password的值:获得管理员账号及密码

DVWA SQL Injection LOW的更多相关文章

  1. DVWA sql注入low级别

    DVWA sql注入low级别 sql注入分类 数字型注入 SELECT first_name, last_name FROM users WHERE user_id = $id 字符型注入 SELE ...

  2. sqlmap dvwa SQL Injection使用小记

    刚刚开始学习sql injection,初步使用sqlmap,使用 GET http://www.dvssc.com/dvwa/vulnerabilities/sqli/?id=1&Submi ...

  3. DVWA SQL Injection 通关教程

    SQL Injection,即SQL注入,SQLi,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的.SQL注入漏洞的危害巨大,常常会导致整个数据库被“脱 ...

  4. DVWA SQL Injection(Blind) 通关教程

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

  5. DVWA SQL Injection High

    High 虽然是high等级,但是通过源码审计发现与low等级一样,没有对传入的值做任何过滤,唯一不同的就是点击连接后打开了另外一个对话框,用户在新打开的页面输入 其余的步骤与low级别的一样:htt ...

  6. DVWA SQL Injection Medium

    Mdeium 基本的步骤及知识点在上节已经提到过这里不再赘述:https://blog.csdn.net/WQ_BCJ/article/details/84554777 1)与low级别不同,本次采用 ...

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

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

  8. SQL Injection (Blind) Low

    SQL盲注分析 盲注较普通注入难度会有所增加,根据页面响应不同大概分为以下几种:布尔型盲注:时间盲注:报错注入 普通注入与盲注的对比: 普通注入:                            ...

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

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

随机推荐

  1. 01MySQL数据库介绍

    一.数据库基本介绍 目标:了解数据库的功能和常见数据库分类.数据库产品 数据库基本知识 数据库分类 SQL简介 MySQL访问 1.数据库基本知识 目标:了解数据库的概念和数据库的作用 概念 数据库: ...

  2. Module not found: Can't resolve 'bootstrap/dist/css/bootstrap-theme.css' in 'C:\react-form-validation-demo\src'

      此错误是由配置错误.版本不匹配或引导安装损坏引起的.如果已经安装了引导程序和反应引导程序,则可以通过以下方式进行更改: npm install --save bootstrap@^4.0.0-al ...

  3. mysql查询上月天数/当月第一天/上月第一天

    select (DATEDIFF(DATE_ADD(curdate(), INTERVAL - DAY(curdate())+ 1 DAY), date_add(curdate()- DAY(curd ...

  4. cetos6.5 gcc4.8 安装

    1.准备源 #安装仓库 wget http://people.centos.org/tru/devtools-2/devtools-2.repo mv devtools-2.repo /etc/yum ...

  5. java实现 阿拉伯数字转换为汉字数字(转载)

    public class VedioExtractSpeech { public static void main(String[] args) { System.out.println(" ...

  6. [开源]CSharpFlink(NET 5.0开发)分布式实时计算框架,PC机10万数据点秒级计算测试说明

    github地址:https://github.com/wxzz/CSharpFlinkgitee地址:https://gitee.com/wxzz/CSharpFlink  1         计算 ...

  7. 精尽MyBatis源码分析 - SQL执行过程(二)之 StatementHandler

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...

  8. guitar pro系列教程(四): 详解Guitar Pro主音量自动化设置

    让我们继续进行guitar pro 7系列教程 在上一章节中我们讲到插入速度自动化设置,本章节我们将采用图文结合的方式详细的讲解guitar pro 7主音量的相关自动化设置分别是:插入主音量自动化, ...

  9. 「LOJ 537」「LibreOJ NOIP Round #1」DNA 序列

    description NOIP 复赛之前,HSD 桑进行了一项研究,发现人某条染色体上的一段 DNA 序列中连续的\(k\)个碱基组成的碱基序列与做题的 AC 率有关!于是他想研究一下这种关系. 现 ...

  10. recovery.sh

    #!/bin/bash source /etc/profile Time=`date +%F-%H-%M` Dir=/data/any.service.recovery if [ ! -d $Dir ...