• 检测能力说明(持续更新 ..)
    • 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 注入高危正在开发
    XPATH 注入高危暂无计划
    A2失效的身份认证和会话管理Cookie 篡改低危暂无计划
    后台爆破中危尚未实现
    A3敏感数据泄露敏感文件下载高危
    任意文件读取高危
    数据库慢查询高危
    文件目录列出低危
    A4XML 外部实体(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验证

    覆盖场景

    • 修改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://0x7f001http://0x7f.0x0.0x0.0x1
      • 访问保留地址,e.g http://0/
    • 常见场景
      • 尝试访问 aws metadata,e.g http://169.254.169.254/latest/meta-data/
      • 尝试访问已知的回显服务,e.g *.burpcollaborator.netrequestb.in
      • 尝试使用 gopher://dict 等不常见协议
      • (Java)使用JSTL import方式访问内网资源
    24. 资产弱点识别

    覆盖场景

    • 使用存在已知漏洞的jar包(基于NVD数据库)
    25. 后台爆破识别

    覆盖场景

    • 无验证码的后台爆破