前言最近遇到一些文件包含的题目,在本篇文章记录两个trick。 环境背景复现环境还是很容易搭建的:例题1(php7)index.php$a = @$_GET['file'];echo 'include $_GET[\'file\']';if (strpos($a,'flag')!==false) {die('nonono');}include $a;?>dir.php$a = @$_GET['dir'];if(!$a){$a = '/tmp';}var_dump(scandir($a));例题2(php5)index.php$a = @$_GET['file'];echo 'include $_GET[\'file\']';if (strpos($a,'flag')!==false) {die('nonono');}include $a;?>phpinfo.php
phpinfo();?>两道题的最终目标都是拿到根目录的flag。 phpinfo+LFI我们看到例题2:我们有文件包含,那么我们可以轻易的用伪协议泄露源代码:
file=php://filter/read=convert.base64-encode/resource=index.php这是老生常谈的问题,无需多讲,重点在于如何去读取根目录的flag。最容易想到的是利用包含:
http://ip/index
………………………………