题目考查点
1.php中stripos()函数、file_put_contents()函数应用
2.数组绕过方法
涉及知识点
1.PHP中stripos()函数用来查找字符串在另一字符串中第一次出现的位置,并不区分大小写。返回值为字符串第一次出现的位置,如果没有找到字符串返回false。详细介绍可见stripos函数
2.file_put_contents()函数可用来把字符串、数组或者数据流写入文件中,返回值为写入到文件内数据的字节数。如果写入的是数组,会利用join(‘’,$array)
转化为字符串。详细介绍可见file_put_contents函数
解题步骤
1.在初始界面随便输入一串数,进入一个新的界面。上面的php代码要求以get请求提交的content字符串中不应该包括’php’或者’<’,如果满足了这个条件就会将content内容存到filename中。
2.输入满足条件的字符串,config.php页面中只会出现所输的内容。猜测需要在filename中存入’php’或者’<’。遂尝试使用数组绕过的方法,在url后面添加content[]=’php’
或者content[]=’<’
。此时config.php页面中出现flag。
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!