添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • 合入@rovast的补丁,优化修复建议的代码 #339
  • 合入@rovast的补丁,修复后台无法编辑反序列化黑名单的问题 #341
  • 合入@fedocx的补丁,支持钉钉机器人报警 #342
  • 合入@Taction的两个补丁,修复后台多个bug #333 、 #330 、 #347
  • PHP版本

  • 合入@leisurelicht的补丁,在攻击日志里增加远程端口,即attack_port字段 #367
  • 修复当mongo query参数为空时会崩溃的问题,感谢@凶狠的小白免 commit
  • Java版本

  • 增加SPEL hook点,以及3个对应的检测算法
  • 合入@xuing的补丁,统一log4j组件 #344
  • 合入@shijianliang的补丁,增加东方通tongweb8产品的适配 #368
  • 合入@lzxcomput的补丁,在攻击日志里增加远程端口,即attack_port字段 #375
  • 合入@strawberrybiscuits的补丁,修复SQL检测一处错误的逻辑 #329
  • 合入@zrquan的多个补丁
    • 增加OGNL长度检查算法 #377
    • 当meta.is_dev开启时,使用LCS算法检测XSS #378
    • 合入@k4n5ha0的多个补丁
      • 增加SPEL长度检查算法 #384
      • 增加多个DNSLog域名 #373 、 #364
      • 增加DLL/SO/DYLIB的拦截 #366
      • 增加struts黑名单语句 #360
      • 增加SpEL检测语句 #385
      • 1.3.7 版本 - 2022.01.28

      • 支持按照主机名、RASP ID或者主机IP搜索报警
      • 增加心跳时间索引,解决大规模主机搜索卡顿问题
      • 为了提高查询效率,主机离线判定方式改为固定的360s,不再根据心跳配置动态计算
      • 支持在后台导出单条报警
      • 支持删除过期依赖库数据,感谢@国产大熊猫反馈
      • 升级beego到v1.12.3,感谢@大剑士反馈后台编译问题
      • Kafka推送时,将@timestamp从数字改为字符串, 感谢 @xizhimen 反馈
      • 增加漏洞级别字段,aka event_level
      • 推送测试报警时,不再使用写死的假报警,而是从ES里搜索最新的报警作为测试数据
      • 合入@strawberrybiscuits的补丁,解决IAST死锁问题 #316

        Java 版本

      • 修复当Java不在$PATH时,resin安装会抛出异常的问题,感谢 @叶 反馈
      • 修复WebLogic Windows下面自动安装失败的问题
      • 修复Weblogic下面无法加载的问题(v1.3.3 引入)
      • 修复log.path配置不生效的问题
      • 修复快手公司反馈的字节流Hook错误的问题 #293
      • 修复@killer1278反馈的NIO文件删除hook点类型错误的问题 #280
      • 修复奇安信公司反馈的依赖库代码问题 #265
      • 合入@jekkay的补丁,修复非HTTP攻击报警数据会被覆盖的问题 #264
      • 合入@strawberrybiscuits的3个补丁,修复Apache Dubbo支持问题 #313 、 #314 、 #315
      • 合入安天公司的多个补丁,由@xuing提供
        • 修复某些情况下虚拟网卡mac可能为空的问题 #260
        • 修复Windows JDK9以上版本命令执行hook失效问题 #271
        • 修复MySQL 8.X ClientPreparedStatement Hook无效的问题 #277
        • 合入快手公司多个补丁,由@Venscor提供
          • 修复配置合法性校验代码中,未能检查key长度的问题 #307
          • 修复BESResponseBodyHook参数个数错误问题 #306
          • 合入东方通官方提供的补丁
            • 增加TongWeb 7.X版本支持 #318
            • 增加JNDI检测点,并增加一个阻断所有JNDI加载的算法
            • 增加DNS检测点,并增加DNSLog域名的检测算法
            • 安装程序增加 -debuglevel 参数,支持安装时修改调试级别
            • PHP 版本

            • 增加PHP 7.4支持
            • 修复PHP 5.5下面,include检测点可能会崩溃的问题
            • 修复 @月射寒江 发现的Oracle SQL异常无法报警的问题
            • 修复 @mattF123 报告的多个XXE绕过问题
            • 按照 @Holy 的建议,增加反射写jspx文件的检测
            • 1.3.6 版本 - 2021.02.07

            • 支持按照RASP目录搜索主机
            • 修复部分报警展示问题
            • 依赖库详情页面,改为按照上报时间排序
            • 修复后台审计日志IP伪造问题,感谢 @k4n5ha0 反馈
            • 修复清空数据时,依赖库信息没有同步删除的问题
            • Java 版本

            • 支持 MySQL 8.X 驱动
            • 支持开启jnotify、关闭jnotify,或者定期扫描插件目录三种方式;默认改为定期扫描
            • 支持关闭依赖库采集(安装阶段通过 -nodep 参数关闭)
            • PHP 版本

            • 扩展 webshell_ld_preload 检测点,支持配置环境变量,新版插件默认支持3个
            • 后端请求错误时,同时打印 cURL 错误描述(之前版本仅有错误码)
            • 依赖库数据增加缺失的来源字段,内容固定为 composer
            • 修复腾讯报告的SQL注入绕过问题
            • 优化身份证合法性校验逻辑
            • 反序列化、OGNL两个检测算法,黑名单支持配置(需要同时升级后台和插件)
            • 1.3.5 版本 - 2020.09.04

            • 由于早期 ElasticSearch mapping 的问题,当 URL 长度超过一定值,将无法搜索到
              • 后台升级完成后,用户需要手动执行 ./rasp-cloud -upgrade 134to135 来更新 mapping
              • 程序会先修改 alias,将索引指向新的 alias,完成数据复制后才删除以前的索引
              • 复制过程中可以有新的报警数据写入,不会丢失
              • PHP文件上传,展示文件存储路径
              • 增加崩溃信息展示
              • 合并 999-event-logger 功能到官方插件,并支持后台开启
              • Java 版本

              • 修复自定义 header 失效问题
              • 修复XSS检测,会打印空指针日志问题
              • 修复内置检测插件异常时,不会打印URL的问题
              • 修复 java.io.RandomAccessFile 读操作误报问题
              • 当开启云控后,将不再加载 jnotify
              • 当客户端开启 HTTPS 时,修复 SunJSSE 异常
              • 合入 @liergou9981 的补丁,增加nio支持、优化iast.js #229
              • 1.3.4 版本 - 2020.07.08

                PHP 版本

              • 修复某些 PHP 5.3 的环境,获取到的 header 可能为空的问题
              • 修复插件里正则写错时,会抛出异常的问题
              • 修复在云控连接成功前,就启动web目录敏感文件检测,导致匹配错误的问题
              • 加强 array_map 兼容性,避免第一个参数为空时打印多余日志
              • Java 版本

              • 增加宝兰德BES支持,感谢 @枫舞蝶殇 提交的补丁
              • 修复某些情况下,Tomcat 9 启动时候可能会卡顿的问题
              • 修复某些 yum 安装的 tomcat 服务器,RaspInstall 会失败的问题
              • 增加 yaml 反序列化白名单,感谢 @kkskk 提交的补丁
              • 修复 SpringBoot 某些情况下采集不到依赖的问题
              • 对于非HTTP请求,修复报警里缺少资产IP的问题
              • SQL注入: 内部有误报场景,默认关闭十六进制字符串检查
              • 任意文件写入: 拦截基于反序列化写webshell的操作,如fastjson漏洞
              • 应用快速切换,改为动态搜索,并展示前100个匹配结果
              • 攻击事件详情增加RASP版本展示
              • 支持自定义日志路径,配置名称为 LogPath
                • 如不配置,默认为 /home/openrasp/logs
                • 主机搜索接口,改为批量搜索模式
                • 支持保留插件配置,开源版本仅保留 action 字段
                • 支持导出应用数据,并导入到商业版
                • 支持清理离线超过N天的主机,默认是1天,可配置
                • 修复JSON请求数据展示不正确的问题
                • 修复当客户端时间不正确,后台不会发出报警的问题
                • 修复弱口令基线报警,未能正确展示数据库类型的问题
                • 1.3.3 版本 - 2020.06.02

                • 增加 Alpine docker 环境支持
                • Java 版本

                • 捕获 UTF16 转换异常
                • PHP 版本

                • 修复 PHP 5.3.18 之前版本,某些情况下RASP进程会意外退出的问题
                • 1.3.2 版本 - 2020.03.25

                  BUG 修复

                • 修复平安报告的 request.param_encoding 默认值错误问题,应该设置为空
                • Java 版本

                • 修复 @素十八 报告的攻击无法拦截的问题
                • PHP 版本

                • 修复SSRF重定向检测时,若URL不带协议头,cURL会增加 http:// ,导致误报的问题
                • 1.3.1 版本 - 2020.03.12

                • 修复Web根目录敏感文件正则默认配置,删除多余的双引号
                • 添加主机界面,优化手动安装提示
                • Java 版本

                • 修复 SpringBoot 在开启白名单后,可能会导致所有 Hook 点失效的问题
                • PHP 版本

                • 增加 fastcgi SAPI 支持(之前的版本只支持 php-fpm/apache)
                • 敏感信息泄漏检测算法,修正某些情况下手机号识别会误报的问题
                • 当请求JSON解析出错时,对异常日志进行截断,避免硬盘打满
                • 拦截基于 CVE-2020-9547、CVE-2020-8840 的命令执行
                • 1.3.0 版本 - 2020.02.11

                  IAST 扫描工具

                • IAST 控制台合入现有管理后台,降低运维成本(iast 不再监听 18664 端口)
                • IAST 扫描器改为连接 panel 服务器(以前是连接 agent 服务器)
                • IAST 扫描器使用 websocket 连接管理后台,不兼容 v1.3.0 之前的后台
                  • 老版本后台用户可使用 pip3 命令安装老版本
                  • PHP 版本

                  • 对于文件相关检测点,若读取文件以流协议开头,将会触发SSRF检测,不会触发文件读写检测
                    • 受影响协议为: https/http/ftp
                    • 受影响函数为: file/readfile/file_get_content/fopen/copy/include
                    • 当 plugin.filter 关闭,文件相关检测点将忽略 open_basedir 配置,继续进入插件检测
                    • 增加文件删除测点
                    • 增加 SSRF 跳转后检测点,可检测重绑定攻击
                    • 增加 HTML 响应检测点,默认每分钟采样5次
                    • 增加依赖库信息采集,默认6小时采集一次
                      • Java POM 信息
                      • PHP composer.json
                      • 补全 SQL 异常检测点
                        • PHP 增加 PostgreSQL、SQLite 异常监控
                        • Java 增加 PostgreSQL、SQLite、Oracle、SQLServer、HSQLDB、DB2 监控
                        • 弱口令列表支持远程下发
                        • 加强单机版配置校验
                          • 当 yaml 最外层键值无法识别时,打印日志
                          • Java 版本

                          • 增加 Hibernate SQL 检测点
                          • 增加 nio 检测点
                          • 增加 SpringBoot 部分注解参数支持
                          • PHP 版本

                          • SSRF 支持 IPv6 地址解析
                          • 基线检查: 检测web根目录下是否有压缩包、SQL等敏感文件
                          • 增加 mysql_db_query、mysql_unbuffered_db_query 检测点
                          • 增加 print 检测点
                          • 新增 -s restart / -s stop / -s status 指令,可以重启后台、关闭后台以及获取状态
                          • 支持主机设置备注,以及按照备注搜索
                          • 白名单支持备注
                          • 支持日志写 kafka
                          • 报警发送间隔改为前端配置
                          • 增加报警日志去重,根据请求编号、堆栈MD5、攻击类型计算
                          • 后台日志增加大小、文件数量限制,可配置
                          • 增加任意文件删除漏洞检测
                          • 增加 header 注入检测(如SQL注入、命令注入)
                          • 增加命令执行语法错误监控,以及可疑的注入检测
                          • 增加 DNS Rebind 方式的 SSRF 攻击
                          • 增加HTTP响应敏感信息泄漏检查,如银行卡、身份证、手机号
                          • BUG 修复

                            Java 版本

                          • RaspInstall 安装 rasp.jar 时,先重命名再写入新文件
                            • 避免修改已经加载的 jar,可能会出现 mmap 问题
                            • 老文件以 uuid 随机命名,支持多次安装,会在启动时统一删除
                            • PHP 版本

                            • 当后台下发配置不符合预期,主动上报异常日志
                            • 修复 Kali 下面日志只会上传一条的问题,感谢 @亿相逢 反馈
                            • 修复某些情况下,会出现多个 rasp-log 进程的问题
                            • 客户端版本聚合接口,没有过滤主机在线状态
                            • 增加重复白名单校验
                            • 1.2.3 版本 - 2019.12.17

                            • Java、PHP 增加崩溃监控(仅支持 Linux/Mac 系统)
                              • 监控信号如 segfault/abort 等等
                              • 监控范围是 Java主进程、PHP worker/心跳/日志进程/守护进程
                              • 崩溃后自动向管理后台发出报警,并上传堆栈日志;后台会同步发出邮件报警
                              • 若要测试监控效果,可执行 kill -11 PID 命令触发段错误
                              • 支持客户端版本枚举
                              • 支持一键关闭所有报警
                              • 当agent无法获取dubbo等应用版本号时,允许agent注册
                              • BUG 修复

                                Java 版本

                              • 修复 syslog 地址修改后,依然会向老地址发送日志的问题(感谢 @й阿桂 反馈)
                              • 1.2.2 版本 - 2019.11.28

                              • 后台升级完成后,还需要再手动执行 ./rasp-cloud -upgrade 121to122 来更新 MongoDB
                                • 增加 X-Protected-By: OpenRASP 相关配置
                                • 请求 body 大小限制改为 12KB
                                • 支持在线升级,但执行过程中请不要在后台修改配置
                                • 彻底解决 v8::Abort() 崩溃问题
                                • 升级 v8 到最新版本: 7.8.279.19
                                • 支持隐藏 X-Protected-By: OpenRASP 响应头
                                • 自动安装程序

                                • 支持通过 -heartbeat/--heartbeat 参数自定义心跳间隔
                                • Java 版本

                                • 增加 WebSphere 7.X 支持。由于IBM JDK限制,文件相关检测点无法生效
                                • 当插件没有注册 request/requestEnd 检测点,不再构造相关参数以提高性能
                                • 拦截基于 bsh.servlet.BshServlet 的命令执行操作,e.g CNVD-2019-32204
                                • 拦截基于 jdk.scripting.nashorn 的命令执行操作
                                • BUG 修复

                                  Java 版本

                                • 修复部分情况下,Java 无法获取字符流请求 body 的问题
                                • PHP 版本

                                • 修复当关闭 plugin.filter 时,包含 .php/.inc 文件不会进入插件的问题
                                • 对于 multipart 请求,单独提取参数,解决产生报警时没有请求 body 的问题
                                • 修复用户报告的 replaceAll 函数内存占用过高问题
                                • 修复 @Looke 报告的 xss_userinput 绕过问题
                                • 1.2.1 版本 - 2019.10.29

                                • 由于早期 ElasticSearch mapping 的问题,对于已经存在的应用,报警消息、基线消息、异常消息均不支持大小写搜索
                                  • 后台升级完成后,用户需要手动执行 ./rasp-cloud -upgrade 120to121 来更新 mapping
                                  • 程序会先修改 alias,将索引指向新的 alias,完成数据复制后才删除以前的索引
                                  • 复制过程中可以有新的报警数据写入,不会丢失
                                  • 支持自定义 RASP ID
                                    • 安装时使用 --rasp-id (PHP) 或者 -raspid (Java) 来设置
                                    • 若没有指定,则按照先前的逻辑,根据网卡、RASP路径等信息计算一个
                                    • 增加报警日志去重,目前按照 request_id + stack_md5 进行去重
                                    • 在 系统设置 -> 后台设置 界面,增加一键清理报警数据支持
                                    • 主机管理界面,自动记住 主机状态 勾选情况
                                    • 报警查看界面,支持按照报警消息、堆栈MD5搜索;Referer、URL 支持点击
                                    • Java 版本

                                    • 增加 TongWeb 6.X 服务器部分支持, 来自 @superbaimo
                                    • 简化 JBoss 7 以及更高版本的安装流程, 来自 @Lorisy
                                    • 增加 HSQL 数据库 hook 点,可以检测 WebGoat SQL 注入漏洞
                                    • 增加熔断支持
                                      • 每隔一段时间采集一次单核CPU占用率,若超过阈值且连续3次,启动熔断机制
                                      • 当下次采集到的占用率低于阈值,自动恢复防护
                                      • 本功能默认关闭,采集间隔、CPU占用率均可配置
                                      • 修复 plugin.filter 在 include hook 点不生效的问题
                                      • 命令执行检测点,增加环境变量信息
                                      • SQL异常检测改为插件检测,且可在管理后台自定义要监控的错误代码
                                      • 修复 command_reflect 算法,在某些情况下可能误报的问题
                                      • Bug 修复

                                      • 增加重新注册支持,当主机离线后被误删除,可自动恢复
                                      • Java 版本

                                      • 修复当中间件支持 multipart 协议,但是用户没有使用文件时,会产生误报的问题
                                      • 修复当服务器在启动一段时间后才与管理后台连通,Java Agent 不会再次获取注册IP的问题
                                      • 修复某些情况下,由于 context.language 为空,不会拦截 WebSphere 反序列化命令执行的问题
                                      • 修复心跳失败时,sleep 失效,会无限打印日志的问题
                                      • 修复日志推送完毕后,log4j 缓存不会清理的问题(感谢 @忆相逢 反馈)
                                      • 修复当有多个文件上传时,只会处理第一个文件的问题
                                      • 修复配置更新失败时,缺少详情的问题
                                      • 修复 request hook 点无法拦截的问题(感谢 @Looke 反馈)
                                      • 修复 cloud.X 等配置可以远程下发的问题
                                      • 修复 SQL prepared statements 产生异常时,不会进入检测插件、不会记录SQL异常的问题
                                      • PHP 版本

                                      • 修复PDO异常监控没有过滤 error code,记录了多余的异常日志的问题
                                      • 1.2.0 版本 - 2019.09.05

                                      • 删除 enforce_policy 配置,基线检测不再支持拦截
                                      • 去除 MySQL duplicated key 错误监控
                                      • 删除报警日志里的 stack_trace 字符串字段,统一使用 attack_params.stack 获取堆栈
                                        • 若 Java/PHP agent 升级到 v1.2.0,那管理后台也必须升级,否则前端堆栈将展示为空值,且漏洞聚合列表将为空
                                        • 主机名发生变化时,同步到管理后台
                                        • 增加 host_type 字段,以标识是否为docker容器
                                        • 修复登录后无法跳回原URL的问题
                                        • 增加 requestEnd hook 点,请求结束时调用一次
                                        • 增加 RASP.request() 接口,可在插件里发送 HTTP 请求
                                        • 增加 RASP.get_version() 接口,可获取 agent 版本信息
                                        • 增加 context.requestId 等多个字段
                                        • 文件上传增加 dest_path/dest_realpath 两个参数(仅PHP版本)
                                        • 新增 loadLibrary_unc 算法,当要加载的类库来自 UNC 路径时拦截
                                        • PHP 版本

                                        • 增加 eval/assert hook 点
                                        • 增加 debuglevel 配置,避免打印多余日志
                                        • Java 版本

                                        • 对 JBoss、WebLogic 增加集群支持
                                        • 修复 v8 在多线程环境运行时,获取 Thread Local 数据会崩溃的问题
                                        • 增加关键hook点检查: requestEnd, request.parameterMap 不存在时拒绝启动
                                        • 心跳间隔下限改为 10s
                                        • 优化内存占用,减少50%左右
                                        • 启动时打印 RASP ID,方便排查
                                        • 解决当 Tomcat 主动 flush() 时不会检测 XSS 的问题
                                          • 同时优化了XSS检测效率
                                          • XSS 拦截时不再抛出异常(其他攻击类型还是会抛出)
                                          • 自动安装程序

                                          • 增加 SpringBoot 半自动安装,即只释放文件并修改配置,参数名为 -nodetect
                                          • 增加对 yum 安装的 tomcat 的支持,即 bin 目录与 tomcat_home 分离的情况
                                          • 增加 -prepend 参数,若开启则将 -javaagent 参数放在最前面
                                            • 默认在后面附加
                                            • 解决 jacoco 的兼容性问题
                                            • 灰盒扫描工具

                                            • 发布第一版 灰盒扫描器 ,结合RASP挖掘漏洞的扫描器
                                            • Bug 修复

                                              Java 版本

                                            • 解决 JRockit 兼容性问题,改为 jni 获取网卡信息
                                            • 解决 org.elasticsearch.client.RestClient 兼容性问题
                                            • 解决 XXE 代码安全开关和 taglib 不兼容的问题
                                            • 屏蔽 V8 execstack warning
                                            • PHP 版本

                                            • 修复报警日志里PHP版本号不对的问题
                                            • 修复 001-dir-1.jsp 即使在插件里关闭 all_log 也不会拦截的问题
                                            • 1.1.2 版本 - 2019.07.11

                                            • 支持按照攻击类型决定是否报警
                                            • 主机管理页面,支持导出agent列表
                                            • 添加主机页面,修正 SpringBoot + Docker 安装命令
                                            • 优化多处表格体验
                                            • Java 版本

                                            • syslog tcp 增加连接、发送超时
                                            • 支持通过 rasp.jar 获取agent版本信息
                                            • readFile hook 点忽略 war 包相关操作
                                            • Bug 修复

                                              Java 版本

                                            • 当主机名没有在 /etc/hosts 里绑定,会触发大量 hostname 命令执行调用的 BUG
                                            • 传给插件的堆栈,修复过滤不正确的问题
                                            • 修复 Undertow 解析参数时的空指针异常问题
                                            • 修复一处 XSS hook 点空指针异常
                                            • 1.1.1 版本 - 2019.06.17

                                            • 开启 gzip 压缩支持,减少网络流量
                                            • 报警、基线日志保留时间支持自定义,默认 365 天
                                            • 优化多处前端体验
                                              • agent 异常日志增加堆栈详情展示
                                              • 加强报警搜索功能
                                              • 支持检测算法高级配置选项
                                              • Java 版本

                                              • 修复堆栈过滤不全的问题
                                              • 解决 emoji 表情包可能造成的编码问题
                                              • openrasp-v8 所有异常同步到 rasp.log
                                              • 修复 command_reflect 误报问题
                                              • 删除 xss tag 超过10个就报警的算法
                                              • 1.1 版本 - 2019.06.06

                                              • 升级 Google v8 到 7.2 版本
                                              • 语法解释器由antlr4替换为flex,降低内存占用
                                              • PHP 版本

                                              • 替换 libstdc++ 为 libc++
                                              • 去除 pcre 依赖
                                              • 二进制包增加 Thread Safety 版本
                                              • Java 版本

                                              • 替换 rhino 为 openrasp-v8
                                              • SQL、SSRF 检测逻辑改为JS实现
                                              • 暂时去除 JRockit JDK 支持,WebLogic 10.3.6 需要设置 JAVA_VENDOR=Sun 来改用 Oracle JDK
                                              • 精简 console.log 函数,删除颜色相关代码
                                              • 传给检测插件的堆栈,过滤掉 com.baidu.openrasp 相关内容
                                              • SQL异常增加密码错误监控
                                              • 实现数据库连接弱口令检测
                                              • Java 版本

                                              • 增加XXE代码安全开关,可以直接禁止外部实体加载
                                              • Bug 修复

                                              • 插件更新成功后,立即发出心跳,解决管理后台版本信息滞后问题
                                              • 报警堆栈过滤掉 openrasp 相关内容
                                              • Java 版本

                                              • 修复文件上传检测点误报问题,改为在用户使用了文件之后再检测
                                              • 修复 Windows下,openrasp.yml 文件编码不正确的问题
                                              • 修复 JBoss 12 以上无法自动安装的问题
                                              • 解决 JSP 无法获取堆栈的问题
                                              • 修复 Tomcat 下面 xss 拦截之后不会跳转的问题
                                              • 修复一次心跳失败后,再也不会心跳的bug
                                              • 解决 Tomcat 5 下面 html 注入功能不正常的问题
                                              • 修复不重启安装,卸载后心跳线程残留问题
                                              • 与PHP版本统一 log.maxbackup 逻辑,配置为1时保留今天和昨天的日志
                                              • 修复检测插件重复上传问题
                                              • 前端首页增加缓存失效设置
                                              • 修复 debug_level 字段不是数字的问题
                                              • 当应用下面有在线主机,禁止删除应用
                                              • 修复应用加固里 nosniff 拼错的问题,用户保存一次配置即可修复
                                              • 1.0 正式版 - 2019.04.12

                                              • 报警日志增加 header 字段,并去除最外面的 user_agent、referer 重复字段
                                              • 单机版配置文件改为 yaml
                                              • 仅当拦截响应码设置为 302 时才输出 Location 头跳转,使用户可以打印自定义拦截内容
                                              • 在配置文件里删除 AgentServerURL、PanelServerURL 两个项目,改为在管理后台界面上修改
                                              • 首次访问后台会自动设置上述两个选项,若要开启负载均衡模式,请手动修正 Agent 服务器列表
                                              • PHP 版本

                                              • 单机版默认禁用 fswatch。若有需求请使用 --enable-fswatch 编译参数开启
                                              • 替换 rapidjson 为接口更加灵活的 nlohmann/json
                                              • cli 模式关闭基线检查,避免多余的日志。若有需求请使用 --enable-cli-support 编译参数开启
                                              • rasp-install 增加 SELinux、open_basedir 检查,避免安装后无法使用的问题
                                              • Java 版本

                                              • 去除 rasp-log4j.xml 相关启动参数。改为动态生成 log4j 配置的方式,用户不再需要配置
                                              • 新增 JSON 参数解析,即 context.json
                                              • 新增应用加固功能,可防护点击劫持、MIME嗅探、下载文件自动运行、反射XSS
                                              • 支持反编译功能,产生报警时可同时获取用户代码(仅 JDK 6-8、PHP 支持)
                                              • PHP 版本

                                              • 新增 PHP 7.3 支持
                                              • Java 版本

                                              • 新增 SpringBoot + Undertow 支持
                                              • 新增 WebLogic 支持
                                              • 新增 JBoss 6-8 支持(暂不支持自动安装)
                                              • 新增 JDK 11 支持
                                              • 增加应用环境变量采集
                                              • 加入实验性的不重启安装、不重启卸载功能,暂不支持不重启升级
                                              • 改进多处用户体验,提供更加完善的报警搜索体验
                                              • 新增漏洞聚合展示,避免在漏洞利用阶段攻击刷屏的问题
                                              • 改进审计日志展示,增加类型字段和展示
                                              • 新增客户端异常日志展示
                                              • 增加开发模式开关,开启后会加载一些消耗性能的检测算法
                                              • 默认开启观察模式
                                              • Tomcat 后台弱口令增加空密码检查
                                              • Path traversal

                                              • 修复一处使用绝对路径下载文件,造成的 is_path_endswith_userinput 函数误报问题
                                              • 拦截 Windows 下面使用 ..\..\ 列出目录的攻击
                                              • File Inclusion

                                              • 修复在使用百度云BOS业务时,包含 phar:// 文件造成的误报问题
                                              • 新增常见渗透命令检测支持,默认只打印日志
                                              • 新增SQL异常检测,如语法错误、报错注入
                                              • 修复 char/chr() 误报问题,仅当出现5次才报警
                                              • 调用检测插件时增加端口信息
                                              • 拦截对阿里云 metadata 的访问
                                              • File Upload

                                              • 报警日志增加 multipart 参数名称字段,方便构造请求
                                              • 新增 xss_userinput 检测算法,拦截反射XSS
                                              • xss_echo 算法增加内容过滤,避免非攻击事件造成的报警(此算法无误报)
                                              • WebShell

                                              • 拦截基于 LD_PRELOAD 的后门
                                              • Deserialization

                                              • 拦截基于 JNDI 反射执行命令的攻击
                                              • Bug 修复

                                              • 修复 docker 拉取的 ElasticSearch 无法连接的问题
                                              • PHP 版本

                                              • 修复当URL没有协议,SSRF检测点拿不到hostname的问题
                                              • 1.0.0 RC1 版本 - 2019.1.3

                                                Java 版本

                                              • 增加 okhttp/okhttp3 hook点,用于 SSRF 检测
                                              • 其他通用功能

                                              • 发布管理后台第一版
                                              • 增加远程管理功能,包括日志上传、插件下发、远程配置管理等等
                                              • syslog 日志增加 tag 字段支持,可自定义
                                              • LRU 由插件改为agent实现,覆盖 sql, ssrf, readFile, writeFile 几个检测点
                                              • PHP 版本

                                              • 正式去除 Windows 支持
                                              • 增加 JBoss EL 反射命令执行的检测
                                              • 新增 bash 命令解释器,可检测命令注入攻击
                                              • Bug 修复

                                              • 修复 dubboRPC 下面,log4j 打印日志时因没有 requestMethod 导致空指针的bug
                                              • 修复 PHP session + mysql handler 一处崩溃问题
                                              • 修复 SpringBoot 1.5.9 + Embedded Tomcat Server 无法获取服务器版本号的问题
                                              • 0.50 版本 - 2018.10.29

                                                Java 版本

                                              • 正式支持 WebSphere,目前仅测试了 8.5、9.0 两个版本
                                              • 报警日志增加 algorithm 字段,用于标识具体算法名称
                                              • 任意文件下载

                                              • 修复 ThinkPHP rewrite 导致的一个绝对路径误报问题
                                              • 0.42 版本 - 2018.09.26

                                              • 删除SQL慢查询hook点,但暂时保留代码
                                              • Java 版本

                                              • 插件获取到的 Dubbo RPC 参数名称,从 openrasp-dubbo-XXX 改为 dubbo-XXX
                                              • 报警日志增加 request_method 字段,即请求方法
                                              • Bug 修复

                                              • 修复在某些 tomcat 版本下,获取参数时会产生 No modifications are allowed to a locked ParameterMap 错误的问题
                                              • Rename

                                              • 修复 rename_webshell 一个潜在的误报问题
                                              • 堆栈算法增加 commons.collections4 检查
                                              • 0.41 版本 - 2018.09.17

                                                Java 版本

                                              • block.url 配置选项改名为 block.redirect_url ,并支持模板化配置
                                                • 即自动替换模板里的 %request_id% 关键词为当前请求ID
                                                • PHP 版本

                                                • openrasp.block_url 配置选项改名为 openrasp.block_redirect_url
                                                  • 并支持模板化配置,同Java版本
                                                  • 所有日志时间改为系统时间,不再使用PHP时区里的时间
                                                    • 解决 OpenRASP 报警日志跟 nginx/apache 访问日志无法一一对应的问题
                                                    • 删除 webshell_include 检测点, 统一使用JS插件检测
                                                    • JS API 接口

                                                    • 对于Java服务器,appBasePath 不再指向 webapps 目录,改为应用部署路径,比如 /tomcat/webapps/vulns
                                                    • RASP.sql_tokenize 数组元素改为字典,并增加token起始坐标、token结束坐标两个参数
                                                      • 改进后, sqli_userinput 算法只需要再执行一遍 tokenize
                                                      • 在有攻击的情况下,大幅度提升性能
                                                      • Java 版本

                                                      • 为 JBoss 增加基线检查
                                                        • 检查 /jmx-console/HTMLAdaptor 是否开启认证
                                                        • 当请求被拦截,且期望响应类型为 xml/json,用户可以自定义的响应内容
                                                          • 通过配置 block.content_xml 、 block.content_json 模板来实现
                                                          • 主要为了处理 ajax 请求误报的情况
                                                          • 增加 plugin.filter 配置
                                                            • 适用于 include/rename/readFile 等 hook 点
                                                            • 若开启,当文件不存在时,将不会进入检测逻辑(默认开启)
                                                            • 增加获取客户端真实IP的能力
                                                              • 用户可以在 openrasp.clientip_header 指定从哪个header里获取客户端真实IP
                                                              • 默认是 clientip 请求头
                                                              • 报警日志里的字段为 client_ip
                                                              • 增加 Dubbo RPC 基础数据类型支持
                                                                • JS 插件可以获取到RPC参数,名字为 openrasp-dubbo-X
                                                                • PHP 版本

                                                                • 支持通过 openrasp.hooks_ignore=all 来禁用全部 hook 点
                                                                • 增加获取客户端真实IP的能力,同 Java 版本
                                                                • 当请求被拦截,且期望响应类型为 xml/json,用户可以自定义的响应内容,同 Java 版本
                                                                • 增加 openrasp.plugin_filter 配置,同 Java 版本
                                                                • 修复 @小猪"\ 报告的 XXE、SSRF 绕过问题,默认拦截 netloc:// 、 jar:// 等更多不安全的协议
                                                                • hook 点改为 Ognl.topLevelExpression ,以修复 @阿远 报告的 OGNL 检测报警不正确的问题
                                                                • 增加懒加载和预过滤机制,仅当需要 tokenize 的时候才执行,提升性能
                                                                • 使用链表替换数组,优化JS LRU实现,提升性能
                                                                • 修复 @凌霄 反馈的 xxe_file 算法,产生大量报警日志问题
                                                                  • 通过忽略扩展名为 dtd/xml 的实体来解决
                                                                  • 文件目录遍历、任意文件包含

                                                                  • 增加新的检测算法,当用户输入包含遍历特征,且用户输入位于目录结尾,判定为文件目录遍历
                                                                  • 修复 @酒馆游侠 报告的 confluence 5.8 AFD 报警消息不正确的问题
                                                                    • 当用户传入 file:///etc/passwd,但实际读取的是 /etc/passwd,会导致绕过,已修复
                                                                    • writeFile_script 默认改成 ignore,避免大量无用日志
                                                                    • 重命名监控

                                                                    • 增加过滤,当源文件包含扩展名时才进入检测逻辑,以修复 @萝卜 报告的 larvael 框架下的误报问题
                                                                    • 增加过滤,当源和目标都是文件的时候才进入检测逻辑
                                                                    • 由于无法获取对应的SQL语句,所以默认禁用了慢查询检测;禁用此hook点还可以提高Java版本的性能。
                                                                    • Bug 修复

                                                                      PHP 版本

                                                                    • 修复 array_filter 参数处理不正确的问题
                                                                    • 修正报警日志里, URL 字段缺少域名的问题
                                                                    • 0.40 版本 - 2018.7.24

                                                                      Java 版本

                                                                    • 命令执行 hook 点,命令参数统一改为字符串形式
                                                                    • 所有报警消息改为英文,下个版本增加翻译支持
                                                                    • PHP 版本

                                                                    • 所有报警消息改为英文,下个版本增加翻译支持
                                                                    • PHP 版本

                                                                    • 正式支持 PHP 7.0-7.2
                                                                    • 增加对 SQL prepared statement 的支持
                                                                    • 使用 v8 default platform 替换自定义 platform,提供更通用的后台任务能力和错误溯源能力
                                                                    • Java 版本

                                                                    • 增加 rename hook 点
                                                                    • 增加对 FreeMarker 模板执行命令的识别
                                                                    • 修复 @加菲猫 反馈的 cacti 误报问题
                                                                    • 默认不再拦截所有的命令执行
                                                                      • 若完全没有命令执行需求请手动修改 command_other 算法开关为 block
                                                                      • 此开关不影响反序列化命令执行的拦截,或者其他算法的检测
                                                                      • 增加对特殊协议的检测,以及对应的检测开关。包括 php:// 、 file:// 等等
                                                                      • 用户输入匹配算法,增加对 127.X.X.X 的识别
                                                                      • 增加 @dos_man 反馈的一个 dnslog 地址 *.tu4.org
                                                                      • 文件目录遍历
                                                                        • 修复一个 @Leesec 报告的 /../../ 检出绕过问题
                                                                        • PHP 堆栈检测算法
                                                                          • 修复 @Ezreal 报告的一个 call\_user\_func 误报问题
                                                                          • 后门上传检测
                                                                            • 增加对 rename 的监控,防止通过重命名写入 webshell
                                                                            • SQL 注入
                                                                              • 增加全局LRU缓存,当检测结果为 ignore 时不再重复检测,以提高性能
                                                                              • 用户输入匹配算法,参数最短长度可配置
                                                                              • 增加对 into outfile 的检测,并增加相应的检测开关
                                                                              • Bug 修复

                                                                                PHP 版本

                                                                              • 增加60多个单元测试,修复2处参数解析错误问题
                                                                              • 优化不同协议的处理逻辑,若协议不支持写操作,将不再进入检测插件
                                                                              • 修复一个左右斜杠混用,导致的路径精简失败的问题
                                                                              • 增加新的拦截页面
                                                                              • 0.32 版本 - 2018.6.8

                                                                              • 为所有检测算法增加开关
                                                                                • 用户可通过编辑JS插件头部的配置,来控制某个算法是否开启
                                                                                • ssrf_common 算法,增加对 ceye.io 、 transfer.sh 的检测和拦截
                                                                                • Bug 修复

                                                                                • 解决 Resin 3.1.8 一个 classloader 兼容性问题
                                                                                • 修复 SQLParser 一处语法解析错误
                                                                                • 通过修改包名,解决 mozilla rhino 加载冲突问题
                                                                                • 使用v8引擎的snapshot特性,以加快v8实例启动速度
                                                                                • 0.31 版本 - 2018.5.22

                                                                                • Java 版本
                                                                                  • Java 包名改为 com.baidu.rasp
                                                                                    • 在升级前,用户需要手动删除 rasp/conf/rasp-log4j.xml 文件
                                                                                    • 待应用启动后,OpenRASP 会自动生成新的日志配置文件
                                                                                    • 解决高版本 JDK 兼容性问题, ISSUE: rhino jdk8u162 兼容性问题 #98
                                                                                    • 为了降低 Hook 点开发成本,Hook 框架改为 JavaAssist
                                                                                    • RaspInstall - OpenRASP 自动安装程序
                                                                                      • 为了支持自动卸载,我们调整了 RaspInstall.jar 的命令行参数
                                                                                        • java -jar RaspInstall.jar -install /home/tomcat
                                                                                        • java -jar RaspInstall.jar -uninstall /home/tomcat
                                                                                        • 开源协议由 BSD-3 切换为 Apache License 2.0 ,方便商用
                                                                                        • 修改 context.parameter 获取逻辑
                                                                                          • 当JSP脚本读取过参数,JS插件才能读取到。这样可以减少误报,还可以提高SQLi算法#1的性能
                                                                                          • 支持过期日志自动删除功能,默认保留最近30天日志
                                                                                            • 通过给 log4j 1.X 打补丁来实现
                                                                                            • 升级前,用户需要手动删除 rasp/conf/rasp-log4j.xml ,程序会在启动时,自动生成新的
                                                                                            • 支持 JBoss 7.X
                                                                                            • 支持在响应里插入 HTML 代码,可用于检测 CSRF/后台盲打 ,该功能默认关闭
                                                                                            • rasp.properties 里的配置选项,除了 hooks.ignore 以外,开始支持动态更新,即修改后立即生效
                                                                                            • 拦截攻击时,支持自定义响应状态码
                                                                                              • 默认 400
                                                                                              • 支持 Tomcat Directory Index 检查
                                                                                              • 预编译JS代码,启动时间由原先的 8s 下降到 3s 左右
                                                                                              • 增加调试开关,用于收集hook点进入次数、时间消耗等等
                                                                                              • 正式支持 SSRF 漏洞检测,包括以下三种场景
                                                                                                • URL.openConnection
                                                                                                • commons-httpclient
                                                                                                • httpclient
                                                                                                • API 变更

                                                                                                • RASP.config() 接口改名为 RASP.config_set() ,并增加相关调试日志
                                                                                                • 增加 RASP.get_jsengine() 接口,用于获取JS引擎名称
                                                                                                • Bug 修复

                                                                                                • #84: request.setCharacterEncoding 编码问题
                                                                                                • 解决因为没有写权限,导致 rasp-log4j.xml 释放失败的问题
                                                                                                  • 在新版本里,RaspInstall 会主动修改 rasp 目录权限
                                                                                                  • 基线检查日志,增加调用堆栈信息
                                                                                                    • 当应用使用了高权限数据库账号,方便定位具体代码
                                                                                                    • 重写 catalina.sh 脚本修改逻辑,支持重复安装
                                                                                                      • 在修改的配置周围,增加类似 ### BEGIN OPENRASP ### 的标记
                                                                                                      • 支持 DB2 数据库,我们仅测试了免费版本, 9.7 和 10.5
                                                                                                      • 服务器安全基线
                                                                                                        • 新增数据库连接账号审计功能 ,e.g 使用 root 连接 mysql、使用 sa 连接 mssql 等等
                                                                                                        • 增加慢查询审计功能
                                                                                                          • 使用 SELECT 语句读取超过500行数据, 可配置
                                                                                                          • 支持 Syslog TCP 方式传输报警日志
                                                                                                          • 公开SQL注入检测算法 #2 - 基于语句规范,可修改插件配置
                                                                                                            • 禁止多语句执行,e.g select 123; select 456
                                                                                                            • 禁止16进制字符串,e.g load_file(0x41424344)
                                                                                                            • 禁止MySQL版本号注释,e.g /*!12345
                                                                                                            • 禁止数字常量比较操作,e.g SELECT 1 FROM dual WHERE 8778 <> 8778
                                                                                                            • 禁止使用黑名单里的函数,e.g load_file , benchmark , pg_sleep , ...
                                                                                                            • API 变更

                                                                                                            • 新增 context.appBasePath 接口 ,可获取web应用根目录
                                                                                                            • 新增 session 操作接口 ,context.session.setSession、context.session.getSession
                                                                                                            • 插件拆分,部分不常用的检测逻辑,比如扫描器识别功能,移动到 addons 目录
                                                                                                            • RaspInstall 源代码开放
                                                                                                            • CVE漏洞覆盖列表开放
                                                                                                            • 0.20 版本 - 2017.10.26

                                                                                                            • 由于 jni 性能太差,我们决定使用 Mozilla Rhino 最新版本替换掉 j2v8
                                                                                                            • 在最坏的情况下,对服务器影响在 2% 左右,具体可查看 性能测试报告
                                                                                                            • 放弃对 WebLogic 的支持
                                                                                                            • API 变更

                                                                                                            • 增加 SQL tokenize 接口: RASP.sql_tokenize
                                                                                                            • 增加 SESSION 修改接口: context.session.getSession / context.session.setSession
                                                                                                            • readFile 接口,当文件不存在时,将不再调用插件
                                                                                                            • Hook 点变更

                                                                                                            • 增加 webdav hook 点,可检查 MOVE 、 COPY 操作
                                                                                                            • 拦截日志变更

                                                                                                            • 增加 HTTP Referer 字段
                                                                                                            • 增加 request_id 参数,用于标识一个攻击
                                                                                                            • 增加 event_type 字段,用于标志日志类型
                                                                                                            • attack_time 字段改名为 event_time
                                                                                                            • attack_params 字段改为 JSON 形式(以前是字符串,需要重新配置ES mapping)
                                                                                                            • 支持自定义拦截页面
                                                                                                              • 通过 block.url 配置
                                                                                                              • 默认是 小恐龙页面
                                                                                                              • 增加服务器安全基线检查功能,目前仅支持 tomcat,可以检测如下非安全配置
                                                                                                                • manager/html 存在弱口令
                                                                                                                • JSESSION 未开启 httpOnly
                                                                                                                • tomcat 以 root启动
                                                                                                                • 默认的 webapps 没有删除
                                                                                                                • 当发生攻击,插件会额外输出 confidence 字段,用于标识检测结果可靠性
                                                                                                                • 所有响应增加 X-Protected-By: OpenRASP 响应头
                                                                                                                • 支持 HTTP 报警推送
                                                                                                                • 增加对 Jetty、JBoss 5~6 服务器的支持
                                                                                                                • 增加 log.maxstack 配置选项,用于配置 alarm 日志里最大堆栈
                                                                                                                • 增加扫描器识别,根据UA、Header(默认关闭,请手动修改插件)
                                                                                                                • SQL注入检测算法 #1 开放
                                                                                                                • 敏感文件下载漏洞检测
                                                                                                                • JBoss XXE Hook 点次数优化,提高性能
                                                                                                                • 0.13 版本 - 2017.09.22

                                                                                                                  Bug 修复

                                                                                                                • 当JS插件发生运行时错误,不应该打印报警日志
                                                                                                                • JS插件出错时,在 plugin.log 打印详细堆栈和错误信息
                                                                                                                • 0.12 版本 - 2017.09.14

                                                                                                                • 增加一个异常流识别,当某些类通过反射进行调用时,会触发插件检测逻辑
                                                                                                                • 0.11 版本 - 2017.09.13

                                                                                                                  Bug 修复

                                                                                                                • 增加 doFilter hook 点,修复 struts 系列框架下,无法检测漏洞的问题
                                                                                                                • 0.10 版本 - 2017.08.18

                                                                                                                • 支持多种 Java 服务器、数据库服务器
                                                                                                                • 支持多种 SIEM 应用
                                                                                                                • 完成第一版官方检测插件
                                                                                                                • 支持多个 hook 点
  •