dorabox靶场writeup

2023-11-05

靶场搭建

这里我直接采用Windows下的wamp集成环境,直接将靶场源码下载到本地,解压到网站根目录即可。
网站源码下载地址:https://github.com/Acmesec/DoraBox
数据库的配置,修改conn.php的数据库连接账号及密码,在本地数据库创建一个pentest数据库,将pentest.sql文件导入到数据库中,在创建的库中执行source D:/wamp/www/DoraBox-master/pentest.sql即可,到这里靶场就搭建完毕。
作者也在github上有制作了docker版的靶场,作者给的docker地址有点问题,用这个地址可以下载到docker镜像
docker pull redteamwing/dorabox:v1.0

靶场实践

SQL注入

数字型

直接通过and 1=1、and 1=2逻辑判断存在注入点,order by查询出字段数为3,用union联合查询查看回显点为2,3.
在这里插入图片描述

接着直接带入查询语句查出当前数据库以及用户
在这里插入图片描述

查询出数据库中的表以及表中的字段如下
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

接着查询出表中的数据
在这里插入图片描述在这里插入图片描述

字符型

1’ or ‘1’='11’ or ‘1’='2判断出存在注入
同样用order by判断出字段数为3,带入查询语句可直接查询出数据
在这里插入图片描述

接下来的步骤和数字型的一样带去SQL语句查询即可

搜索型

搜索型需要多闭合一个%,其他都与前面类似。
首先还是判断注入点 1%’ or 1=1#1%’ or 1=2# ,下面的步骤就和前面的时一样的,带入查询语句即可
在这里插入图片描述

XSS跨站

XSS 反射型

插入JavaScript就可以弹窗,没有任何过滤
在这里插入图片描述

XSS 存储型

同样插入JavaScript代码就可以弹窗,只不过这个是存储在服务器端,每次访问就会触发代码
在这里插入图片描述

XSS DOM型

触发DOM型XSS靠的是浏览器端的DOM解析,主要是将用户可控的JavaScript数据输出到HTML页面中而产生的漏洞
在这里插入图片描述

CSRF

JSONP劫持

Json劫持就是要把打印的数据,远程调用JSON文件来实现数据传递,以下为构造的页面源码


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JSONP劫持测试</title>
</head>
<body>
<script type="text/javascript">
function test(result)
{
alert(result.address);
}
</script>
<script type="text/javascript" src="http://www.test.com/csrf/jsonp.php?callback=test"></script>
</body>
</html>

在这里插入图片描述

CORS跨域资源读取

在当前路径构造html页面进行劫持,以下为构造的源码


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Ajax</title>
</head>
<body>
<h1>Ajax 发送 get 请求</h1>
<script>
function ajax() { 
  var xhr = new XMLHttpRequest();
  xhr.responseType = "text";
  xhr.open('GET', '/csrf/userinfo.php', true);
  xhr.onreadystatechange= function(e) { 
    if(this.status == 200){
        alert(this.responseText);
    }
  };
  xhr.send();
}
ajax();
</script>
</body>


访问构造的页面
在这里插入图片描述

文件包含

任意文件包含

这里我是直接在C盘根目录下创建了一个tetx.txt文件,成功包含了text.txt中的phpinfo,因为我这里环境用的是Windows,如果是linux的环境可以对/etc/passwd进行包含
在这里插入图片描述

目录限制文件包含

这里如果用绝对路径就不能直接访问。只能用相对路径来包含目标文件,…/…/…/…/…/test.txt可以看到成功包含目标文件,如果是Linux可以直接对…/…/…/…/…/…/…/etc/passwd进行包含。
在这里插入图片描述

文件上传

任意文件上传

没有任何限制,可以直接上传木马,这里我上传了一个phpinfo,可以看到上传成功并可以直接访问
在这里插入图片描述在这里插入图片描述

JS限制文件上传

先把php木马的后缀改为允许上传的格式,在通过burpsuite抓包把文件后缀修改为php,从而绕过前端js校验

MIME限制文件上传

这里服务端是对文件的MIME做了校验,可以直接上传php脚本,然后通过burpsuite抓包,将文件的Content-Type修改为image/jpeg就可以成功上传php脚本

扩展名限制文件上传

这里试了很多绕过方式,大小写绕过、00截断(这里我一开始用phpstudy搭建的环境,变化大小写文件上传成功但是服务端没有对文件进行解析,后来用了wampmanager文件就被解析了,还是有点没搞懂是哪里的问题),后来用了.php.后缀名上传成功并可以成功getshell,这是因为Windows不允许以点为结束的文件后缀名,上传之后Windows会自动去除点,从而绕过

内容限制文件上传

先制作一个图片马,然后把后缀修改回php绕过内容检测,或者直接在文件头添加gif文件头-gif89a即可

代码/命令

任意代码执行

看了源码发现输入框用的是assert(),是常见的危险函数,如果输入的字符串则会被当成PHP代码执行
这里直接输入phpinfo(),被当作代码执行
在这里插入图片描述

任意命令执行

这边也是通过分析了源代码发现用的是exec()函数,这个函数的作用是不输出结果,返回执行结果的最后一行
这里我使用了ipconfig命令,可以看到返回了执行结果的最后一行
在这里插入图片描述

虽然只能返回一行,但是如果执行一些写入文件的命令造成的危害就不可估量了

SSRF

看了源码发现使用file_get_contents来获取值的,这个函数可以读取内网的文件,同时也可以打开url,还有就是对内网的端口进行探测等
读取本地hosts文件
在这里插入图片描述

访问外部url
在这里插入图片描述

其他

条件竞争-支付

大致的思路是用脚本自动化提交页面,虽然程序是通过判断余额是否大于0,但是运用多线程脚本快速的完成交易时,可能上一单没有核算完成,所以就可能会产生当前余额已经为0或者是负数,但是上一单的交易还没结束,从而也可能支付成功。
这里看了一下作者给的poc,尝试着运行了一下,但是并没有看到效果,还是没有搞懂作者的意图。

条件竞争-上传

这边作者并没有给出上传的位置,所以只能通过作者给的poc进行测试
将作者编写的poc和要上传的文件放在一个目录下
在这里插入图片描述

这里是通过上传一个创建文件的php脚本,因为服务器端会删除白名单之外的文件,这里竞争的地方,就是赶在程序删除文件之前先执行了上传的脚本,从而生成一句话木马
在这里插入图片描述

这里还需要把poc里的url地址改为自己靶机的地址
在这里插入图片描述

运行poc发现文件已经存在了
在这里插入图片描述

任意文件读取

类似于文件包含,不过这个只能读取文件,不能执行命令
在这里插入图片描述

XXE

这里首先访问的login.php文件是会出现这样的错误信息
在这里插入图片描述

这里通过插入xml代码块到request包中,最后重新范围界面就可以此漏洞读取到服务器的本地文件


<!DOCTYPE a [
<!ENTITY xxe SYSTEM "file:///c:/windows/win.ini" >
]>
<user><username>&xxe;</username><password>admin</password></user>

在这里插入图片描述在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dorabox靶场writeup 的相关文章

  • POJ--2389:Bull Math 大数乘法

    题目源地址 http poj org problem id 2389 程序源代码 include
  • 力扣OJ(0801-1000)

    目录 802 找到最终的安全状态 805 数组的均值分割 809 情感丰富的文字 810 黑板异或游戏 813 最大平均值和的分组 817 链表组件 822 翻转卡片游戏 823 带因子的二叉树 827 最大人工岛 837 新 21 点 8
  • 知识图谱入门一:知识图谱介绍

    注 欢迎关注datawhale https datawhale club 系列 知识图谱入门一 知识图谱介绍 知识图谱入门2 1 实践 基于医疗知识图谱的问答系统 知识图谱入门2 2 用户输入 知识库的查询语句 知识图谱入门2 3 Neo4
  • 性能测试【一】

    目录 为什么要进行性能测试 性能测试关注什么 系统性能测试的流程 如何确定性能测试的需求 关键性能指标分析 关键业务分析 谁关注性能 概念 并发用户数 响应时间 RT 平均响应时间 ART 事务响应时间 TRT 每秒事务通过数 TPS 点击
  • 每日记录的名句

    每日记录的名句 学而优则仕 因为我比昨天更成熟了
  • vue 实现自定义主题切换+日夜切换

    不多废话 直入主题 文末会附上git代码链接 自定义主题切换 概述 一般主题切换为两种需求 主题色切换 日夜切换 主题色切换 基于elementUI 1 最开始想的是直接通过 el style setProperty el color pr

随机推荐

  • 【2023最新】LVGL 拖控件SquareLine Studio 激活安装教程(附工具,亲测有效)

    SquareLine Studio是LVGL拖控件开发界面 可以便捷地设计界面并一键生成C代码和python代码导出 目前支持的LVGL版本为8 2和8 3 6 安装不登录即可试用使用 个人版有5个屏幕 50控件限制 此教程支持window
  • 亲密关系-【舒适退出】-减少伤害的终局沟通

    一段关系的终结可能有很多原因 退出本质是一场自我沟通 想清楚 少后悔 不绝望 案例 三观不合 男朋友大男子主义 要分手 对方解释 保证 来回好几次 筋疲力尽 你根据什么得出三观不合的结论 你认为更值得相信的 究竟是自己的观察 还是对方的解释
  • frpc windows客户端启动报EOF的问题

    frpc windows客户端使用启动命令 frpc exe c frpc ini启动时会报错EOF 如下图 此时查看frpc log日志 可以发现报错为 也就是连接frps服务端失败了 可以在frpc ini配置文件中添加一行配置 也就是
  • tomcat 配置环境变量

    最近换电脑 备注一下 tomcat 环境变量配置 1 官网下载 tomcat 并解压 tomcat官网 https tomcat apache org 选择要下载的版本 下载 根据自己的电脑环境选择下载 笔者电脑是64位windows 下载
  • 基于邻接矩阵的广度优先搜索遍历

    数据结构实验图论一 基于邻接矩阵的广度优先搜索遍历 Time Limit 1000MS Memory limit 65536K 题目描述 给定一个无向连通图 顶点编号从0到n 1 用广度优先搜索 BFS 遍历 输出从某个顶点出发的遍历序列
  • Mybatis常用代码

    以下使用的数据库是Mysql Mybatis字段类型映射 在resultMap 中定义数据库字段对应的字段类型
  • C++ 类 :有参数构造函数与无参数构造函数使用注意事项

    构造函数的作用是在创建类的对象时进行类对象初始化的 在 C 中 每个类都有且必须有构造函数 如果用户没有自行编写构造函数 则 C 自动提供一个无参数的构造函数 称为默认构造函数 这个默认构造函数不做任何初始化工作 一旦用户编写了构造函数 则
  • BufferReader与BufferInputStream 区别及用法

    以reader结尾的都是以字符方式读入 而以stream结尾的都是字节形式 import java io BufferedReader import java io FileInputStream import java io IOExce
  • can差分线阻抗_CAN最全知识点汇总

    最近在学习CAN通讯 花费好多时间搜索资料 网络上大多数资料都是泛泛而谈 或者只是将CAN标准的文字罗列出来 看起来不够直观 不过 也找到了一些写的很好的资料 我将这些资料中对CAN知识点描述比较好的部分汇总起来并在某些地方添加一些例子 方
  • Redis模糊匹配并删除Key

    文章目录 1 登录可以连接Redis的机器 安装Redis 2 执行以下命令 删除模糊匹配到的Key 3 案例 4 相关文章 1 登录可以连接Redis的机器 安装Redis 详情请参见redis cli连接 2 执行以下命令 删除模糊匹配
  • 《python数据分析与挖掘实战》笔记第4章

    文章目录 第4章 数据预处理 4 1 数据清洗 4 1 1 缺失值处理 4 1 1 异常值处理 4 2 数据集成 4 2 1 实体识别 4 2 2 冗余属性识别 4 3 数据变换 4 3 1 简单函数变换 4 3 2 规范化 4 3 3 连
  • HDS存储链路的一个问题

    新上线的HDS AMS1000 由于光纤交换机还未到位 于是先采用两块光纤卡与存储直连的方式连接 安装配置时一切正常 第二天回到公司 进行性能测试时 发现dd copy的速度只能到100M s的速度 真是晕死 more 于是开始查原因 在d
  • 使用公式与格式控制Excel快速实现计划甘特图

    项目中都会遇到做任务计划的需求 有的客户要求需要有甘特图的形式 本文介绍如何使用excel 单元格实现甘特图显示 调整任务时间自动填充单元格填色实现甘特图效果 废话不多说 先看效果 准备工作先创建两列开始时间与完成时间 这样有一个时间区间了
  • 共享库的兼容性

    1 共享库的更新 1 由于Bug的修正 新功能的增加 性能的提升 共享库需要不断的更新版本 2 共享库的更新可以被分为两类 兼容性更新和不兼容更新 3 不兼容更新 共享库改变了原有的接口 使用该共享库原有接口的程序可能不能运行或者运行不正常
  • java连接sqlserver2005 tcp 有时超时,sqlserver 2005连接超时采用bat命令解决

    将以下内容保存为 openSql bat 双击运行即可 echo SQL Server Ports echo Enabling SQLServer default instance port 1433 netsh firewall set
  • MoveIt编程实现笛卡尔空间机械臂运动

    前两篇文章是关于在关节空间中进行机械臂的运动控制 MoveIt简单编程实现关节空间机械臂运动 逆运动学 MoveIt简单编程实现关节空间机械臂运动 正运动学 通过对关节空间下的机器人6个轴进行控制 每个轴的变化都是通过插补进行完成运动 六个
  • vue从node服务器获取文件,前端全栈入门(1)Vue+nodejs(express) 实现文件上传

    Vue Nodejs 实现图片上传 图片上传在平时的业务开发中应该算是个标配的需求 这里分享下使用Vue和Nodejs简单的实现下该需求 流程图 简单画一个 使用 vue cli 创建一个最简单的 vue 项目 确保 vue cli 是最新
  • 2019,那些属于飞桨的重要时刻

    2019已经悄然落幕 在过去一年中 飞桨加速崛起 在产品性能上高效迭代 并屡次斩获多项大奖 其取得的成绩有目共睹 这也意味着飞桨正领衔中国深度学习框架迎来高光时刻 现在 让我们一起来回顾一下2019关于飞桨的那些重要记忆 01 核心发布 一
  • CPU的原理

    其实CPU主要就是做运算 那么运算的本质其实就是加减乘除 也就是说你在电脑上做得任何操作 对于计算机来说 都是加减乘除 晶体管的组成 首先CPU有个很重要的电子元件 晶体管 晶体管由半导体组成 大概长下面这样 我们把1称为输入端 3称为输出
  • dorabox靶场writeup

    靶场搭建 这里我直接采用Windows下的wamp集成环境 直接将靶场源码下载到本地 解压到网站根目录即可 网站源码下载地址 https github com Acmesec DoraBox 数据库的配置 修改conn php的数据库连接账