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 版本
SSRF
修复 @小猪"/ 报告的 XXE、SSRF 绕过问题,默认拦截 netloc://
、 jar://
等更多不安全的协议
OGNL
hook 点改为 Ognl.topLevelExpression
,以修复 @阿远 报告的 OGNL 检测报警不正确的问题
SQLi
增加懒加载和预过滤机制,仅当需要 tokenize 的时候才执行,提升性能
使用链表替换数组,优化JS LRU实现,提升性能
XXE
修复 @凌霄 反馈的 xxe_file 算法,产生大量报警日志问题
通过忽略扩展名为 dtd/xml 的实体来解决
文件目录遍历、任意文件包含
增加新的检测算法,当用户输入包含遍历特征,且用户输入位于目录结尾,判定为文件目录遍历
修复 @酒馆游侠 报告的 confluence 5.8 AFD 报警消息不正确的问题
当用户传入 file:///etc/passwd,但实际读取的是 /etc/passwd,会导致绕过,已修复
文件写入
writeFile_script 默认改成 ignore,避免大量无用日志
重命名监控
增加过滤,当源文件包含扩展名时才进入检测逻辑,以修复 @萝卜 报告的 larvael 框架下的误报问题
增加过滤,当源和目标都是文件的时候才进入检测逻辑
慢查询
由于无法获取对应的SQL语句,所以默认禁用了慢查询检测;禁用此hook点还可以提高Java版本的性能。
PHP 版本
修复 array_filter 参数处理不正确的问题
修正报警日志里, URL 字段缺少域名的问题