文件包含-php伪协议

[题目信息]:

题目名称题目难度
文件包含-php伪协议1

[题目考点]:

由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。

以PHP为例,常用的文件包含函数有以下四种:
include(),require(),include_once(),require_once()

[Flag格式]:

SangFor{2Hqn_sIY_2TeT8gS}

[环境部署]:

docker-compose.yml文件或者docker tar原始文件。

http://分配ip:2013

[题目writeup]:

1、实验主页

2、题解分析

<?php
error_reporting(0);
$file = $_GET['SangFor'];
include($file);
highlight_file(__FILE__);
?>

分析题目源代码,用户通过GET方式传入的字符会赋值给变量file。

并且通过include函数处理了变量file。

此时可考虑通过php伪协议读取文件。

?SangFor=php://filter/read=convert.base64-encode/resource=flag.php

将获取的字符串base64解码即可得到flag。

伪协议filter是一种用于文件包含伪协议。它不受allow_url_fopen和allow_url_include参数的影响,可以用来读取本地文件系统或访问HTTP、FTP等协议的URL。 在PHP中,可以使用php://filter伪协议来读取文件内容并对其进行处理。例如,使用php://filter/resource=来读取文件内容,php://filter/read=convert.base64-encode/resource=可以将文件内容以base64编码输出。 通过使用filter伪协议,攻击者可以利用文件包含漏洞来读取敏感文件,包括PHP源代码、配置文件等。因此,在编写PHP代码时,务必要注意对用户输入进行严格过滤和验证,避免文件包含漏洞的利用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [文件包含-伪协议](https://blog.youkuaiyun.com/Wu000999/article/details/101925271)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [CTF---Web---文件包含---02---rot13伪协议](https://blog.youkuaiyun.com/qq_22160557/article/details/119174803)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值