手机
当前位置:查字典教程网 >电脑 >电脑安全教程 >php包含漏洞替代技术的方法与介绍 php文件包含漏洞详解
php包含漏洞替代技术的方法与介绍 php文件包含漏洞详解
摘要:================php包含漏洞替代技术================php开发者们犯得一个基本的错误是把一个不正当的变量传...

================

php包含漏洞替代技术

================

php开发者们犯得一个基本的错误是把一个不正当的变量传递给系统函数,特别是include()和require()这两个函数。

这个常见的错误导致了众所周知的远程文件包含漏洞和本地文件包含漏洞。在过去的几年中,php已经开始试图通过缺省设置来消除或限制这种漏洞的所带来影响。

但即使是简单的本地文件包含,也会有新的技术去利用这些漏洞来导致远程命令的执行。

================

介绍php包含漏洞

================

文件包含漏洞的要点是要去找到一个方法来包含带有你的php恶意代码的文件。

target/index.php?content=/etc/pa sswd

target/index.php?content=trojan/exec.php

这是第一个例子,它包含了本地文件/etc/pa sswd第二个例子包含了一个远程文件,这个远程包含文件在大多数情况下不能使用,因为php设置中的allow_url_fopen默认是off。

当然,通常有此漏洞的php代码会比上面的例子更有限制性,通常是通过在前面加上一个目录,防止远程文件包含,前面加一个文件扩展名来限制可以包含哪些类型的文件。

target/index.php?content=../../../etc/pa sswd%00

.../的使用允许目录横向风格的操作,使你可以操作代码中预定目录以外的目录的文件。

如果php设置中open_basedir为on,它将会阻止你绕过过多的目录。

网站的开发者有可能也会使用一些函数来过滤掉来自用户提交的恶意数据,但并非总是如此。

空字节字符%00(�)终止字符串,来切断在它之后提交的任何东西,即是当magic_quotes_gpc 默认为on的时候,也可以逃过。

在ush.it网站中有一篇名为《PHP文件系统的攻击媒介》提供了可能的方法来应付空字节字符。

php脚本安全也可能取决于像$_GLOBAL[]或$_SERVER[]等的变量,像最近被发现的phplist的漏洞(phplist是一款国外的Email程序),例子为

target/phplist/admin/?_SERVER[ConfigFile]=/etc/pa sswd

==================

本地文件包含致远程代码执行

==================

一次你找到一个本地包含漏洞,你需要找到一个方法去把你的恶意php代码插入一个文件中,大量的技术在过去的几年中出现。

有一种在服务日志中去注入php代码的技术比上面这些包含漏洞要出现的晚。

它是有可能的去把我们的代码插入http请求的头部,然后包含Apache的access_log日志文件(它可能会进行一些测试去找到access_log)。

考虑一下这个例子,在Mac OS X的Apache/PHP默认配置下,写一个脚本去发送一个请求可能是必须的,因为浏览器可能会对一些字符进行转义。

【php包含漏洞替代技术的方法与介绍 php文件包含漏洞详解】相关文章:

迅雷插队下载取消方法

基于双线性配对的密码学算法

Linux服务器下对SYN洪水攻击的诊断和阻挡

网站防范 上传漏洞入侵的方法

hektek使用说明

根据PID进程号查杀病毒木马

查找Centos Linux服务器上入侵者的WebShell后门

rootkits病毒的原理介绍以及解决办法

腾讯电脑管家硬件检测使用方法

破解入门(三)-----脱壳的常用方法介绍

精品推荐
分类导航