站长资源变现入口 全国楼凤小姐姐 招商联系客服 招商联系客服 招商联系客服 招商联系客服

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

[复制链接]
查看139 | 回复0 | 2024-9-25 01:14:18 | 显示全部楼层 |阅读模式

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

操作步骤:   

宝塔-数据库-管理 -用root账户登陆

选择海洋CMS数据库,然后点击右上角的“触发器”,点击靠左的“添加触发器”

按下面设置填写:

触发器名称:check (任意名称)

表:sea_data

时机:BEFORG (BEFORG 是执行前,AFDER是执行后)

事件:UPDATE

      定义:

SQL



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

用户:留空点击执行,无出错提示即添加成功


我们来测试一下:

SQL



update sea_data set v_pic = 'https://xx.com/xx.jpg  "></script><script/**' WHERE v_id=1

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


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则