栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

常见的PHP安全攻击

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

常见的PHP安全攻击

  1. SQL注入?

    注入方式:

    用户利用在表单字段输入SQL语句的方式来影响正常的SQL执行。

    通过system()/exec()命令注入,它具有相同的SQL注入机制,但只针对shell命令。

        怎么防止呢?

     使用mysql_real_escape_string()过滤数据

     手动检查每一个数据是否为正确的数据类型

     使用预处理语句并绑定变量

     使用准备好的预处理语句            

     分离数据和SQL逻辑

     预处理语句将自动过滤

    2.XSS攻击 (Cross Site scripting)

    跨站点脚本攻击,由用户输入一些数据到你的网站,其中包括客户端脚本(通常是js)。如果没有过滤就输出数据到另一个web页面,这个脚本将被执行。

    恶意攻击者往web页面里面插入恶意script代码,当用户浏览该页面时,嵌入其中web里面的script代码将会被执行,从而达到恶意攻击用户的目的。

    例如:


    以上将会发生什么呢?

    烦人的弹窗,刷新或重定向,损坏网页或表单,窃取cookie,AJAX(XMLHttpRequest)

    怎么防止XSS攻击呢?

    使用php的htmlentities()函数过滤再输出到浏览器。

    3.会话固定

    会话安全,假设一个PHPSESSID很难猜测。然而,PHP可以接受一个会话ID通过一个cookie或者URL。所以,欺骗一个受害者可以使用一个特定的(或其他的)会话ID或者钓鱼攻击。

    4.会议捕获和劫持

    涉及窃取会话ID。如果会话ID存储在cookie中,攻击者可以通过XSS和JS窃取。如果会话ID包含在URL上,也可以通过嗅探或者从代理服务器那获取。


    怎么防止呢?

    更新ID、如果使用会话,请确保用户使用SSL

    5.跨站点请求伪造(CSRF)

    指一个页面发出的请求,看起来像是网站的信任用户,但不是故意的。它有许多的变体。如:

    

    怎么防止呢?

    对用户会话采用适当的安全措施,例如:给每一个会话更新id和用户使用SSL

    生成另一个一次性的令牌并将其嵌入表单,保存在会话中(一个会话变量),在提交时检查它。

    6.代码注入

    利用计算机漏洞通过处理无效数据造成的。问题出在,当你不小心执行任意代码,通常通过文件包含。写得很糟糕的代码可以允许一个远程文件包含并执行。如许多php函数,如require可以包含URLh或文件名,例如:

    怎么防止呢?

    过滤用户输入

    在php.ini中设置禁用allow_url_fopen和allow_url_include。这将禁用fopen/include/require的远程文件

    7.其他一般原则

    不要依赖服务器配置来保护你的应用,特别是当你的web服务器/PHP是由你的ISP管理,或者当你的网站可能迁移/部署到别处,未来再从别处迁移/部署在到其他地方。

    设计服务器端的安全脚本,如:

    使用单行执行,单点身份验证和数据清理

    在所有的安全敏感页面嵌入一个PHP函数/文件,用来处理所有登录/安全性逻辑检查

    确保你的代码更新,并打上最新补丁


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/226744.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号