攻防世界-Web_php_include-胎教版wp

前言:

  • 考点:文件包含,data伪协议
    • Data伪协议 嵌入纯文本:data:,纯文本内容(当数据为纯文本且无需指定数据类型时,可省略「MIME 类型」和「编码」,直接用基础格式
    • Data伪协议 嵌入可执行内容(指定[MIME类型]):data:[MIME],[可执行内容]
    • Data伪协议 嵌入二进制数据(base64编码):data:[二进制MIME类型];base64,Base64编码后的数据

解题步骤:

  • 1.进入靶场,是一段PHP代码,我们进行代码审计,大致说是要以GET方式得到变量$page的值,而且使用了循环语句,一旦识别到page值中存在php://,会将其改为空格,不断循环,直至不存在为止,简单理解为过滤掉了php://
  • 2.过滤掉了php://,导致我们filter伪协议没办法使用,我们这时想到data伪协议,构造payload :data://text/plain,<?system('ls')?> 输入运行得到

    我们肯定对fl4gisisish3r.php感兴趣,访问它
  • 3.修改执行命令,将ls改为cat fl3gisisish3r3.php,输入运行,flag在源码里,我们查看源码就可以得到
  • 4.如果想直接得到flag,可以将可执行内容改为show_source('cat fl4gisisish3r3.php') 这样就可以直接显示flag
相关推荐
雾岛听蓝2 小时前
C++11 列表初始化与右值引用核心解析
开发语言·c++·经验分享
小北方城市网2 小时前
Spring Boot 多数据源与事务管理实战:主从分离、动态切换与事务一致性
java·开发语言·jvm·数据库·mysql·oracle·mybatis
痴儿哈哈2 小时前
C++与硬件交互编程
开发语言·c++·算法
遇见火星2 小时前
Linux综合性能监控工具dstat命令详解
linux·服务器·php·dstat
roman_日积跬步-终至千里2 小时前
【Java 并发-面试】从线程基础到企业级开发的知识点概况
java·开发语言
云中飞鸿2 小时前
VS2015安装后,安装QT59,之后安装qt-vsaddin-msvc2015-2.4.3.vsix 文件失败问题!
开发语言·qt
m0_748233172 小时前
C与C++:底层编程的六大核心共性
java·开发语言
沐知全栈开发2 小时前
HTTP Content-Type
开发语言
一切尽在,你来3 小时前
C++多线程教程-1.2.2 C++标准库并发组件的设计理念
开发语言·c++