【奇技淫巧】PHP file_put_content函数写文件鸡肋绕过

  • A+
所属分类:安全文章

【奇技淫巧】PHP file_put_content函数写文件鸡肋绕过

        昨天遇到个站,非常奇葩,把客户的评论写到文件里面,而且开了报错。所以就很容易地看出了那个文件的源码,大概是这样的:

【奇技淫巧】PHP file_put_content函数写文件鸡肋绕过

        所以,我就想,能不能把那个.txt截断,然后先后在本地搭建了Windows环境和centos环境。

【奇技淫巧】PHP file_put_content函数写文件鸡肋绕过

        win下的结果:

【奇技淫巧】PHP file_put_content函数写文件鸡肋绕过


        发现在windows下可以使用“:”截断后面的.txt,让上传的文件变成了.php,原因是windows不允许”:”等一些特殊符号存在于文件名中,在linux中则可以存在。

        之所以说鸡肋,是因为这样并没有什么卵用,只是上传了个php文件而已,file_put_content函数相当于是fopen,fwrite,fclose的打包函数,但是由于并不存在”2-1.php:.txt”文件,尽管fopen函数写了个文件名到文件夹里,不过fwrite函数无法将内容写入该文件中,因此该文件只能是空文件。

        会不会覆盖其他文件呢?我试了一下,对原文件内容似乎也没有影响,我的notepad++还是提示该文件已更改,是否reload,reload以后,发现内容并没有改变。


【奇技淫巧】PHP file_put_content函数写文件鸡肋绕过

本文始发于微信公众号(T00ls):【奇技淫巧】PHP file_put_content函数写文件鸡肋绕过

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: