百度资源 无水印

海洋CMS数据库挂马终极防御方法(MYSQL触发器使用实例)

为什么叫终极呢?因为这个方法是从SQL层面入手与程序无关,原理是利用SQL提供给我们的触发器功能,在数据更新前对数据进行检测含有危险字符就进行拦截,除非黑客有数据库root权限,否则是不能修改我们设置的触发器规则的。

操作步骤:

  • 宝塔-数据库-管理 -用root账户登陆
  • 选择海洋CMS数据库,然后点击右上角的“触发器”,点击靠左的“添加触发器”,出现如下图
  • 所示的窗口:按下面设置填写:
  • 触发器名称:check (任意名称)表:sea_data时机:BEFORG (BEFORG 是执行前,AFDER是执行后)事件:UPDATE定义:
    BEGIN
    IF 
       NEW.v_name  LIKE '%script%'  OR
       NEW.v_pic   LIKE '%script%'  OR
       NEW.v_spic  LIKE '%script%'  OR
       NEW.v_actor LIKE '%script%'
    THEN
      SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = '请勿输入非法字符!';
    END IF;
    END
    

    用户:留空

    • 点击执行,无出错提示即添加成功,如下图所示:
    • 我们来测试一下
      update sea_data set v_pic = 'https://xx.com/xx.jpg  "><script/**' WHERE v_id=1
      
      

      OK,说明设置成功,如果没有出现出错提示而是正常执行,那么请检查下步骤并恢复被修改的数据。

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发

请登录后发表评论