• 检测能力说明(持续更新 ..)
    • 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验证

    覆盖场景

    • 修改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