当前位置: 首页 > article >正文

Mimikyu靶场刷题记录

 目录

靶场地址: 综合漏洞练习靶场 - 极核::CTF

Pass01 Source

Pass02 Response

Pass03 Get

Pass04 Robots

Pass05 Backup

Pass06 Cookie

Pass07 HTML

整体结构

元数据部分

页面内容

关于 disabled 属性

pass08 xff_referer

pass09 PHP

一、代码功能概述

二、代码逐行分析

pass10 weak_auth

pass11 Webshell

pass12 rce


靶场地址: 综合漏洞练习靶场 - 极核::CTF

Pass01 Source

在网页源代码中找到flag

Pass02 Response

打开网页,发现一个英文单词,翻译一下是主页的意思,然后翻看网页源代码什么也没有发现。

然后查看url发现结尾是inbex.php很别扭,一般都是index.php。

将url修改之后回车发现又变成了inbex.php,感觉这里应该是有问题。

扫描网页目录,确实有index.php.

用bp抓包改包,将inbex.php修改为index.php然后发送得到flag。

Pass03 Get

根据题目要求直接在末尾添加?1=2,直接得到flag。

Pass04 Robots

刚进入页面一片空白,然后根据题目是robots,在url后面输入robots.txt试试。

输入robots.txt得到下面信息

然后在f1ag_1s_h3re.php里面拿到flag。

Pass05 Backup

经过一顿摸索,备份文件名是www.zip

下载得到flag

Pass06 Cookie

打开网页,查看源代码啥也没发现,根据题目,猜测跟cookie有关。

使用bp抓包看一下

看到有个cookie.php,试试在url后面加上cookie.php.

发现有个提示,再抓包看一下。重新发送看到了flag.

Pass07 HTML

根据题目提示,查看网页源代码。

以下是对这段 HTML 代码的详细分析:

整体结构

  • DOCTYPE 声明
    • <!DOCTYPE html> 是文档类型声明,表明该文档是一个 HTML5 文档。
  • HTML 元素
    • <html lang="en"> 是 HTML 文档的根元素,lang="en" 属性指定文档的语言为英语。
    • <head> 元素包含了文档的元数据,如字符编码、视口设置和页面标题。
    • <body> 元素包含了页面的主要内容,用户可以看到和交互的部分。

元数据部分

  • 字符编码
    • <meta charset="UTF-8"> 定义了页面使用的字符编码为 UTF-8,确保页面可以正确显示各种字符,包括特殊字符和多语言字符。
  • 兼容性
    • <meta http-equiv="X-UA-Compatible" content="IE=edge"> 用于设置 Internet Explorer 的兼容模式,IE=edge 表示使用最新的渲染引擎版本。
  • 视口设置
    • <meta name="viewport" content="width=device-width, initial-scale=1.0"> 是为了使页面在移动设备上有更好的显示效果,将视口宽度设置为设备的宽度,并将初始缩放比例设置为 1.0。

页面内容

  • 页面标题
    • <title>disable</title> 定义了页面的标题,在浏览器的标签栏中显示为 "disable"。
  • 页面内容
    • <h3>为什么这个按钮不能按呀??</h3> 是一个三级标题,向用户提出一个问题。
  • 表单部分
    • <form action="" method="post"> 开始一个表单元素,action="" 表示表单提交的目标 URL 为空,默认会提交到当前页面,method="post" 表示使用 POST 方法提交表单数据。
    • <input disabled type="submit" value="flag" name="auth" /> 是一个提交按钮,但它被设置为 disabled

关于 disabled 属性

  • 属性解释
    • disabled 是 input 元素的一个属性,当该属性存在时,元素将被禁用,用户无法与之交互,包括点击按钮、输入文本等操作。在这个例子中,由于 disabled 属性被添加到了提交按钮上,用户不能点击该按钮,所以无法提交表单。
  • 可能的意图和修改建议
    • 可能是开发者在开发过程中暂时禁用了这个按钮,比如在某些条件未满足时不允许用户提交表单。如果想让按钮可点击,可以移除 disabled 属性

然后按键即可使用,点击后得到flag

pass08 xff_referer

根据信息提示要伪造ip地址 x-forwarded-for,进行抓包改包。

pass09 PHP

打开是一段php代码。

以下是对这段 PHP 代码的详细分析:

一、代码功能概述

  • 这段 PHP 代码是一个简单的 Web 应用程序,它可能用于测试或展示 PHP 中的一些漏洞。代码中包含了两个变量 $a 和 $b,通过 GET 方法从 URL 中获取,并根据对这两个变量的条件判断,决定是否输出 $flag1 或 $flag2

二、代码逐行分析

  • show_source(__FILE__);
    • 功能:使用 show_source 函数显示当前文件的源代码。这可能是为了代码审计或教学目的,让用户看到代码本身。
    • 风险:在生产环境中,将源代码暴露给用户可能会带来安全风险,因为这可能会让攻击者更容易发现代码中的漏洞。
  • include("config.php");
    • 功能:使用 include 函数包含了 config.php 文件。通常,config.php 文件可能包含一些重要的配置信息,如数据库连接信息、敏感常量等。
    • 风险:如果 config.php 文件不存在或无法正确包含,可能会导致 PHP 抛出警告或错误。同时,如果 config.php 被攻击者篡改,可能会引入安全风险,如代码注入。
  • $a=@$_GET['a']; 和 $b=@$_GET['b'];
    • 功能:使用 $_GET 超全局变量从 URL 中获取名为 a 和 b 的参数,并将它们存储在 $a 和 $b 变量中。@ 符号用于抑制错误信息,防止在参数未提供时产生未定义变量的警告。
    • 风险:直接使用 $_GET 变量且不进行过滤和验证,可能会导致用户输入的恶意数据影响程序的执行,如 SQL 注入、代码注入等。
  • if($a==0 and $a){
    • 功能:检查 $a 是否等于 0 并且 $a 同时为 true。这是一个逻辑漏洞,因为在 PHP 中,0 == '0' 为 true,而 0 作为一个整数,在逻辑判断中也会被认为是 false,但当 $a 是字符串 '0' 时,这个条件会满足。
    • 风险:这是一个逻辑漏洞,攻击者可以通过将 a 参数设置为 '0' 来满足此条件,从而绕过这个判断,获取 $flag1
  • echo $flag1;
    • 功能:如果上述条件满足,将输出 $flag1 的值。
    • 风险:如果 $flag1 是敏感信息,如系统密码、API 密钥等,那么这个信息可能会被攻击者获取。
  • if(is_numeric($b)){
    • 功能:使用 is_numeric 函数检查 $b 是否是一个数字(包括整数和浮点数)。
    • 风险:仅检查 $b 是否为数字可能不够,因为一些特殊情况,如十六进制数(如 0x1234)、科学计数法(如 1e10)等也会被认为是数字,可能会绕过某些检查。
  • exit();
    • 功能:如果 $b 是数字,程序将在此处终止。
    • 风险:如果 $b 是数字,将不会继续执行后面的代码,可能导致正常功能无法使用。
  • if($b>1234){
    • 功能:检查 $b 是否大于 1234。
    • 风险:如果 $b 不是数字,可能会导致比较时出现意外结果,因为 PHP 会尝试将 $b 转换为数字。例如,'abc' 会被转换为 0,而 '1235abc' 会被转换为 1235。
  • echo $flag2;
    • 功能:如果 $b 大于 1234,将输出 $flag2 的值。
    • 风险:同 $flag1,可能会导致敏感信息泄露。

在url后面加上?a='0'得到上半段flag

在url后面加上?b=1235a得到下半段flag

pass10 weak_auth

根据题目提示,应该是弱口令密码,抓包进行爆破。在爆破之前也试了试万能密码,失败了。

添加弱口令字典

然后开始爆破,得到flag

得到密码1234567,登录得到flag。

pass11 Webshell

根据页面内容以及题目,猜测需要使用蚁剑或者菜刀,哥斯拉等webshell管理工具。

连接测试成功,然后就是进入后台目录去查找flag。

pass12 rce

这个是别人写的wp,使用的是Windows系统命令得到的flag。

ping 的测试
image.png
ping baidu.com
image.png
ping127.0.0.1
image.png
利用ipconfig查询,可以看到操作系统就是我的主机windows
image.png
查询文件,看到flag.txt
image.png
在windows中查看文件的命令时type,一百度就知道
image.png

我所做的这个靶场使用的是linux指令。

127.0.0.1|cat flag.txt


http://www.kler.cn/a/507809.html

相关文章:

  • Golang学习笔记_26——通道
  • Ubuntu20.4和docker终端指令、安装Go环境、安装搜狗输入法、安装WPS2019:保姆级图文详解
  • SpringSecurity详解
  • 频域增强通道注意力机制EFCAM模型详解及代码复现
  • 处理 SQL Server 中的表锁问题
  • 如何在 Rocky Linux 上安装极狐GitLab?
  • 浅谈云计算21 | Docker容器技术
  • 深入探究 Vue 3 中动态组件加载与性能优化
  • git详细使用教程
  • C# Common.Utility
  • C# Sleep() vs Wait():到底用哪个?
  • Swift语言的多线程编程
  • Python编程与在线医疗平台数据挖掘与数据应用交互性研究
  • JavaScript,ES6,模块化,大程序文件拆分成小文件再组合起来
  • vue3学习三
  • 网络安全 | 防护技术与策略
  • 客户案例 | Ansys与索尼半导体解决方案公司合作推进自动驾驶汽车基于场景的感知测试
  • C# 获取PDF文档中的字体信息(字体名、大小、颜色、样式等
  • Android系统定制APP开发_如何对应用进行系统签名
  • Android 北斗与平台芯片相关
  • PLC(电力载波通信)网络机制介绍
  • Qt——QTableWidget 限制单元格输入范围的方法(正则表达式输入校验法、自定义代理类MyItemDelegrate)
  • Go语言strings包与字符串操作:从基础到高级的全面解析
  • C#深度神经网络(TensorFlow.NET)
  • MongoDB中游标的使用
  • 2019-Android-高级面试题总结-从java语言到AIDL使用与原理