【漏洞详解】文件包含漏洞

漏洞危害 :
    执行恶意代码、包含恶意未见控制网站、甚至控制网站服务器
1.本地包含:
    第一种方式:%00截断
    第二种方式:记录错误日志文件
        需要解密base64
         利用环境:php<5.3 magic_quotes_gpc取消的
         可以使用遍历目录实现效果
    代码:

<?php
    $file = $_GET['name'];
    if($file){
        include $file;
    }
?>


2.远程包含:
    包含文件时会加入默认后缀 比如包含1.jpg会解析成1.jpg.php
    第一种方式截断:%00截断
    第二种方式截断:路径长度截断
        (linux-4096,windows-256)(不受GPC限制),5.3以后被修复
                        ?name=../../../../../../../../../www/1.php/././././././.[…]/./././././././././
                    点号截断
                        只在window下可用
                        ?name=../../../../../../../../../boot.ini/………[…]…………
    第三种方式截断:? 伪截断,不受GPC和PHP版本限制(<5.2.8)
    第四种方式截断:php://输入输出流
        php://filter/read=convert.base64-encode/resource=1.txt  以base64编码截断

-------------------------------------------------------------------------------------------------------------------------------------------------------
日志默认路径
    (1)apache+Linux日志默认路径:
        /etc/httpd/logs/access_log 或 /var/log/httpd/access_log
    (2)apache+win2003日志默认路径
        D:\xampp\apache\logs\access.log 或 D:\xampp\apache\logs\error.log
    (3)IIS6.0+win2003默认日志文件
        C:\WINDOWS\system32\Lognames
    (4)IIS7.0+win2003 默认日志文件
        %SystemDrive%\inetpub\logs\Lognames
    (5)nginx 日志文件
        日志文件在用户安装目录logs目录下
           以我的安装路径为例/usr/local/nginx,
           那我的日志目录就是在/usr/local/nginx/logs里
 
web中间件默认配置
    (1)apache+linux 默认配置文件
        /etc/httpd/conf/httpd.conf 或 index.php?page=/etc/init.d/httpd
    (2)IIS6.0+win2003 配置文件
        C:/Windows/system32/inetsrv/metabase.xml
    (3)IIS7.0+WIN 配置文件
        C:\Windows\System32\inetsrv\config\applicationHost.config

posted @ 2017-03-21 01:15  水清云影  阅读(947)  评论(0)    收藏  举报