20.[ZJCTF 2019]NiZhuanSiWei
考察知识点:
1.php伪协议(php://input,php:///filter)
2.序列化 toString
1.打开网站发现源代码
1 |
|
2. 查看源代码需要使$text的内容为”welcome to the zjctf”,并且是使用file_get_contents()的方式,不能直接text=”welcome to the zjctf”
此时需要采取php://input伪协议
构造:
1 | ?text=php://input |
![20.[1.png)
此时已经绕过第一个限制
3. 提示存在useless.php文件,并且该文件才include前并没有进行任何限制,很显然存在文件包含漏洞,使用php://filter伪协议即可读取源代码
构造:
1 | ?text=php://input&file=php://filter/convert.base64-encode/resource=useless.php |
4.读取到useless.php文件原代码的base64编码,解码即可得到源代码
1 |
|
5. 根据index.php的unserialize和uselexx.php的toString方法判断存在序列化漏洞
,只要使useless.php文件中的file=flag.php即可得到flag.php文件的你内容
构造序列化数据exp:
1 |
|
6.访问即可得到flag
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 h11ba1's blog!
评论