检测能力说明(持续更新 ..)
本表格参考 OWASP TOP 10 2017 进行分类,如果你有任何疑惑,或者发现无法拦截的攻击,请联系我们;具体每种攻击覆盖哪些场景,可翻到最下面查看详细说明
OWASP TOP 10 覆盖说明
| 编号 | 分类说明 | 攻击类型 | 危害 | 说明 | 
|---|---|---|---|---|
| A1 | 注入 | SQL注入 | 高危 | |
| 命令注入 | 高危 | |||
| LDAP 注入 | 高危 | 仅IAST商业版支持 | ||
| NOSQL 注入 | 高危 | 仅IAST商业版支持 | ||
| XPATH 注入 | 高危 | 仅IAST商业版支持 | ||
| A2 | 失效的身份认证和会话管理 | Cookie 篡改 | 低危 | 仅IAST商业版支持 | 
| 后台爆破 | 中危 | 仅IAST商业版支持 | ||
| A3 | 敏感数据泄露 | 敏感文件下载 | 高危 | |
| 任意文件读取 | 高危 | |||
| 数据库慢查询 | 高危 | |||
| 文件目录列出 | 低危 | |||
| A4 | XML 外部实体(XXE) | XXE | 中危 | |
| A5 | 失效的访问控制 | 任意文件上传 | 高危 | |
| CSRF | 中危 | 仅IAST商业版支持 | ||
| SSRF | 高危 | |||
| 文件包含 | 高危 | |||
| A6 | 安全配置错误 | 打印敏感日志信息 | 低危 | |
| Struts OGNL 代码执行 | 高危 | |||
| 远程命令执行 | 高危 | |||
| A7 | 跨站脚本(XSS) | 反射型 XSS | 低危 | |
| 存储型 XSS | 高危 | 仅IAST商业版支持 | ||
| A8 | 不安全的反序列化 | 反序列化用户输入 | 高危 | |
| A9 | 使用含有已知漏洞的组件 | 资产弱点识别 | 低危 | |
| A10 | 不足的日志记录和监控 | WebShell 行为 | 高危 | 
OpenRASP 零规则检测算法介绍
具体请查看以下几篇公众号文章
- OpenRASP v1.3.0 正式发布 | 数据泄露检测、类库版本查询、检测能力加强
 - OpenRASP v1.2.0 正式发布 | 发布DevSecOps轻量级解决方案,Java内存占用减少一半
 - 那些年我们堵住的洞 – 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、JSON、Multipart 等参数的SQL注入
 - 其他类型的SQL注入,如二次注入、RPC接口SQL注入
 
覆盖类型:
- 盲注、UNION 注入、时间差注入、错误注入、多语句注入
 - SQL 异常监控: 如语法错误、密码错误
 
2. 数据库: 慢查询(已废弃)
说明: 在SQL获取数据时,同时获取SQL语句较为困难,目前这个检测点已经废弃;另外,我们无法区分网络耗时和SQL执行时间,难以确认慢查询是不是真的慢查询
期望覆盖场景
- SELECT 语句执行时间超过 N 秒
 - SELECT 语句一次读取数据超过 N 条(容易误报,如数据导出)
 
3. 任意文件上传
覆盖场景
- HTTP PUT 方式上传脚本文件,比如 CVE-2017-12615
 - HTTP PUT + MOVE 方式,先上传普通文件,再重命名为脚本文件
 - 使用标准的 multipart 方式上传脚本文件
- 支持 Java struts、spring、common.io 等框架
 - 支持 PHP 
$_FILES方式 
 
4. 敏感文件下载、任意文件读取
覆盖场景
- 利用任意文件下载漏洞,尝试跳出web目录下载系统文件,e.g 
/download.jsp?path=/../././//./.././/../../etc/hosts - PHP webroot 下存在 .tar/.sql/.log/... 等敏感文件(仅做基线检测,不拦截)
 
5. 文件目录列出
覆盖场景
- 使用 PHP WebShell 查看服务器的文件目录
 - 开启了 
directory index,使得用户可以直接看到某个目录下的文件(此检查默认不开启) - 使用 
../获其他变形跳出前目录,查看其它目录内容 
6. 扫描器探测行为 [官方插件不支持]
说明: 大部分情况下,发现扫描器行为不代表存在漏洞。这个功能不符合RASP的初衷,所以我们默认关闭了这个功能。若要开启,请下载 002-detect-scanner.js,并参考 检测插件配置 - 安装插件 文档,安装这个插件即可。
覆盖场景
- 使用知名扫描器探测网站漏洞,e.g SQLMap、WVS 等等
 
7. CSRF [暂无计划支持]
说明
此类漏洞应该由开发框架来完成。RASP可以通过插入JS的方式来实现,即在JS里面监控form创建,插入csrf token,并在服务端进行token验证
覆盖场景
- 使用 
img/video/frame/..等方式,触发GET类型CSRF - Form 表单自动提交的方式
 - XHR 方式提交表单
 
8. Cookie 篡改
覆盖场景
- 修改cookie获取管理员权限
 
9. CRLF [暂无计划支持]
说明: HTTP header CRLF 注入漏洞大多已经在API层面被修复,我们没有支持的计划;然而在一些非HTTP协议里依然存在,比如最近爆出的 Java FTP 协议CRLF注入。由于我们没有足够的案例,所以暂时不打算支持。
覆盖场景
- 在设置 HTTP header,或者处理其他TCP流时(比如FTP协议),插入换行符
 
10. XXE
说明: PHP无法挂钩xml检测点,暂不支持
覆盖场景
- 通过 
org.apache.xerces引用外部实体- 访问 
ftp/dict/gopher/expect/..等不常见协议,实现OOB攻击 - 使用 
file协议读取敏感文件 
 - 访问 
 
11. 反序列化漏洞
覆盖场景
- Java
- fastjson
 - transformer
 - xstream(如 S2-052)
 - ... (其他未知类型,具体看检测插件 command_reflect 算法)
 
 - PHP
- 待整理
 
 
12. Struts OGNL 代码执行
覆盖场景
- Struts OGNL 系列所有代码执行漏洞
 - OGNL 语句注入攻击
 
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 注入 [仅IAST商业版支持]
覆盖场景
- 通过注入修改LDAP查询逻辑
 
19. DOS: Regex Group 攻击 [仅IAST商业版支持]
覆盖场景
- 常见 Regex DOS 攻击,e.g 
(a+)+、(a|aa)+ 
20. 打印敏感日志信息
覆盖场景
- 使用 log4j、java.util.logging 打印身份证、银行卡、信用卡等敏感信息
 - HTTP响应(html/json/xml/等等)返回了未打码的敏感信息
 
21. 文件包含
覆盖场景
- PHP 使用 
include|include_once|require|require_once等方式,包含日志、图片、文本文件等等 - Java 使用 jstl 等方式包含文件
 
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. 资产弱点识别 [开源版本仅采集信息,商业版支持漏洞识别]
覆盖场景
- 采集 composer/pom 信息
 - 使用存在已知漏洞的类库
 
25. 后台爆破识别
覆盖场景
- 无验证码的后台爆破