zoukankan      html  css  js  c++  java
  • php攻击漏洞总结

    1、两字节编码(gbk)都存在宽字节攻击问题[character_set_client=gbk]

              案例:http://www.cnblogs.com/lcamry/articles/5625276.html

              解决方案:mysql_query("SET character_set_connection=gbk, character_set_results=gbk,character_set_client=binary");

              character_set_client=binary 采用二进制传输,可以解决这个问题

    2、两字节编码(gbk)谨慎使用icon,防止攻击

            案例:http://www.cnblogs.com/lcamry/articles/5625276.html

    3、php header函数使用问题

          案例:当使用header函数是如果后面没有die或者exit函数时,程序仍然继续执行。

          解决方案:header函数后面添加程序停止函数[exit,die]

    4、urldecode、rawurldecode宽字节攻击[a.php?id=%2527]

       

        

        

           案例:http://blog.csdn.net/qlxmy/article/details/55252980

          解决方案: 通过urlencode处理过后的变量在通过其他函数过滤一下

          解析:原因是urldecode吧%25转换成%,然后%27就变成'

    5、include、include_once、require、require_once 包含文件时,出现恶意攻击

         案例:https://www.secpulse.com/archives/3206.html

                   http://www.cnblogs.com/mujj/articles/3406740.html

         解决方案:

      

    本部分主要从代码层和Web服务器安全配置两个方面来讲解PHP文件包含漏洞的防范。
    
    1、首先来从代码层来讲,在开发过程中应该尽量避免动态的变量,尤其是用户可以控制的变量。一种保险的做法是采用“白名单”的方式将允许包含的文件列出来,只允许包含白名单中的文件,这样就可以避免任意文件包含的风险
        
    
    2、在Web服务器安全配置方面可以通过设定php.ini中open_basedir的值将允许包含的文件限定在某一特定目录内,这样可以有效的避免利用文件包含漏洞进行的攻击。需要注意的是,open_basedir的值是目录的前缀,因此假设设置如下值:open_basedir=/var/www/test,那么实际上以下目录都是在允许范围内的。
    
    /var/www/test
    
    /var/www/test123
    
    /var/www/testabc
    
    如果要限定一个指定的目录,需要在最后加上”/“,这一点需要特别注意。
    
    open_basedir=/var/www/test/
    
    如果有多个目录,在Windows下目录间用分号隔开,在Linux下面则用冒号隔开。
    
  • 相关阅读:
    ubuntu16.04安装配置nagios
    springboot+mybatis+springmvc整合实例
    网站性能优化小结和spring整合redis
    mybatis的批量更新实例
    安装webpack和webpack打包(此文转自Henery)
    微信扫描二维码下载软件
    ubuntu16.04设置tomcat自启动
    无意中在sql日志中发现如下内容,
    实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)
    (C#)WinForm窗体间传值
  • 原文地址:https://www.cnblogs.com/ylcms/p/7273914.html
Copyright © 2011-2022 走看看