WAF对SQL注入的检测原理?
SQL(Structured Query Language)注入攻击是一种常见的Web攻击方法,攻击者通过把SQL命令注入到数据库的查询字符串中,最终达到欺骗服务器执行恶意SQL命令的目的。例如,可以从数据库获取敏感信息,或者利用数据库的特性执行添加用户、导出文件等一系列恶意操作,甚至有可能获取数据库乃至系统用户最高权限。
WAF针对SQL注入攻击的检测原理是检测SQL关键字、特殊符号、运算符、操作符、注释符的相关组合特征,并进行匹配。
- SQL关键字(如 union,Select,from,as,asc,desc,order by,sort,and ,or,load,delete,update,execute,count,top,between,declare,distinct,distinctrow,sleep,waitfor,delay,having,sysdate,when,dba_user,case,delay 等)
- 特殊符号(’”,; ())
- 运算符(±*/%|)
- 操作符(=,>,<,>=,<=,!=,+=,-=)
- 注释符(–,/**/)
WAF针对XSS攻击的检测原理?
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和Cookie等各种内容。
WAF对XSS跨站脚本攻击的检测原理主要是针对HTML脚本标签、事件处理器、脚本协议、样式等进行检测,防止恶意用户通过客户端请求注入恶意XSS语句。
- XSS关键字(javascript 、script、object、style、iframe、body、input、form、onerror、alert等)
- 特殊字符(<、>、’、”)
- 外部链接(href=“http://xxx/”,src="http://xxx/attack.js")
说明如果业务需要上传富文本,可以用multipart方式上传,不用body方式上传,放在表单里,即使base64编码也会解码。分析业务场景,建议限制引号、尖括号输入。
WAF是否可以防护Apache Struts2远程代码执行漏洞(CVE-2021-31805)?
WAF的Web基础防护规则可以防护Apache Struts2远程代码执行漏洞(CVE-2021-31805)。
配置方法:
- 申请WAF独享引擎。
- 将网站域名添加到WAF中并完成域名接入,详细操作请参见网站接入WAF。
- 将Web基础防护的状态设置为“拦截”模式,详细操作请参见配置Web基础防护规则。