您当前位置: 首页 » 敏感函数 » file_put_contents()

file_put_contents()

2017年8月20日 | 发表评论(0) 查看评论

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

例如p师傅的实例:

 

该代码检测了写入的内容是否存在“<”“>”“?”等字符。根据上面的trick,我们可以通过传入一个数组来达到写入shell的目的。可以看到虽然出错。但config.php确实被写入了。<? php phpinfo();

分类:

敏感函数

| 标签:

,

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">