所在的位置: 程序员 >> 职业发展 >> 易酷CMS文件包含

易酷CMS文件包含

0x01先说说文件包含的关键函数

php文件包含函数include、include_once、require、require_once区别1.在错误的处理上

require()语句在遇到包含文件不存在,或是出错的时候,就停止即行,并报错。include()则继续即行。ps:在PHP4.3.5之前不会报错如果你想在出错的地方就停止程序,那么你就选择require吧。include()就不是这样,程序还是会运行,同时要保证包含路径是正确的。2.include()include()语句将在其被调用的位置处包含一个文件。包含后运行包含的文件。3.include_once()include_once()在执行包含文件并运行文件,这和include()类似, 不同的是include_once()会判断是否已经执行过,如果已经包含,则忽略这次包含。4.require()require()在很大的程度上和include()相同,有两个重要的区别。首先无论执行的语句如何,只要出现了require(filename),就会包含这个文件,即使语句是false。其次看上文中的1。5.require_once()require_once()在很大程度上和require()相同。 的区别就是require_once()会判断包含的文件是不是已经被执行过,避免函数的重定义和变量重新赋值。

0x02代码分析:/core/Lib/Action/Home/MyAction.class.php

1.$id变量来自于GET传入,之后又传到了display函数,display函数的参数是模板的名称。

2.跟踪display函数,传值到模板处理函数fetch()view.class.php(-)

调用非默认模板,模板阵列分量分解直接载入模板,没有做过滤处理,直接include

3、对包含文件的处理/core/ThinkPHP/Lib/Think/Core/View.class.php(-)

直接引入其他模板的操作,无任何过滤

0x03漏洞利用

1.通过以上函数的跟踪,发现包含点,构造一句话,利用thinphp日志记录,写入一句话

exp:







































北京中科医院是假的吗
北京有没有专业看白癜风的医院



转载请注明:http://www.xxcyfilter.com/zyfz/5820.html