题目来源
题目来源于中学生CTF平台,地址:http://www.zxsctf.com/
解题过程来自于中学生CTF论坛:easy_yinkelude 简单的文件包含 - Web 中学生CTF论坛
用户:ZeroRestart
解题过程
访问页面 进行审计
简单理解就是 post传入的参数 如果和 $shit变量值 相等则就输出flag
把代码复制下来 看一下$shit 变量的内容是什么 echo 打印出来
如果等于O:5:"hello":1:{s:4:"falg";s:6:"tql123";} 则就会输出flag
file_get_contents()是把文件读入一个字符串
这里就会遇到一个问题,file传参必须是文件。
突然间想到了它是读文件内容并且返回一个字符串 然后 判断是否相等,那直接试试能不能读一个远程文件。
突然间想到了它是读文件内容并且返回一个字符串 然后 判断是否相等,那直接试试能不能读一个远程文件。
说干就干,先本地测试能不能读远程文件
这边修改本地代码 如果成功则显示1
在本地服务器新建一个txt文件
传参 file=http://127.0.0.1/1.txt 成功返回 1
本地测试成功
直接把文件上传到服务器,然后看是否能成功访问
成功
直接利用,得到flag