本次教程来自YanXia,转载请注明作者信息,博客地址http://www.535yx.cn,感谢


第一题Include

这题还是蛮简单的。打开题目,发现有一个Tip。点击进去后是这个页面
50171-yuprqrkqe7j.png

?file=flag.php

结合题目所给的意思所知,这是道文件包含题。所以我们直接一手php://filter伪协议来读取flag.php的内容
payload如下

?file=php://filter/convert.base64-encode/resource=flag.php

15776-6r75qkvrgdm.png

之后直接base64解密就好了。

第二题Exec

这题就是典型的命令执行漏洞
54976-786djwy8w8.png

所以我们直接一手127.0.0.1|cat /flag 即可获得flag
33873-2ekqbnxmgwd.png

再这里我想补冲一点相关知识
管道符
| (按位或) 只能执行出最后一个命令
|| (逻辑或)哪个命令对就执行哪个命令,可以同时执行
; 多个命令相互不影响
& 哪个命令对就执行哪个命令,可以同时执行
&& 只执行第一个命令。若前面命令为假则直接出错不执行后面漏洞。若只有后面命令出错,不影响前面命令执行

BackupFile

由题目得知,这题是找备份文件,与攻防世界新手那道找备份文件类似,所以我直接一手index.php.bak得到备份文件
32880-o0uqmncl1n.png

is_numeric() 函数用于检测变量是否为数字或数字字符串。
intval() 函数用于获取变量的整数值
php会先将判断输入值是否为字符串。如果是则进入下部份判断,输入的值转换为int整数型与$str 进行对比。而转换后在第一个数字字符之后的值会被清理掉。所以我们只需要构建index.php?key=123即可得到flag
57298-8zdpwjbsdtm.png

发表评论