首页 > 其他分享 >[SWPUCTF 2021 新生赛]PseudoProtocols

[SWPUCTF 2021 新生赛]PseudoProtocols

时间:2023-07-23 22:00:47浏览次数:40  
标签:PHP http SWPUCTF hint base64 2021 PseudoProtocols php nssctf

[SWPUCTF 2021 新生赛]PseudoProtocols

题目来源:nssctf

题目类型:web

涉及考点:PHP伪协议

1. 先看题目,给了一个提示

要我们找hint.php,我们直接修改url:http://node2.anna.nssctf.cn:28069/hint.php

发现页面空白无回显,这时候想到了使用PHP伪协议让其base64编码输出:

http://node2.anna.nssctf.cn:28069/index.php?wllm=php://filter/read=convert.base64-encode/resource=hint.php

有关PHP伪协议见:[ACTF2020 新生赛]Include

得到hint.php源码的base64编码

解码之后如下:

需要我们查看test2222222222222.php,这里不需要使用伪协议,直接修改url即可:

显然接下来就是代码审计了

2. 代码审计

<?php
ini_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;
}
?>

关键点在于file_get_contents($a,'r'),简单介绍一下:

file_get_contents() 把整个文件读入一个字符串中。即,这个函数会将文件内容以字符串形式输出,'r' 表示只读

那么我们关键需要让 $a 所表示的文件的内容存放 I want flag ,这怎么做到呢?这里就需要介绍另一个PHP伪协议了:

data://
自PHP>=5.2.0起,可以使用data://数据流封装器,以传递相应格式的数据。通常可以用来执行PHP代码。一般需要用到base64编码传输
示例:
http://127.0.0.1/include.php?file=data://text/plain;base64,xxxx(base64编码)

因此我们先将 I want flag 进行base64编码:

最终我们构造payload:

http://node2.anna.nssctf.cn:28069/test2222222222222.php?a=data://text/plain;base64,SSB3YW50IGZsYWc=

得到flag:

NSSCTF{8055bfb8-1847-4000-8834-5f42eb311025}

日期:2023.7.23

作者:y0Zero

标签:PHP,http,SWPUCTF,hint,base64,2021,PseudoProtocols,php,nssctf
From: https://www.cnblogs.com/bkofyZ/p/17575971.html

相关文章

  • 题解:【ICPC WF 2021 H】 Prehistoric Programs
    题目链接#include<bits/stdc++.h>#defineldlongdouble#defineuiunsignedint#defineullunsignedlonglong#defineintlonglong#defineebemplace_back#definepbpop_back#defineinsinsert#definempmake_pair#definepiipair<int,int>#def......
  • 2021年中国大学生程序设计竞赛女生专场
    链接:https://codeforces.com/gym/103389A.公交线路C++Code#include"bits/stdc++.h"usingnamespacestd;usingi64=longlong;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);intn,x,y;cin>>n>>x>......
  • 2021物业服务力测评成果
    由易居克而瑞主办的「2021物业服务力峰会」在上海召开,克而瑞于现场发布了「2021物业服务力测评成果」,这也给物业行业树立了服务力的风向标。这份榜单含金量较高,都是业主一票一票选出来的,前三甲分别是:万科物业、绿城物业和碧桂园物业。      ......
  • Au2021中文版Audition2021免激活下载 新功能介绍
    AdobeAuditionCS6是一款功能强大的音频编辑器,更是一个专业音频编辑和混合环境。为了方便大家下载使用,winwin7给大家带来的这款AU音频编辑器去除了其他国家的语言,让软件体积变得更小,运行更快,使用更流畅...完善的工具集,其中包含用于创建、混合、编辑和复原音频内容的多轨、波形和光......
  • 【专题】2021互联网广告行业报告PDF合集分享(附原数据表)
    报告链接:https://tecdat.cn/?p=33234原文出处:拓端数据部落公众号2022年,受到疫情干扰,宏观经济面临压力,广告主市场信心不稳定。在这种情况下,广告预算整体下降,更加注重品牌长期价值和在家场景的投放。同时,政策引导和规范同样重要,为推动广告产业数字化转型提供高质量支持。2022年,细......
  • 【专题】2021年中国互联网广告市场洞察报告PDF合集分享(附原数据表)
    报告链接:https://tecdat.cn/?p=33234原文出处:拓端数据部落公众号2022年,受到疫情干扰,宏观经济面临压力,广告主市场信心不稳定。在这种情况下,广告预算整体下降,更加注重品牌长期价值和在家场景的投放。同时,政策引导和规范同样重要,为推动广告产业数字化转型提供高质量支持。2022年,细......
  • 2021沈阳icpc
    B.BitwiseExclusive-ORSequence题意:有\(n\)个数,他们满足\(m\)组限制,每组限制给出\(u,v\),满足a[u]^a[v]==w,求这\(n\)个数的最小值思路:对于每一组\(u,v\),按位考虑,如果\(w\)上对应位是\(0\),意味着\(a_{u},a_{v}\)这一位一样,否则不一样,这是一个二分图问题,没一位考虑一个二......
  • 2021 robocom 世界机器人开发者大赛-本科组(初赛)
    7-1懂得都懂题目描述:7-1懂的都懂众所周知,在互联网上有很多话是不好直接说出来的,不过一些模糊的图片仍然能让网友看懂你在说什么。然而对这种言论依然一定要出重拳,所以请你实现一个简单的匹配算法。现在我们采集了原图的一些特征数据,由N个小于255的非负整数组成,假设对于......
  • NOI2021 题解
    [NOI2021]轻重边转化一下题意:每次给一条链染色,查一条链从\(x\)到\(y\)有几条边两端颜色相同。那这个随便树剖线段树就好了。也可以LCT,码量可能要小点。#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<vector>usingnamespace......
  • CMU15-445Project_2021Fall
    本文为CMU15-445(2021Fall)的lab记录。推荐博客:https://blog.csdn.net/twentyonepilots/article/details/120868216,逻辑写得比较清楚CMU-15445官方网页https://15445.courses.cs.cmu.edu/fall2021/assignments.htmlProject#1-BufferPoolTASK#1-LRU剔除策略可以先......