2021.3.15写,
2021.4.15修改,
一、自己做:
尝试了,但是页面没有反应,再加上不知道怎样去读取,就看wp了
还是粗心了,我看到他说 不能有伪协议,:
// no stream wrapper
'(php|file|glob|data|tp|zip|zlib|phar):',
然后,虽然有 file_get_content()
函数,我也没有去想用php伪协议来。
后来发现in_valild()
这个函数并没有对 page
这个变量进行过滤啊。。大意了。。
$content = file_get_contents($page);
这个看到 file_get_contents()
函数,还是要时刻注意:ph://filter
这个读取协议。
二、学到的:
- 还有unicode的知识点,json_decode会自动解析unicode编码。然后。
- 就是有个算是逻辑漏洞的把,明明是由黑名单检测的。但是检测的过早了,我们就可以用其他的编码进行绕过,而恰巧
json_decode()
能够接收Unicode
编码,然后我们Unicode编码进行绕过就好了, - 然后,取出来文件内容,他又对我们的文件内容进行了 过滤, 那就编码取出来么,easy。
三、学WP:
jason_decode会自动解析unicode编码,然后就用Unicode编码来进行绕过了
读取的话就{"page":"php://filter/convert.base64-encode/resource=flag.php"}
然后编码,提交