fileinclude
记录一道简单的fileinclude
问题描述:

查看网页源码

所以题目的关键在于达成这第15行的条件:
$lan = $_COOKIE['language'];
在cookie中的内容language 会被传到变量\(lan,继而在第23行@include(\)lan.".php");被调用与执行,因此cookie变量中很适合写入读取flag.php的payload
解决办法:
工具:hackbar
php://filter/read=执行文件读取功能
convert.base64-encode执行Base64编码功能
/resource=/var/www/html/flag填写flag.php所在的地址,本题在源码的第5行有提示地址为language in /var/www/html/index.php on line ;且需要注意注意源码第23行的内容(@include($lan.".php"); ),在上传参数时代码会附带后缀.php,所以此处不需要写为 '/var/www/html/flag.php'


得到一串base64编码的值,通过解码可得到flag

flag="cyberpeace{e557f1c6bf0e41cfbae313a72876e91b}"

浙公网安备 33010602011771号