[SWPUCTF 2021 新生赛]PseudoProtocols解题思路
首先我们看到这道题的页面
首先是有两个信息,一个hint.php;一个是url中的wllm=
感觉是用filter来读取文件,我们可以试试。
读取成功,这里是使用到了php伪协议,但是上面的payload就讲了,之前的一篇文章有讲解这个payload,然后我们现在讲这段base64解码一下因该就可以得到我们需要的信息了。
解出来是这个,意思是我们还要去他提到的这个文件
我们这里可以直接将刚刚的hint.php修改为这个,然后解密,也可以直接将我们新得到的这个php文件放在wllm=的后面
我们得到一段代码,我们分析一下这段代码
首先是包含了一个flag.php文件,然后我们要以get形式传入一个a参数,然后我们看到下面的if语句,file_get_contents是把
整一个文件读入到一个字符串中,也就是说我们的a是只读的,而且a的内容要和I want flag一样,这样因该就可以得到flag了
然后是file_get_contents这个函数,我们看到这个函数,然后题目也是文件包含的题目,我们可以使用php伪协议中的data://协议,根据这个思路我们可以构造payload,但是我们要知道data://协议的几种用法
一:url?file=data://text/plain,<?php phpinfo()?>
二:url?file=data://text/plain;base64,SSB3YW50IGZsYWc=(这里是你需要更的base64的编码,我这里随便举得例子)
上面两种是比较常用的,我们也可以是将data:后面的两个斜线去掉也是ok的,而且还有就是data://协议我们需要allow_url_fopen和allow_url_include都是on的状态而且php的版本要>=5.2。
然后我们看到这个题目,这里的话我们是可以用到第二种data:写法的。
我们先将I want flag给进行base64的编码,然后在放到我们第二个payload中。
然后我们就可以得到我们的flag了
以上如果那一个地方出现了问题的话,请及时提出,我也会尽快更改,本人刚学习网络安全不久,可能文中有部分东西表达的不清楚,大佬勿喷
相关文章
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- 叹息!GitHub Trending 即将成为历史!
- 微软软了?开源社区讨论炸锅,GitHub CEO 亲自来答
- GitHub Trending 列表频现重复项,前后端都没去重?
- Photoshop Elements 2021版本软件安装教程(mac+windows全版本都有)
- (ps全版本)Photoshop 2020的安装与破解教程(mac+windows全版本都有)
- (ps全版本)Photoshop cc2018的安装与破解教程(mac+windows全版本,包括2023
- 环境搭建:Oracle GoldenGate 大数据迁移到 Redshift/Flat file/Flume/Kafka测试流程
- 每个开发人员都要掌握的:最小 Linux 基础课
- 来撸羊毛了!Windows 环境下 Hexo 博客搭建,并部署到 GitHub Pages
- 超实用!手把手入门 MongoDB:这些坑点请一定远离
- 【GitHub日报】22-10-09 zustand、neovim、webtorrent、express 等4款App今日上新
- 【GitHub日报】22-10-10 brew、minio、vite、seaweedfs、dbeaver 等8款App今日上新
- 【GitHub日报】22-10-11 cobra、grafana、vue、ToolJet、redwood 等13款App今日上新
- Photoshop 2018 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2017 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2020 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2023 资源免费下载(mac+windows全版本都有,包括最新的2023)
- 最新版本Photoshop CC2018软件安装教程(mac+windows全版本都有,包括2023