flag就在flag.php中

Web1

题目地址

1.访问题目存在一个登录界面

这里写图片描述

2.注册一个用户登录,然后会跳转到另一个界面,会给出一些提示

这里写图片描述

3.访问flag.php,试试可不可以得到flag

这里写图片描述

提示admin可以得到flag,然后跳转回登录界面,猜测这和Cookie是有关的

4.抓包

这里写图片描述

发现在Cookie里有username,而且每一个用户的username是不一样的,后面的值是base64加密之后的

这里写图片描述

在登录成功跳转的那个页面还有一个修改密码的功能,就是说我们可以把amdin的密码修改了,然后以admin的身份进行登录

5.改包

首先得到admin经过base64加密的值YWRtaW4=,然后在burpsuite上进行改包

这里写图片描述

修改成功之后以amdin的身份登陆

这里写图片描述

在这一步刚开始以为是使用%00截断,然后用菜刀连接得到flag,结果发现不是这样

经过多种尝试,得到正确的get flag的姿势

6.本地包含flag.php文件

之前提示说flag在flag.php,现在是使用admin身份登陆,而且这里有远程图片地址,那么这里就应该是要在本地包含flag.php

这里写图片描述

原本抓包会有附件这一行的信息,删除掉,点击go就会出现两个图片地址。访问第一个

7.使用google访问图片地址

这里写图片描述

在这里是看不到flag的,先把图片下载到本地

8.修改后缀得到flag

因为使用图片格式打不开,所以修改后缀为txt试试,就得到了flag

这里写图片描述

### PHP `flag.php` 文件包含漏洞分析 文件包含漏洞允许攻击者通过控制输入参数来加载并执行任意文件。对于 `flag.php` 的情况,如果此文件可以通过未受保护的方式被包含,则可能存在严重的安全隐患。 #### 漏洞原理 当应用程序使用动态变量去指定要包含的文件路径而未能充分过滤用户输入时,就会发生本地或远程文件包含漏洞。例如,在某些情况下,攻击者可以利用类似 `php://filter` 流封装器绕过基本的安全措施[^1]: ```php <?php // 不安全的做法 $file = $_GET['file']; include($file); ?> ``` 上述代码片段展示了如何不当使用 GET 参数直接作为文件名的一部分来进行文件包含操作。这使得攻击者有可能构造特殊的 URL 请求,使服务器解析和运行预期外的内容,比如泄露敏感数据或者执行恶意指令。 #### 利用实例 假设存在一个上传功能,并且上传后的脚本可以直接由 Web 服务端解释执行。那么一旦成功上传了一个含有恶意 payload 的 PHP 脚本(如 `index.php`),并通过特定请求触发它,就能达到执行任意命令的目的[^2]: ```bash POST /url/upload/index.php HTTP/1.1 Host: example.com Content-Type: application/x-www-form-urlencoded x=system('cat ../flag.php'); ``` 这段 POST 请求尝试调用系统命令读取位于上级目录下的 `flag.php` 文件内容。 #### 防护建议 为了防止此类问题的发生,应该严格限制哪些文件是可以合法地被包含进来。一种方法是在源码层面硬编码所有可能的有效选项,而不是依赖于外部可控的数据决定要加载哪个资源。例如[^3]: ```php <?php $allowed_files = ['include.php', 'file1.php', 'file2.php', 'file3.php']; if (!in_array($_GET['page'], $allowed_files)) { die("ERROR: File not found!"); } $page = $_GET['page']; include "$page"; ?> ``` 此外,还应实施其他防护机制,如启用 open_basedir 来约束 PHP 可访问的文件范围;禁用危险函数如 `exec()`, `shell_exec()` 和 `passthru()` 等;并对上传文件进行严格的 MIME 类型验证与病毒扫描[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值