WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 1922查看
  • 0回复

主题

好友

604

积分

高级会员

发表于 2009-12-25 11:38:48 |显示全部楼层
1,PHP配置在文件包含中的运用
在文件包含典型的两种格式如下:



(1)include("$_GET['dir']/test.php");
allow_url_fopen on
allow_url_include on
决定是LFI还是RFI,必须有这两个条件才能成功。
对于PHP4则只有allow_url_fopen一个选项就够了。



要达到文件包含就必须先截断后面的/test.php
NULL截断目前发现有三种方法:
a.使用截断
  运用场合:Magic_quote_gpc为off
b.使用?截断
  运用场合:RFI && Magic_quote_gpc为off
c.当路径长度达到一定数量限制时就能截断
(详细请参考:http://bbs.wolvez.org/topic/22/)Windows 240 Linux 4096
  Get方式可以提交最大长度16000 ,截断数据长度不是问题。
  运用场合:均适用



Magic_quote_gpc在注入中的运用我就不说了,这里主要是在文件包含中的运用。
Magic_quote_gpc为on的时候只能用?来截断后面的路劲运用于RFI,不能使用来截断,相当于包含的文件包含了另一个Get请求。
因此?截断不适合运用于LFI。
http://127.0.0.1:81/include.php? ... 0.0.1:81/shell.txt?
当为LFI时,则可以通过第三种方法来截断,如228个'/'[windows]
Magic_quote_gpc为off的时候a、c都能用上。



http://127.0.0.1:81/include.php? ... 0.0.1:81/shell.txt?
http://127.0.0.1:81/include.php?dir=http://127.0.0.1:81/shell.txt
在Magic_quote_gpc 为on的时候可以使用?来截断后面的路径,相当于另一个Get请求http://127.0.0.1:81/
include.php?dir=http://127.0.0.1:81/shell.txt?



allow_url_fopen   off
allow_url_include off
本地文件包含(LFI)



Magic_Quote_gpc   off
情况下,可以采用和来截断后面的数据。
http://127.0.0.1:81/include.php?dir=shell.txt



(2)直接包含类型
include("$_GET['dir']");
可以直接在dir中指定文件名
http://127.0.0.1:81/include.php?dir=http://127.0.0.1:81/shell.txt
也可本地文件包含
http://127.0.0.1:81/include.php?dir=shell.txt
限制比较少(1)中能用的方法其基本都可以运用
在register_globals为on的情况下,如果变量未初始化则可以达到文件包含的效果。



综上所述:造成文件包含的主要原因在于包含的变量是否会被用户利用,allow_url_fopen/allow_url_include为是造成
RFI或LFI的关键,
Magic_quote_gpc则决定是否能在第(1)种类型中通过截断数据上达到文件包含的效果。

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-29 09:20 , Processed in 0.060903 second(s), 16 queries .

返回顶部