本文介绍攻击统计中涉及的攻击类型以及相关防护建议。

攻击类型 说明 防护建议
JNI注入 JNI注入是一种通用的RASP(Runtime Application Self-Protection)绕过手段。当攻击者拿到代码执行权限后,可以通过Java Native函数去调用外部的恶意动态链接库,从而绕过Java层的安全防护,并隐匿具体的恶意行为。 您的服务器可能存在代码执行漏洞,请检查漏洞的位置并限制执行代码的功能。
SQL注入 SQL注入手段通过把SQL命令插入到页面请求或Web表单的查询字符串中,以达到欺骗服务器执行指定SQL语句的目的。它可以通过在Web表单中输入SQL语句,得到存在安全漏洞的网站上的数据。 SQL注入是由拼接SQL语句引起的。请尽可能使用预编译来处理传入的参数,或通过白名单和黑名单来限制拼接参数。
XXE 指XML外部实体注入漏洞(XML External Entity Injection)。当XML文件在引用外部实体时,通过构造恶意内容,可以导致任意文件读取,命令执行和内网攻击等不良后果。 请检查应用程序在解析XML时是否需要加载外部实体。如果不需要,请在XML解析配置中禁用外部实体。
恶意DNS查询 恶意DNS查询存在多种利用方式。攻击者极有可能通过DNS协议来突破内网网络限制,从而将敏感信息带出内网,也可能通过DNS协议去探测内网系统是否存在SSRF、JNDI注入等漏洞。 恶意DNS查询是由服务器向用户控制的参数发送请求所引起的。请检查参数并通过白名单进行限制。
恶意反射调用 RASP自保护模块,禁止攻击者通过反射的方式去修改运行时RASP的相关数据。 您的服务器可能存在代码执行漏洞。请检查漏洞的位置并限制执行代码的功能。
恶意外连 SSRF(Server-side request forgery)服务器端请求伪造漏洞指的是攻击者通过构造由服务端发起的请求,对网站内部系统进行攻击。 SSRF是由服务器向用户传入的参数发送请求所引起的。请检查参数并通过白名单进行限制。
恶意文件读写 Java提供RandomAccessFile,用于文件读写操作。当使用该Class进行文件读写的时候,如果未对文件路径、文件内容进行限制,攻击者可能读取到系统敏感文件,也可能上传木马文件。 请检查文件读取和上传是否正常。如果出现异常,请检查函数代码,并通过黑名单进行限制。
恶意文件上传 对于网站提供的文件上传功能,如果未对上传文件的类型进行限制,攻击者可能通过上传木马文件来获取服务器的更大权限,从而造成严重危害。 请限制上传文件的类型,禁止上传具有执行权限的文件,如JSP。
命令执行 命令执行漏洞是指服务器没有对执行的命令进行过滤,用户可以随意执行系统命令。 通常远程命令执行是由Web Shell或服务器的危险代码引起的。请检查命令执行的位置。如果是Web Shell,请及时删除。如果是服务器的正常功能,则可以通过白名单限制执行的命令。
目录遍历 网站自身的配置缺陷可能会使得网站目录被任意浏览,导致隐私信息泄露。攻击者可以利用该信息对网站进行攻击。 请检查目录遍历操作是否正常。如果异常,请检查函数的代码,并通过黑名单对相关命令(如“./”和“../”)进行限制。
内存马注入 内存马是一种新兴的木马技术,攻击者通过一些特殊的技术手段将木马注入到内存中,可以有效绕过WAF和主机防御的检测。 您的服务器可能存在代码执行漏洞。请检查漏洞的位置并限制执行代码的功能。
任意文件读取 对于网站提供的文件下载和读取功能,如果是直接通过绝对路径或目录穿越符对文件进行读取和下载,没有相关文件路径的限制,那么,攻击者就可以利用这种方式获取敏感信息,对服务器进行攻击。 请检查文件读取操作是否正常。如果异常,请检查函数的代码,并使用黑名单对传入参数(如“./”和“../”)进行限制。
数据库弱口令 当数据库使用强度较低的密码时,攻击者可能通过暴力破解获取正确的数据库密码,从而达到窃取数据库数据、获取系统权限等目的。 请使用更复杂的密码。
线程注入 线程注入是一种通用的RASP绕过手段。当攻击者拿到代码执行权限后,可以通过新建线程的方式使RASP丢失掉运行环境的上下文,从而影响RASP的防御能力。 您的服务器可能存在代码执行漏洞。请检查漏洞的位置并限制执行代码的功能。