首页 > 其他分享 >Mimikyu靶场刷题记录

Mimikyu靶场刷题记录

时间:2025-01-20 23:03:32浏览次数:3  
标签:PHP 源代码 代码 flag 刷题 靶场 php 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

标签:PHP,源代码,代码,flag,刷题,靶场,php,Mimikyu,页面
From: https://blog.csdn.net/m0_74190241/article/details/145194622

相关文章

  • 【刷题实录之二叉树】leecode429. N 叉树的层序遍历(层序遍历)
    题目:给定一个N叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由null值分隔。题解:本体是层序遍历的变形,只需要将“左右孩子入队”变成“所有孩子入队”即可,需对结点数据结构有深入把握。代码(C++):classSolution{public:......
  • 2025 刷题计划 - 线段树
    2025刷题计划-线段树A.P3313[SDOI2014]旅行树剖板子题,开\(C\)棵线段树即可。你可能会说开不下?动态开点不就完了。B.P3924康娜的线段树有意思的一道题,貌似\(O(n\logn)\)解法比\(O(n)\)更难?我实现不出来。首先易得期望的计算方式即为:设当前节点\(x\)的深度为......
  • 【第一天】零基础入门刷题Python-算法篇-数据结构与算法的介绍(持续更新)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Python数据结构与算法的详细介绍1.基本概念2.Python中的数据结构1.列表(List)2.元组(Tuple)3.字典(Dictionary)4.集合(Set)5.字符串(String)3.Python中的常用算法1.排序算法2.搜索算法3.递......
  • 为什么刷题想得越多,考得反而越差?---过拟合现象带来的思考和启迪
    文章目录1.声明2.开篇3.问题的引入4.总结5.正则化的思想解释6.奥卡姆剃刀原理7.对于刷题现象的解释8对于现实生活的指导意义9.思考和启迪1.声明这个系列的文章用来记录学习这个漫士沉思录(b站知名up主)的相关的科普视频,后续可能会有这个领域的其他的博主,例如乐天垂星之......
  • Mac 刷题环境配置
    Mac刷题环境配置这篇博文主要记录自己为了更方便的在Mac上写算法题,主要是基于Clion做的一些环境配置;有些操作其实在Windows,Linux下也是通用的,如果看到的小伙伴也可以结合自己的情况参考。Clion插件推荐一下这个插件C/C++SingleFileExecution,因为刷算法题主要是单......
  • 打卡信奥刷题(628)用C++信奥P8053[普及组/提高] [COCI2015-2016#4] DEATHSTAR
    [COCI2015-2016#4]DEATHSTAR题目描述你排除万难,潜入了DeathStar。要想摧毁它,你需要一个长度为nnn的数组a......
  • 【做题记录】2025刷题计划--线段树
    A.「SDOI2014」旅行给每个宗教开一棵线段树,树剖\(+\)线段树单点修改区间查询即可。Code#include<bits/stdc++.h>#definelllonglong#defineilinline#defineread(x){\ charch;\ intfu=1;\ while(!isdigit(ch=getchar()))\ fu-=(ch=='-')<<1;\ x=ch&1......
  • pikachu靶场的详细搭建,附pikachu靶场源码下载链接
    一、安装好phpstudy首先搭建pikachu靶场的第一步,先是安装好phpstudy,这是一款集成环境的软件,里面包含了Apache,FTP,MySQL,Nginx。phpstudy的官方网址:https://www.xp.cn/download.这里就根据大家的需要,选择Windows版,查看电脑的型号选择对应的PhpStudyV8版本位数,但现在一般电脑配置......
  • OSCP靶场练习从零到一之TR0LL: 1
    本系列为OSCP证书学习训练靶场的记录,主要涉及到vulnhub、HTB上面的OSCP靶场,后续慢慢更新1、靶场介绍名称:TR0LL:1下载地址:https://www.vulnhub.com/entry/tr0ll-1,100/2、信息收集nmap扫描ip,发现目标ip192.168.31.131使用nmap详细扫描nmap-sV192.168.31.13......
  • 1.17 刷题
    1思路P1331海战-洛谷|计算机科学教育新生态(luogu.com.cn)本题难点主要是如何分辨哪些穿是相撞而产生无效,哪些是有效很容易想到的是,不论是bfs还是dfs都可以轻松全部搜掉,只需要简单的遍历所有点,然后套板子即可但是这是无法排除无效情况的,也就是相撞的情况推敲一下,发现......