文件包含漏洞

文件包含漏洞原理:程序员在开发的时候,没有对包含文件进行严格控制,攻击这可构造自己的图片木马文件当中php脚本执行;

包含漏洞分类:本地包含漏洞和远程包含漏洞。远程包含漏洞的前提是,allow_url_include=on,魔术符合要关闭。

如何快挖掘到包含漏洞:直接找源代码看看是否存在包含函数比如:include(),include once(),require(),require once();

                                        include(),include once()包含的文件有代码错误也会执行,require(),require once()两个函数出现包含文件代码错误会退出;

包含漏洞能做什么:读文件,有特殊字符一定转化base64 例如:http://192.168.1.55:8080/dvwa/vulnerabilities/fi/?page=php://filter/read=convert.base64-encode/resource=x.php

                                写文件,主要在allow_url_include为on的时候才可以使用;

包含绕过:包含日志文件:logs\access.log

                  截断包含(%00):这种方法也只适用于magic_quotes_gpc=off的时候(php老版本上有些适用)

                  协议绕过:http   file   php   ssh2;

                  str_replace函数绕过:该函数主要是把../  http://删除,我们可以构造双写来绕过;

                   fnmatch函数绕过:fnmatch函数要同时满足两个条件当文件既不是“include.php”也不是“file*”文件时才报错,反之意思,如果有个条件满足即可

                                                   例如:page=file://C:/xampp/htdocs/dvwa/php.ini,刚好满足“file”(文件名file开头);

 

posted @ 2020-11-01 21:16  SheldonLiu  阅读(90)  评论(0)    收藏  举报