博客
关于我
网络安全实验室----微笑一下就能过关
阅读量:113 次
发布时间:2019-02-27

本文共 686 字,大约阅读时间需要 2 分钟。

PHP伪协议实战:从题目到解题全解析

个人收获

PHP伪协议

在这次实战中,我深刻体会到了PHP伪协议的强大之处。通过题目中的线索,我学会了如何利用URL参数构造特殊的数据片段,进而完成任务。这次经历让我对PHP伪协议的应用有了更深入的理解。


转载

题目描述

题目要求我们通过特定的条件完成任务。最终目标是获取特定的关键字,这需要我们充分利用PHP伪协议的特性。


解题思路

1. 开启题目

首先,我打开了题目页面,注意到页面中包含了一些图片和链接。我的第一步是查看页面的源码。

2. 代码审计

通过查看源码,我发现了一些关键的限制条件:

  • 禁止使用某些字符和符号:包括“.”、“%”、“0-9的数字”、“http”、“https”、“ftp”、“telnet”等。
  • 禁止包含文件:但文件内容必须是特定的符号组合(如“●’◡’●”)。
  • 利用URL参数:可以通过查询字符串构造特定的数据片段。
  • 3. PHP伪协议的应用

    结合以上条件,我意识到这道题的核心就是利用PHP伪协议。由于禁止使用某些协议(如http、https),我只能通过URL参数传递数据。

    最终,我构造了一个符合条件的URL:

    ?^[^=data://text/plain;charset=unicode,(●’◡’●)]&

    4. 获取关键字

    通过上述URL,我成功获取了题目中的关键字。这一过程让我对PHP伪协议的灵活性和实用性有了更深刻的认识。


    总结

    这次题目让我对PHP伪协议有了更深入的理解。通过代码审计和实际构造,我学会了如何在受限的条件下完成任务。这不仅锻炼了我的技术能力,也让我意识到细节的重要性。

    你可能感兴趣的文章
    Pandas:如何按列元素的组合分组,以指示基于不同列的值的同现?
    查看>>
    Pandas:将一列与数据帧的所有其他列进行比较
    查看>>
    PANDA:基于多列对数据表的行运行计算,并将输出存储在新列中
    查看>>
    PandoraFMS 监控软件 SQL注入漏洞复现
    查看>>
    PandoraFMS 监控软件 任意文件上传漏洞复现
    查看>>
    Papyrus项目常见问题解决方案
    查看>>
    Parallel.ForEach使用示例
    查看>>
    Parallel.ForEach的基础使用
    查看>>
    parallels desktop for mac安装虚拟机 之parallelsdesktop密钥 以及 parallels desktop安装win10的办公推荐可以提高办公效率...
    查看>>
    parallelStream导致LinkedList遍历时空指针的问题
    查看>>
    Parameter ‘password‘ not found. Available parameters are [md5String, param1, username, param2]
    查看>>
    ParameterizedThreadStart task
    查看>>
    Spring security之管理session
    查看>>
    paramiko模块
    查看>>
    param[:]=param-lr*param.grad/batch_size的理解
    查看>>
    spring mvc excludePathPatterns失效 如何解决spring拦截器失效 excludePathPatterns忽略失效 拦截器失效 spring免验证拦截器不起作用
    查看>>
    Spring Cloud 之注册中心 EurekaServerAutoConfiguration源码分析
    查看>>
    Parrot OS 6.2 重磅发布!推出全新 Docker 容器启动器
    查看>>
    Parrot OS 6.3 发布!全面提升安全性,新增先进工具,带来更高性能
    查看>>
    ParseChat应用源码ios版
    查看>>