BUGKU-文件包含-WriteUP

在这里插入图片描述
打开题目让点击链接
在这里插入图片描述
既然提示了文件包含,又看到*.php?file=这种格式就往伪协议上考虑。

关于PHP伪协议知识可以在这里补充
https://blog.csdn.net/cosmoslin/article/details/120695429

先测试看下?file=/etc/passwd
在这里插入图片描述
这里没有进行过滤可以直接读出来。
那么目前知道了是伪协议文件包含读文件接下来就要确定flag的目录了
这个可以上目录扫描看下,我没有这么做,试了几个简单的flag.php,/flag.php 然后就试出来了 /flag
在这里插入图片描述
当然这样直接猜目录还是靠运气,既然考伪协议,那么我们试着读一下这个index.php、show.php
构造也很简单,使用php://filter/resource=index.php 就表示使用伪协议读index.php那么payload就是

http://xxxx/index.php?file=php://filter/resource=index.php

在这里插入图片描述

http://xxxxx/index.php?file=php://filter/resource=show.php

在这里插入图片描述
可以看到这里直接执行了php,想看文件内容我们可以添加这个参数read=convert.base64-encode使用base64编码输出。
那么payload就是这样

http://xxxx/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

在这里插入图片描述

http://xxxx/index.php?file=php://filter/read=convert.base64-encode/resource=show.php

在这里插入图片描述
base64解一下
index.php
在这里插入图片描述
show.php(其实这个show.php就是个提示,提示flag在index.php中)
在这里插入图片描述
那么到此这题就解出来了
flag:flag{c10e8c4f0c1cab878bf0a61166a43524}
总结:
1.看到?file=的包含先用常见的目录尝试猜测,往往事半功倍。
2.伪协议读文件可以提供下一步的思路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值