行业资讯
所在位置:主页 > 新闻资讯 > 行业资讯 >

mysql数据库防止CMS代码层SQL注入防御思路

更新时间:2019-04-06 点击数:

本地变量覆盖类型的漏洞: 在common.inc.php这种本地变量注册的关口进行流量监控,通过正则规则,防止黑客通过在GET、POST、COOKIE位置提交以下两类数据:
        1.1) 输入"未正确初始化的变量",来达到修改程序原本变量的数据类型的目的
        http://www.yunsec.net/a/security/bugs/script/2013/0120/12286.html
        1.2) 覆盖已经存在的变量达到修改代码流的目的
        http://sebug.net/vuldb/ssvid-20859
 
2) 模板类代码执行漏洞,对CMS中负责模板标签解析的核心文件进行Hook Patch,检测模板解析中的流量,对涉及:
http://ha.cker.in/1006.seo
        2.1) 代码执行
        2.2) webshell写入的攻击模式进行检测
 
3) 数据库注入类漏洞,黑客通过在变量输入的地方添加额外的攻击性SQL代码来达到修改原始SQL语句的目的: 在CMS中一般有一个核心类专门用来进行数据库操作,对这个核心类进行Hook,
对即将流入数据库的流量进行检测
 
4) 代码注入执行类漏洞,典型的如 $var = "${${phpinfo()}}"(注意,如果是单引号就失效了)这种语法,这种攻击场景真实存在,但是却没有一个很好的"中心流量节点",目前还没想到好
的方法做Hook Patch。这种代码执行常常和模板类代码执行同时出现
http://ha.cker.in/1006.seo
 
5) 利用服务器错误请求、数据库错误请求会被记录到日志中(常常是.php形式),然后将webshell写进日志的做法进行GETSHELL
http://sebug.net/vuldb/ssvid-24262
 
6) 利用文件上传漏洞,文件上传的漏洞主要有以下几个攻防的点
    1) 利用畸形文件名进行绕过防御代码:
        1.1) shell.asp;.jpg(IIS解析漏洞)
        1.2) shell.PhP(大小写绕过黑名单)
    2) 利用配置漏洞,CMS一般都会有"允许上传文件的后缀、类型"的黑名单限制
        2.1) 管理员自己不小心错误配置了"允许上传文件的后缀、类型",导致了允许.php这类脚本的直接上传
        2.2) 黑客通过别的手段拿到了网站后台的密码,进行了配置信息的修改
        2.3) 通过register_globals=on漏洞,进行了变量覆盖,进而绕过防御逻辑,进行非法文件上传
    3) 利用一些主流的存在漏洞的文件上传开源组件: FCKeditor、kindeditor进行文件上传
        3.1) 防御代码漏洞: asp.asp;jpg
        3.2) IIS解析漏洞: 创建shell.asp/文件夹,则在这个目录下的任意扩展名的文件都可以被当作asp执行
        
复制代码
以上的思路,我会在今后的文章中逐一和大家一起学习,并努力找到一种修复CMS漏洞的底层方法。
 
这篇文章中,我们一起来学习一下DEDECMS中涉及数据库操作的代码逻辑,并思考怎么在"关键流量节点"上进行Hook Patch,从而达到解决数据库注入类漏洞的目的
 
本文主要分为以下几个部分:
上一篇:雅星娱乐10个方法防止织梦CMS网站一句话木马

下一篇:天使城浙江工业互联网从写意画到工笔画jecms网站