OpenRASP v0.41 正式釋出
OpenRASP v0.41 正式釋出了,包含如下重大變更
Java 版本
-
block.url
配置選項改名為block.redirect_url
,並支援模板化配置 -
即自動替換模板裡的
%request_id%
關鍵詞為當前請求ID
PHP 版本
-
openrasp.block_url
配置選項改名為openrasp.block_redirect_url
-
並支援模板化配置,同Java版本
-
所有日誌時間改為系統時間,不再使用PHP時區裡的時間
-
解決 OpenRASP 報警日誌跟 nginx/apache 訪問日誌無法一一對應的問題
-
刪除 webshell_include 檢測點,ofollow,noindex" target="_blank">統一使用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
模板來實現 -
增加 plugin.filter 配置
-
適用於 include/rename/readFile 等 hook 點
-
若開啟,當檔案不存在時,將不會進入檢測邏輯(預設開啟)
-
增加獲取客戶端真實IP的能力
-
使用者可以在
openrasp.clientip_header
指定從哪個header裡獲取客戶端真實IP -
預設是
clientip
請求頭 -
報警日誌裡的欄位為
client_ip
-
JS 外掛可以獲取到RPC引數,名字為
openrasp-dubbo-X
PHP 版本
-
支援通過
openrasp.hooks_ignore=all
來禁用全部 hook 點 -
增加獲取客戶端真實IP的能力,同 Java 版本
-
當請求被攔截,且期望響應型別為 xml/json,使用者可以自定義的響應內容,同 Java 版本
-
增加 openrasp.plugin_filter 配置,同 Java 版本
演算法改進
-
修復 @小豬"\ 報告的 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版本的效能。
Bug 修復
PHP 版本