ApereoCas Rce 漏洞復現 分析

2022-07-02 11:42:11 字數 1972 閱讀 5444

待補充

該漏洞原理為前段傳入的execution欄位值後,服務端通過解碼還原execution的值,並通過呼叫readobject還原物件,而又因為解碼過程呼叫的aes解密為硬編碼key,從而導致反序列化漏洞。

正常的請求

從spring mvc的的http請求入口處分析(org/springframework/web/servlet/frameworkservlet.class),該請求為post方法,因此直接呼叫dopost方法處理該請求。

跟進processrequest方法,doget和dopost都要去呼叫processrequest,該方法主要做的事情包括一步請求,呼叫doservice抽象模板方法。

跟進doservice方法,request設定完相關的屬性後,開始呼叫dodispatch做真正的處理

最終的處理邏輯在ha.handle中

跟進handle方法,getflowexecutionkey為獲取excution引數中的字串內容,通過resumeexecution進行反序列化

在resumeexecution將序列化字串進行反序列化進行還原

呼叫decode做解碼+反序列化的操作

經過decrypt進行解碼,然後進行readobject進行反序列化操作

上圖的第一步中,呼叫自身的cipherbean的的decrypt方法進行解密,下圖中通過例項化bufferedblockcipherbean設定加密的各個屬性,然後進行cipherbean賦值

其解密方式大概流程為url解碼->base64解碼->從keystore讀取秘文解密出真正的金鑰->解密密文

pochost: 192.168.52.3:8081

content-length: 1269

cache-control: max-age=0

upgrade-insecure-requests: 1

origin:

accept-encoding: gzip, deflate

accept-language: zh-cn,zh;q=0.9

cookie: jsessionid=e23bf7a599a46a4bf468bd5ed0d19b4b

connection: close

cmd:whoami

(1)從keystore中獲取加密後的金鑰,並解密出金鑰。密碼為changeit,alias為aes128

(2)aes解密

解密方式為aes/cbc/pkcs7,金鑰為上圖中的解密出來的金鑰。

(3)gzip解碼

Apache SSI 遠端命令執行漏洞 漏洞復現

如果目標伺服器開啟了ssi功能,那麼shtml檔案將可以執行任意命令。如果上傳檔案程式限制了php檔案的上傳,且沒有限制shtml檔案上傳,我們可以上傳乙個shtml檔案,並利用語法執行任意命令。ssi詳細講解請參考 什麼是ssi。ssi漏洞挖掘思路請參考 注入漏洞。該環境使用vulhub搭建,該漏...

通達OA 11 2後台getshell漏洞復現

通達oa 11.2後台getshell漏洞復現 一 漏洞描述 通達oa 11.2 組織 管理員 附件上傳處存在任意檔案上傳漏洞,結合 系統管理 附件管理 新增儲存目錄 修改附件上傳後儲存的路徑,最終導致getshell 二 漏洞影響版本 通達oa 11.2 三 漏洞復現 2 使用admin,密碼為空...

復變函式視覺化 復積分

復變函式的積分 z0 z1f z dz f z z int f z dz sum f delta z delta z z0 z1 f z dz f z z每一小段的復數值 乙個向量 乘以中間的某個值 積分法則 仿真實變函式積分 常數可以提出來 積分可以分段積分留數 用積分計算泰勒展開的係數 積分與路...