博客
关于我
网络安全实验室----微笑一下就能过关
阅读量: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伪协议有了更深入的理解。通过代码审计和实际构造,我学会了如何在受限的条件下完成任务。这不仅锻炼了我的技术能力,也让我意识到细节的重要性。

    你可能感兴趣的文章
    Python两个版本共存时,怎么验证是否安装成功 scrapy
    查看>>
    Python两个版本共存时,通过pip安装Scrapy
    查看>>
    python两组变量的相关关系散点图_变量是什么?变量间的两种关系——函数关系和相关关系(小学版)...
    查看>>
    Python中 pass语句的作用
    查看>>
    python中 urllib, urllib2, httplib, httplib2 几个库的区别
    查看>>
    python中 yaml库 & json库 & xmltodict库使用
    查看>>
    python中 将你的名字转化成为二进制并输出
    查看>>
    Python中*args 和**kwargs的用法
    查看>>
    Python中*args 和**kwargs的用法
    查看>>
    Python中*args和**kwargs的使用
    查看>>
    python中0、1、True、False、if条件
    查看>>
    python中argparse模块关于 parse_args() 函数详解(全)
    查看>>
    python中base64编码与解码
    查看>>
    python中break怎么用_详解Python中break语句的用法
    查看>>
    python中del函数的垃圾回收
    查看>>
    Python中DrissionPage的详细解析与实战
    查看>>
    python中enumerate、变量类型转换
    查看>>
    python中execute是啥_python – 为什么“c.execute(…)”打破循环?
    查看>>
    python中exit和break区别_Python中exit()和sys.exit()之间的区别
    查看>>
    python中h5的用法
    查看>>