- 检测能力说明(持续更新 ..)
- OWASP TOP 10 覆盖说明
- OpenRASP 零规则检测算法介绍
- 覆盖场景说明
- 1. 数据库: SQL注入
- 2. 数据库: 慢查询
- 3. 任意文件上传
- 4. 敏感文件下载、任意文件读取
- 5. 文件目录列出
- 6. 扫描器探测行为
- 7. CSRF
- 8. Cookie 篡改
- 9. CRLF
- 10. XXE
- 11. 反序列化漏洞
- 12. Struts OGNL 代码执行
- 13. WebShell 行为
- 14. 远程命令执行
- 15. 命令注入
- 16. XSS: 反射形式
- 17. XSS: 存储型
- 18. LDAP 注入
- 19. DOS: Regex Group 攻击
- 20. 打印敏感日志信息
- 21. 文件包含
- 22. NTLM 信息泄露攻击
- 23. SSRF
- 24. 资产弱点识别
- 25. 后台爆破识别
检测能力说明(持续更新 ..)
若发现不能拦截的攻击,或者误报的情况,请联系我们
本表格参考 OWASP TOP 10 2017 进行分类,如果你有任何疑惑,请联系我们;具体每种攻击覆盖哪些场景,可翻到最下面查看详细说明
OWASP TOP 10 覆盖说明
编号 | 分类说明 | 攻击类型 | 危害 | 说明 |
---|---|---|---|---|
A1 | 注入 | SQL注入 | 高危 | |
命令注入 | 高危 | |||
LDAP 注入 | 高危 | 暂无计划 | ||
NOSQL 注入 | 高危 | 正在开发 | ||
A2 | 失效的身份认证和会话管理 | Cookie 篡改 | 低危 | 暂无计划 |
后台爆破 | 中危 | 尚未实现 | ||
A3 | 敏感数据泄露 | 敏感文件下载 | 高危 | |
任意文件读取 | 高危 | |||
数据库慢查询 | 高危 | |||
文件目录列出 | 低危 | |||
A4 | XML 外部实体(XXE) | XXE | 中危 | |
A5 | 失效的访问控制 | 任意文件上传 | 高危 | |
CSRF | 中危 | 暂无计划 | ||
SSRF | 高危 | |||
文件包含 | 高危 | |||
A6 | 安全配置错误 | 打印敏感日志信息 | 低危 | 正在开发 |
Struts OGNL 代码执行 | 高危 | |||
远程命令执行 | 高危 | |||
A7 | 跨站脚本(XSS) | 反射型 XSS | 低危 | 部分支持 |
存储型 XSS | 高危 | 测试中,暂不发布 | ||
A8 | 不安全的反序列化 | 反序列化用户输入 | 高危 | |
A9 | 使用含有已知漏洞的组件 | 资产弱点识别 | 低危 | 暂无计划 |
A10 | 不足的日志记录和监控 | WebShell 行为 | 高危 |
OpenRASP 零规则检测算法介绍
具体请查看以下几篇公众号文章
- 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 注入、时间差注入、错误注入、多语句注入
2. 数据库: 慢查询
覆盖场景
- SELECT 语句执行时间超过 3s(无法实现 - 要能区分网络耗时和SQL执行时间)
- SELECT 语句一次读取数据超过 500 条
以上选项都可配置
3. 任意文件上传
覆盖场景
- HTTP PUT 方式上传脚本文件,覆盖最新的 CVE-2017-12615
- HTTP PUT + MOVE 方式,通过重命名实现脚本文件上传
- 使用标准的 multipart 方式上传脚本文件
- 支持 struts、spring、common.io 等框架
- 支持 move_uploaded_files 方式
4. 敏感文件下载、任意文件读取
覆盖场景
- 通过扫描探测的方式,下载web目录下面的压缩包、SQL文件、其他用户文件等等
- 利用任意文件下载漏洞,尝试跳出web目录下载系统文件,e.g /download.jsp?path=/../././//./.././/../../etc/hosts
5. 文件目录列出
覆盖场景
- 使用 PHP WebShell 查看服务器的文件目录
- 开启了 directory index,使得用户可以直接看到某个目录下的文件(此检查默认不开启)
- 使用 ../../ 等方式跳出当前目录,查看其它目录内容
6. 扫描器探测行为
覆盖场景
- 使用知名扫描器探测网站漏洞,e.g SQLMap、WVS 等等
说明
大部分情况下,发现扫描器行为不代表存在漏洞。这个功能不符合RASP的初衷,所以我们默认关闭了这个功能
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: 反射形式
说明
目前,我们没有很好的XSS检测方法,只能像WAF一样对请求参数做简单处理。我们不知道这个参数是否会输出到页面,也不知道应用服务器会如何处理这个参数,后面会进行改进
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方式访问内网资源
24. 资产弱点识别
覆盖场景
- 使用存在已知漏洞的jar包(基于NVD数据库)
25. 后台爆破识别
覆盖场景
- 无验证码的后台爆破
原文: https://rasp.baidu.com/doc/usage/web.html