Challenge
Can you obtain the more secure secret? Even with all those filters? I don't think so :)
We also have the configuration files from the previous challenge Less Secure Secrets
.
When we visit the given link, we see that the page prints out the source code of the current page:
<html><head></head>
<body>
<img width="300px" src="/img.jpg" style="display:block;">
<?php
function no_errors_baby($ab){
die("I don't like errors and warnings");
}
function no_race($item, $key){}
array_walk_recursive($_SERVER, 'no_race');
array_walk_recursive($_GET, 'no_race');
array_walk_recursive($_POST, 'no_race');
array_walk_recursive($_REQUEST, 'no_race');
set_error_handler ( "no_errors_baby" , E_ALL );
if(!isset($_GET["yummy"])){
highlight_file(__FILE__);
} else {
sleep(2); //Anti-race
echo "<!--";
phpinfo();
echo "-->";
if(preg_match('/\$|\?|`|\'|"|%|!|[0-9]|@|\(|\)|\^|&|\*|-|\+|=|<|>|\\|{|}|\/|\||true|false|null|secret/i', $_GET["yummy"])
|| strlen($_GET["yummy"]) > 5000)
die("Don't try harder");
eval($_GET["yummy"]);
}
?>
</body>
</html>