美文网首页
2019-09-02 文件包含和几个伪协议

2019-09-02 文件包含和几个伪协议

作者: 欧米伽零式 | 来源:发表于2019-10-04 09:46 被阅读0次

    本地文件包含和远程文件包含:

    本地文件包含:只要内容中带有<?php ?>即可解析成php文件执行。即使包含的文件后缀是.txt或是.jpg等。

    远程文件包含:需要allow_url_fopen=on和allow_url_include=on才能进行包含。不能解析后缀为php可解析的文件。例如.php、php3等都是不行的。可以利用伪协议进行文件读写等操作。

    常见的几个伪协议:php://  file:// zip://  phar://  data:

    今日实践的三个伪协议:php://  file:// data:

    一、php://filter和php://input

    php://filter/resource=可以将非php代码文件内容直接输出。php代码文件直接执行。在读取文件时可以利用php://filter/read=convert.base64-encode/resource=将文件base64编码再进行包含,不会再被执行,可以直接输出文件内容的base64编码。解码即可获取文件内容。

    php://input可以利用post方式传入命令执行

    二、file://

    file://和php://filter很相似。但是只能依靠绝对路径查看文件内容。

    三、data:

    类似于php://input,直接执行输入的命令。


    关于文件包含防护:

    1. 利用open_basedir =  限制用户访问路径。

    2. allow_url_include = Off 和 allow_url_fopen=Off

    3.注意伪协议的滥用

    4.设置白名单

    相关文章

      网友评论

          本文标题:2019-09-02 文件包含和几个伪协议

          本文链接:https://www.haomeiwen.com/subject/lpbqyctx.html