php常见的漏洞

1.命令函数注入攻击  
    1)php的system、exec、passthru、shell_exec函数   
    通过提交参数执行脚本,查看服务器密码等信息。
    2)eval 函数将输入的字符串参数当作PHP程序代码来执行  
    3)动态函数,传入系统自带的函数名,执行系统函数

    防范方法:
        1、尽量不要执行外部命令
        2、使用自定义函数或函数库来替代外部命令的功能
        3、使用escapeshellarg函数来处理命令参数
        4、使用safe_mode_exec_dir指定可执行文件的路径
2.客户端脚本植入    
    将可以执行的脚本插入到表单、图片、动画或超链接文字等对象内。当用户打开这些对象后,黑客所植入的脚本就会被执行,进而开始攻击。
    防范方法:  
        一般使用htmlspecialchars函数来将特殊字符转换成HTML编码
    
3.xss跨站脚本攻击  
    在网页中加入脚本,用户浏览后,盗取有用信息,登录网站。
    防范方法:  
        使用htmlspecialchars函数来将特殊字符转换成HTML编码     
4.sql注入攻击
    通过漏洞给sql语句加入额外的语句,盗取数据库信息。  
    防范方法:  
        1.整形用intval函数过滤,字符串用addslashes函数转移字符  
        2.pdo  
5.跨网站请求伪造  
    xsrf 变更用户请求http内容,让用户点击,达到目的。  
      
    
6.session劫持  
    破解session_id,使用session_id伪造身份登录  

    防范方法:  
        1.定期更改session id      
        2.更改session的名称  
        3.关闭透明化session id  
        4.只从cookie检查session id  
        5.使用URL传递隐藏参数
7.http响应拆分  
    HTTP响应拆分是由于攻击者经过精心设计利用电子邮件或者链接,让目标用户利用一个请求产生两个响应,前一个响应是服务器的响应,而后一个则是攻击者设计的响应。此攻击之所以会发生,是因为WEB程序将使用者的数据置于HTTP响应表头中,这些使用者的数据是有攻击者精心设计的。

    可能遭受HTTP请求响应拆分的函数包括以下几个:
        header(); setcookie(); session_id(); setrawcookie();  

    防范的方法:
      1)替换CRLF换行字符
      2)使用最新版本的PHP
8.文件上传漏洞   
    比如上传头像,不限制文件类型,用户上传脚本,然后在此访问有头像的页面,就可能执行这个脚本。  
    防范方法:  
        检查文件上传后缀。

你可能感兴趣的:(php常见的漏洞)