检测能力说明(持续更新 ..)
若发现不能拦截的攻击,或者误报的情况,请联系我们
本表格参考 OWASP TOP 10 2017 进行分类,如果你有任何疑惑,请联系我们;具体每种攻击覆盖哪些场景,可翻到最下面查看详细说明
OWASP TOP 10 覆盖说明
编号 | 分类说明 | 攻击类型 | 危害 | 说明 |
---|---|---|---|---|
A1 | 注入 | SQL注入 | 高危 | |
命令注入 | 高危 | |||
LDAP 注入 | 高危 | 暂无计划 | ||
NOSQL 注入 | 高危 | 正在开发 | ||
XPATH 注入 | 高危 | 暂无计划 | ||
A2 | 失效的身份认证和会话管理 | Cookie 篡改 | 低危 | 暂无计划 |
后台爆破 | 中危 | 尚未实现 | ||
A3 | 敏感数据泄露 | 敏感文件下载 | 高危 | |
任意文件读取 | 高危 | |||
数据库慢查询 | 高危 | |||
文件目录列出 | 低危 | |||
A4 | XML 外部实体(XXE) | XXE | 中危 | |
A5 | 失效的访问控制 | 任意文件上传 | 高危 | |
CSRF | 中危 | 暂无计划 | ||
SSRF | 高危 | |||
文件包含 | 高危 | |||
A6 | 安全配置错误 | 打印敏感日志信息 | 低危 | 正在开发 |
Struts OGNL 代码执行 | 高危 | |||
远程命令执行 | 高危 | |||
A7 | 跨站脚本(XSS) | 反射型 XSS | 低危 | |
存储型 XSS | 高危 | 测试中,暂不发布 | ||
A8 | 不安全的反序列化 | 反序列化用户输入 | 高危 | |
A9 | 使用含有已知漏洞的组件 | 资产弱点识别 | 低危 | 开发中 |
A10 | 不足的日志记录和监控 | WebShell 行为 | 高危 |
OpenRASP 零规则检测算法介绍
具体请查看以下几篇公众号文章
- OpenRASP v1.0 正式版发布 | 数据库异常监控与WebLogic支持如约而至
- OpenRASP v0.40 发布 | 正式支持 PHP 7
- OpenRASP v0.30 发布 | PHP 支持,堆栈异常和用户输入识别
- OpenRASP v0.23 发布 | 性能提升与SSRF检测
- OpenRASP v0.21 发布 | 拖库检测与数据安全
- OpenRASP v0.20 发布 | 性能提升与零规则漏洞检测
覆盖场景说明
1. 数据库: SQL注入
覆盖场景:
- GET、POST、Header 注入
其他数据类型注入 覆盖类型:
盲注、UNION 注入、时间差注入、错误注入、多语句注入
- SQL 异常监控,语法错误、密码错误等等
2. 数据库: 慢查询
覆盖场景
- SELECT 语句执行时间超过 3s(可配置)
SELECT 语句一次读取数据超过 500 条(可配置) 尚未实现
慢查询 hook 点获取SQL语句较为困难
- 无法区分网络耗时和SQL执行时间
3. 任意文件上传
覆盖场景
- HTTP PUT 方式上传脚本文件,覆盖最新的 CVE-2017-12615
- HTTP PUT + MOVE 方式,通过重命名实现脚本文件上传
- 使用标准的 multipart 方式上传脚本文件
- 支持 Java struts、spring、common.io 等框架
- 支持 PHP
$_FILES
方式
4. 敏感文件下载、任意文件读取
覆盖场景
- 通过扫描探测的方式,下载web目录下面的压缩包、SQL文件、其他用户文件等等
- 利用任意文件下载漏洞,尝试跳出web目录下载系统文件,e.g
/download.jsp?path=/../././//./.././/../../etc/hosts
5. 文件目录列出
覆盖场景
- 使用 PHP WebShell 查看服务器的文件目录
- 开启了
directory index
,使得用户可以直接看到某个目录下的文件(此检查默认不开启) - 使用
../../
等方式跳出当前目录,查看其它目录内容
6. 扫描器探测行为
覆盖场景
- 使用知名扫描器探测网站漏洞,e.g SQLMap、WVS 等等 说明
大部分情况下,发现扫描器行为不代表存在漏洞。这个功能不符合RASP的初衷,所以我们默认关闭了这个功能。若要开启,请下载 002-detect-scanner.js,并参考 检测插件配置 - 安装插件 文档,安装这个插件即可。
7. CSRF
覆盖场景
- 使用
img/video/frame/..
等方式,触发GET类型CSRF - Form 表单自动提交的方式
- XHR 方式提交表单 说明
此类漏洞应该由开发框架来完成。RASP可以通过插入JS的方式来实现,即在JS里面监控form创建,插入csrf token,并在服务端进行token验证
8. Cookie 篡改
覆盖场景
- 修改cookie获取管理员权限
9. CRLF
暂无支持计划,原因如下
HTTP header CRLF 注入漏洞大多已经在API层面被修复,我们没有支持的计划;然而在一些非HTTP协议里依然存在,比如最近爆出的 Java FTP 协议CRLF注入。由于我们没有足够的案例,所以暂时不打算支持
覆盖场景
- 在设置 HTTP header,或者处理其他TCP流时(比如FTP协议),插入换行符
10. XXE
覆盖场景
- 通过
org.apache.xerces
引用外部实体- 访问
ftp/dict/gopher/expect/..
等不常见协议,实现OOB攻击 - 使用
file
协议读取敏感文件
- 访问
11. 反序列化漏洞
覆盖场景
- Java
- fastjson
- transformer
- xstream
- … (其他未知类型)
- PHP
- 待整理
12. Struts OGNL 代码执行
覆盖场景
- Struts OGNL 系列所有代码执行漏洞 说明
虽然 S2-052 是 xstream 反序列化漏洞,OpenRASP 也可以检测
13. WebShell 行为
覆盖场景
- 使用SQL管理器访问数据库
- 使用文件管理器下载敏感文件
- 使用中国菜刀执行命令
- …
14. 远程命令执行
覆盖场景
- 使用
Runtime.exec()
类执行命令 - 使用
system/passthru/shell_exec/proc_open/pcntl_exec/..
等函数执行命令 - 通过反序列化等方式执行命令 说明
我们建议默认禁止命令执行
15. 命令注入
覆盖场景
- 使用
&
、|
、;
等符号截断、拼接命令 - 使用
$(xxx)
、反引号等方式注入命令
16. XSS: 反射形式
覆盖场景
- 使用 PHP echo 函数直接输出 GPC
- 用户输入含有HTML标签的内容,且直接输出到页面中
17. XSS: 存储型
覆盖场景
- 后台盲打
18. LDAP 注入
敬请期待
19. DOS: Regex Group 攻击
覆盖场景
- 常见 Regex DOS 攻击,e.g
(a+)+
、(a|aa)+
20. 打印敏感日志信息
覆盖场景
- 使用 log4j、java.util.logging 打印身份证、银行卡、信用卡等敏感信息
21. 文件包含
覆盖场景
- 使用
include|include_once|require|require_once
等方式,包含日志、图片、文本文件等等
22. NTLM 信息泄露攻击
覆盖场景(仅限 Windows)
- MySQL DNS 方式脱裤
- 使用
302重定向到file/smb/scp协议
方式,泄露NTLM key - …
23. SSRF
覆盖场景
- 绕过
- 使用
10.10.10.10.xip.io / *.vcap.me
等已知域名访问内网资源 - 使用 302 重定向方式访问 file:/// 域的资源 (暂不支持)
- 尝试混淆访问的目标地址,且是内网IP,e.g
http://0x7f001
、http://0x7f.0x0.0x0.0x1
- 访问保留地址,e.g
http://0/
- 使用
- 常见场景
- 尝试访问 aws metadata,e.g
http://169.254.169.254/latest/meta-data/
- 尝试访问已知的回显服务,e.g
*.burpcollaborator.net
、requestb.in
- 尝试使用
gopher://
、dict
等不常见协议 - (Java)使用JSTL import方式访问内网资源
- 尝试访问 aws metadata,e.g
24. 资产弱点识别
覆盖场景
- 使用存在已知漏洞的jar包(基于NVD数据库)
25. 后台爆破识别
覆盖场景
- 无验证码的后台爆破