题目:http://120.24.86.145:8006/test1/
首先拿到题目后,毫无疑问,查看一下源码
<!--
$user = $_GET["txt"];
$file = $_GET["file"];
$pass = $_GET["password"];
if(isset($user)&&(file_get_contents($user,'r')==="welcome to the bugkuctf")){
echo "hello admin!<br>";
include($file); //hint.php
}else{
echo "you are not admin ! ";
}
-->
解读一下源码的意思:
- get方式传入三个参数:txt,file,password
- file_get_contents()函数的作用是将$user的内容读取出来,在此即为将user读取出来的内容数值与类型完全等于welcome to the bugkuctf。(三个等于号)
- 如果满足if条件,则打印输出"hello admin!"。并且将包含的hint.php内容显示出来
在此,可以运用两个PHP的伪协议
- php://filter 可以进行任意文件的读取。
有关php://filter的详细了