重大变更 对于Java版本,SQLi/SSRF 检测算法改为Java原生实现,进一步提高性能 通过在插件修改 algorithm.config 配置来控制检测逻辑 开源协议由 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 脚本修改逻辑 在Linux下面,使用引号将 javaagent 参数包起来,避免路径有空格导致无法启动 在修改的配置周围,增加类似 ### BEGIN OPENRASP ### 的标记 OpenRASP v0.22 版本发布,性能提升与 SSRF 检测下载地址