cssembly · 2014/09/29 11:30
在烏雲zone裡看到了《hfs 2.3x 遠端命令執行(抓雞黑客末日)》的文章,以前只是分析二進位制漏洞,這種命令注入漏洞還是第一次分析,從網上下了hfs 2.3.279這個版本,執行起來之後,執行poc,四個calc就執行起來了。
複製**ps:分析到最後,google查詢可執行模組中的字串「parserlib
」,才知道這個漏洞是cve2014-6287。。。。。。一種淡淡的憂傷。不過還是說一下分析的過程吧。
首先是分析前的一些準備工作,用peid檢視了一下檔案,加了asp的殼,通過peid通用脫殼器簡單的進行脫殼。
通過ida載入脫殼後的檔案,看到一些函式如圖,根據之前對c++中string類實現的認識,看來應該是使用了靜態編譯,字串處理的庫**被靜態鏈結到了可執行檔案中。
通過peid對脫殼後的檔案進行編譯器識別,識別為borland delphi 6.0 - 7.0,通過ida載入相應的簽名庫,對函式進行簽名,這樣就能識別出大量的內聯函式,方便分析。通過簽名,已經可以識別出5636個內聯函式,這樣分析起來就方便很多。
通過ida檢視檔案匯入函式,查詢winexec、shellexecutea等程序啟動相關函式,通過交叉引用找到函式呼叫點,通過windbg設定斷點,觀察引數,確實是由shellexecutea啟動了計算器。同時檢視程式的呼叫棧。
通過呼叫棧,可已找到sub_531438函式,該函式解釋了exec|calc命令,並啟動了calc。對函式進行分析,可知該函式是對使用者的命令進行解釋執行的函式,相關**如下。
繼續通過呼叫棧,結合ida對「exec|calc」的傳遞過程進行分析,找到
int __stdcall sub_51e268(signed char *** a1, int a2)
複製**
函式,**a1指向需要解釋的字串「\x00」,其中int __cdecl sub_51dfa0(int a1)
函式對「\x00
」對其進行分析並執行。
對於
http://localhost:80/?search=%20
複製**
通過對比sub_51e268處**a1指向需要解釋的字串,可以看到
複製**
中%00
導致了
中的特殊字元轉換失敗,因此需要對轉換函式進行定位。在模組中對「」字串進行查詢,定位得到
int __fastcall sub_528eb0(int a1, int a2)
複製**
完成對傳遞給該函式時,該函式返回值為2。下面由
sub_4b827c、sysutils::inttostr
複製**
將字元轉換為10進製字串形式,最終替換掉原始字串中的
複製**sub_51e390返回值為0,因此後面的|\\|」和「m!
」,在分析的過程中,看到過字串「parserlib
」,就google一下。。。。。。。
檢視該漏洞詳情,可以看到和分析的結果一致,由於正規表示式的問題,導致了最終的遠端**執行。
深度 CVE 2017 8565分析和利用
本文講的是深度 cve 2017 8565分析和利用,如果你在最近的更新如 kb4025342 中看到以下三個關鍵字,請不要驚慌,保持冷靜,並閱讀新的安全更新指南門戶 上的cve 2017 8565 是的,cve 2017 8565於2017年7月11日發布。來自hewlett packard en...
需求分析 5 分析流程
1 小型流程 需求工作項 提交的文件 所處需求層次 業務目標 目標列表 業務需求 繪製用例圖 需求規約 或 用例模型 使用者需求 編寫用例規約 行為需求 2 中型流程 需求工作項 提交的文件 所處需求層次 業務目標 願景文件 業務需求 範圍 feature 上下文圖 繪製用例圖 需求規約 或 用例模...
20090901 分析函式ratio to
ratio to report函式 syntax 分析函式ratio to report 用來計算當前記錄的指標expr佔開窗函式over中包含記錄的所有同一指標的百分比.這裡如果開窗函式的統計結果為null或者為0,就是說占用比率的被除數為0或者為null,則得到的結果也為0.開窗條件query ...