[ACTF2020 新生赛]Include1

本文介绍了几种PHP文件包含的伪协议,如php://filter/可筛选过滤数据流以读取文件源码,php://input能配合漏洞实现任意代码执行,data://可使内容当作文件执行,zip://能读取压缩包文件获取webshell,还通过实例展示了利用这些伪协议获取flag的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进入题目环境发现一个超链接尝试点击,返回了一段文字

发现url请求了一个file参数

这里介绍几种文件包含的伪协议

php://filter/ 可以对打开的数据流进行筛选和过滤,常用于读取文件源码

使用文件包含文件时,文件中的代码会执行,如果想要读取文件源码,可以使用base64对文件内容进行编码,编码后的文件内容不会被执行,而是展示子啊页面,我们将页面中的内容使用base64解码,就可以获取文件源码了

Php://input 可以访问请求的原始数据,配合文件包含漏洞可以将post请求体中的内容当作文件内容执行,从而实现任意代码执行,需要注意的是,当enctype=multipart/from-data时,php://input将会无效

使用实例

Php://input 然后进行post请求

data:// 协议格式data:资源类型;编码,内容  

Data://text/plain,<?php system(‘ls’)?>

使后面的内容当作文件内容来执行,从而造成任意代码执行

Data://text/plain,<?php system(‘id’)>

Zip://    zip协议用来读取压缩包中的文件,可可以上传开启后门,获取webshell

将shell.txt压缩成zip,再将后缀名改为jpg上传至服务器,再通过zip伪协议访问压缩包里的文件,从而链接木马。

实验试例: 把一个webshell改名为.jpg 文件 压缩为zip 格式上传 最后 zip://webshell.zip#webshell.jpg 一句话木马会执行。

我们使用尝试该伪协议进行包含读取flag.php:

Php://filter/convert.basse64-encode/resource=flag.php 成功获得base64加密后的flag.php源码

进行base64解密获得flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值