DVWA通关-SQL注入篇

开篇之前

  我知道网上也有很多通关攻略,但都是别人通关,复制粘贴也是别人的,所以就想写一下自己的。写下这篇文章主要是记录自己的学习,以及和各位朋友交流,有错误的地方,希望各位大佬指出,谢谢。

DVWA介绍

  DVWA是一个非常适合新人入门安全的靶场。这个靶场涵盖了暴力破解、命令注入、CSRF、文件包含、上传文件、不安全的验证码、SQL注入、XSS注入等漏洞,有Low、Medium、High、Impossible四个等级。这一次带来的是SQL注入的通关攻略。

Level-Low

一个提交框,输入1来查询一下,可以看到 ID为1的First name和Surname。输入2看得的则是关于ID为2的信息。

输入1’ 来测试一下有没有注入漏洞,可以看到关于SQL语法的报错
  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘‘1’’’ at line 1

  输入1' and'1'='1 能得到正常回显,输入1’ and’1’=‘2无回显,可以判断出为数字类型的SQL注入

使用联合查询来猜测数据库的字段
1' union select 1,2#
当查询语句为1’ union select 1,2,3#时报错,说明只有1,2两个字段
The used SELECT statements have a different number of columns

接下来使用所有数据库以及当前所用的数据库,可以看到下图First name为当前所用的数据库。Surname显示的是所有的数据库(关于information_schema,文章结尾有参考和学习链接)

-1' union select database(),schema_name from information_schema.schemata#


查看当前数据库的表名,可以看到有一个users表,猜测是存放user数据的地方

-1'union select 1,table_name from information_schema.tables#


接着查看users的字段名

-1' union select 1,column_name from information_schema.columns where table_name = 'users'#


看到有user和password的字样,直接查看这两个列,得出账号密码

-1' union select user,password from users#


账号密码为MD5加密,直接使用MD5在线解密即可

Level-Medium

  将DVWA的安全等级调到Medium,可以看到只有下拉的选择框,没有让我们输入语句的地方,这时候就需要使用burpsuit抓包来查看Submit后的信息


选择1,提交。通过burpsuit抓包可以看到id=1的字。

作为一个入门的靶场,看到id=1想到了什么?让我们看看Low级别提交后抓包的信息。Low级别的包头中,id是通过GET方法来提交数据的对比,而Medium是通过POST来提交数据的。查看源代码,除了提交方法不一样,查询的方法都是一样的,也就是说,Low级别的查询语句在Medium同样适用。但是要注意,Medium级别的源代码中有个语句

$id = mysql_real_escape_string($id);

查询mysql_real_escape_string()的用法

过滤了号,所以不需要'号即可查询

-1 union select user,password from users#


Level-High

将DVWA的安全级别调整到High,可以看到弹出一个小窗口,试着输入1,发现在原界面有回显

分析一下源代码,只是对自动化注入做了防御,但是参数没有做防御,多了个LIMIT 1,是希望只显示一个结果

使用Level-Low的SQL语句来注入,即可得到账号密码

Level-Impossible

Impossible的代码对SQL语句进行了预编译,有效的防止了SQL注入。

information_schema参考
https://www.cnblogs.com/lcbwwy/p/12670465.html

DVWA通关-SQL注入篇相关推荐

  1. DVWA通关--SQL注入(SQL Injection)

    目录 LOW 通关步骤 一.手工注入 二.sqlmap注入 代码分析 MEDIUM 通关步骤 方法一.手工注入 方法二.sqlmap注入 代码分析 HIGH 通关步骤 方法一.手工注入 方法二.sql ...

  2. 【dvwa】--SQL注入

    为了准备跑路,练习ing. SQL注入篇 LOW级别 先上源码 <?php if( isset( $_REQUEST[ 'Submit' ] ) ) {// Get input$id = $_R ...

  3. 渗透学习-SQL注入篇-基础知识的学习(持续更新中)

    提示:仅供进行学习使用,请勿做出非法的行为.如若由任何违法行为,将依据法律法规进行严惩!!! 文章目录 前言 一.SQL注入产生的原因 二.手工注入大致过程 1.判断注入点: 2.猜解列名 3.猜解能 ...

  4. oracle延时盲注如何防止,【原创】WEB安全第四章SQL注入篇21 oracle 延时注入

    WEB安全第四章SQL注入篇21 oracle 延时注入 1.简介 DBMS_LOCK.SLEEP()函数可以让一个过程休眠很多秒,但使用该函数存在许多限制.首先,不能直接将该函数注入子查询中,因为O ...

  5. web之SQL注入篇BUU

    web之SQL注入篇BUU [强网杯 2019]随便注 预处理语句 handler [SUCTF 2019]EasySQL 判断是字符型还是数字型注入 判断是否可以联合查询 判断是否可以使堆叠注入 | ...

  6. 测试具有44个漏洞点的简单小靶场-SQL注入篇

    文章目录 本地搭建 SQL注入篇 注入1(数字型注入) 注入2(闭合单引号) 注入3(闭合双引号) 注入4(闭合括号) 注入5(报错注入) 注入6(布尔盲注) 注入7(过滤了'--'和'#'以及'%2 ...

  7. 网络安全-靶机dvwa之sql注入Low到High详解(含代码分析)

    目录 SQL Injection-LOW Union注入 注入点判断 字段判断 获取数据库名 获取表名 获取列名 获取数据 Error注入 获取表名 获取列名 获取数据 源码解析 主要步骤 漏洞原因 ...

  8. 使用Sqlmap对dvwa进行sql注入测试(初级阶段)

    0.测试准备 1)打开Kali虚拟机终端; 2)打开靶机OWASP,并通过浏览器,输入IP地址进入dvwa的主页,然后选择SQL injection进入SQL注入的测试页面 1.获取DVWA的url和 ...

  9. 【SQL注入技巧拓展】————13、我的WafBypass之道(SQL注入篇)

    0x00 前言 去年到现在就一直有人希望我出一篇关于WAF的文章,我觉得这种老生常 谈的话题也没什么可写的.很多人一遇到waf就发懵,不知如何是好,能搜到的各种姿势也是然并卵.但是积累姿势的过程也是迭 ...

最新文章

  1. [Map 3D开发实战系列] Map Resource Explorer 之四-- Map3D开发中的WPF
  2. 【IdentityServer4文档】- 欢迎来到 IdentityServer4
  3. Django项目与中间件与celery
  4. 使用Model-View-ViewModel使用Dart Streams使Flutter中的代码更清晰
  5. HTML5 绘制动画
  6. Matlab多个Figure图合成一个Fig
  7. Acey.ExcelX4.2版本发布
  8. HTTP/2中的二进制分帧
  9. 网站建设中HTML编写技巧你必须掌握的30个 提升你的编写能力|网站建设
  10. maven配置本地jar包
  11. Webstorm配置svn【window系统】
  12. Excel写批量代码(一)
  13. 微信公众号(服务号、订阅号、企业号)的区别
  14. 如何写网站建设策划书
  15. 朴素贝叶斯与贝叶斯信念网络
  16. python 计算均值 方差 标准差
  17. odoo:开源 ERP/CRM 入门与实践
  18. vue 实现一个滑块拖动验证功能
  19. linux python乱码_linux下python中文乱码解决方案详解
  20. uni-app学习笔记(完)

热门文章

  1. GPU-Z查看显卡参数和显卡状态
  2. 在图像中使用LaTex公式及标注箭头的使用
  3. 机械工程师和电气工程师方向哪个前景比较好?
  4. Excel如何批量将文本型数值转为数值
  5. AlphaGo与蒙特卡罗树搜索
  6. 第10章Tcl脚本编程(一)
  7. 2018.7.17 绍兴一中模拟赛 解题报告
  8. Field XXXMapper in cn.zcbigdata.YYY.service.Impl.XXXServicel required a bean of type
  9. 优化移动端邮件营销效果办法
  10. XYOJ1259: 找零钱(除法 余数)