James Forshaw:大家下午好,我是James Forshaw。我們的部門主要是看一些微軟和蘋果的項(xiàng)目,我所做的工作就是Windows平臺(tái),比如說基礎(chǔ)問題、系統(tǒng)問題。我們今天的討論是和大家分享我們的一些研究,有一些有意思的漏洞。
我所說的是記錄,記錄可能并不是非常有意思的一個(gè)話題,但是我做了一些研究,我把這個(gè)微軟的記錄作為我的研究中心,作為深階的記錄,比如一些潛在的功能,這個(gè)可能是對(duì)Chrome的瀏覽器是非常重要的,比如所做的一些事情怎么使瀏覽器系統(tǒng)更加安全。
我們看到潛在的或者是隱藏的安全的事情,比如可以有API,可以有Windows,看看最后的功能。我們也要找漏洞,非常有意思的是我們找到不一樣的漏洞,有一個(gè)解釋的方式。
記錄有一個(gè)問題是寫數(shù)據(jù),并不是所有的API都容納下來,必須有一些有限的真正的這么一些數(shù)據(jù)可以放在我們的記錄里,太長(zhǎng)了開發(fā)者就可能不會(huì)來讀,所以另一個(gè)問題就是Windows在演變,一直被增加和被更新,這樣就給我們帶來一個(gè)問題,有的記錄并不是更新的,可能不是現(xiàn)有的時(shí)間寫的記錄。
還有一個(gè)記錄并不是表現(xiàn)的現(xiàn)實(shí),并不是來解釋API的功能,所以有的時(shí)候有一些內(nèi)容是丟失了,或者我們沒有放進(jìn)去,這個(gè)實(shí)際上會(huì)影響我們的能力,比如說我們?cè)诳催@個(gè)的能力,比如說在寫這個(gè)安全密碼的時(shí)候可能會(huì)影響我們的能力。有的時(shí)候可能并不是非常準(zhǔn)確,而且也不能非常完美的詳細(xì)的執(zhí)行。
整個(gè)系統(tǒng)的工作流程怎么樣在執(zhí)行過程當(dāng)中充分發(fā)揮功效?我們做這樣的事情是基于以下的原因,因?yàn)槲覀円诓煌钠脚_(tái)上有不同的密碼,所以我們想,我們的一些應(yīng)用,我們打開一個(gè)文件,最后有一個(gè)開放的系統(tǒng),可以在這個(gè)體系之下打開一個(gè)文檔。
但這只是一個(gè)例子,我們有兩個(gè)參數(shù)和兩個(gè)限制,實(shí)際上打開的需要三個(gè)參數(shù),所以我們要把這兩個(gè)功能進(jìn)行對(duì)接,我們要翻譯這些參數(shù),這樣的話,能夠讓其很好的執(zhí)行。很多情況下我們可以有這樣的路徑,這是一個(gè)典型的POSIX的應(yīng)用。
Windows在這一方面有了新的舉措,首先在Win32 API的復(fù)雜性,有簡(jiǎn)單的系統(tǒng),必須建立開放文件的API,我們可以看到這個(gè)路徑,其他的東西必須要從這個(gè)參數(shù)中來引出,這個(gè)實(shí)際上更增加了復(fù)雜性。
但是這個(gè)系統(tǒng)的呼叫可以變得更加差勁,比如在Windows,在這個(gè)概況之下,我們有的時(shí)候不能來保證這個(gè)路徑能夠進(jìn)入這個(gè)文件,因?yàn)檫@個(gè)內(nèi)容是不一樣的,所以我們必須來進(jìn)行改變,我們必須改變文件的參數(shù)。
Windows有不同的API的層面,但是我們只是要想一下比較重要的,一個(gè)就是最上面的一個(gè)應(yīng)用,比如說內(nèi)核,Windows API大家比較熟悉了。我們?cè)偕钔谝幌拢胶耍热缯f有一些空的ADL,他們有不同的功效。
為什么我們要有這樣的研究呢?因?yàn)槲覀儼l(fā)現(xiàn)了有意思的一個(gè)項(xiàng)目,是Bug Bounty的這么一個(gè)項(xiàng)目,我們把它設(shè)為IE是1,因?yàn)橛行┨与x,這是漏洞。這些漏洞實(shí)際上可以讓你有登錄的鑰匙,這樣的話,可以非常容易挖掘。
但是這個(gè)漏洞很有意思,實(shí)際上是一個(gè)固定的東西,要阻礙這個(gè)有意義的形象方面的鏈接。我們會(huì)看到在不同的層面上路過,也就是意味著,我想不受形象上的攻擊,我想保護(hù)這方面,使我的系統(tǒng)不受攻擊,我們必須從零開始。
必須是零,必須是記載,我們看MSDN實(shí)際上被記錄了,是像大家期待的那樣,是開放的,象征性的這么一個(gè)數(shù)據(jù)鏈接。還有一些相關(guān)的文件,實(shí)際上同樣的參數(shù),但是它的反應(yīng)并不一樣。
比如說我們開放的鑰匙的通入,所以這個(gè)就告訴了我們?cè)趫?zhí)行的過程中,如果支持這個(gè)方面,有這個(gè)安全功能的話,實(shí)際上沒有被記錄,這個(gè)記錄并不是一貫的,即使它是有相似的功能。
當(dāng)然,到現(xiàn)在差不多是三年之前,我在想我們?cè)趺礃幼詈竽軌蚶眠@個(gè)來找到功效或者是找到漏洞,我就說我在找不同的參數(shù)之前需要API的記錄,所以我們就有MSDN,我們可以上網(wǎng)來下載MSDN,可以下載文件。
有這個(gè)技術(shù)方面文件的記錄,還有微軟通過的一個(gè)方式,還有三方的一個(gè)文件,比如Windows,還有外方的一些技術(shù),可以幫助你執(zhí)行一些建議,比如說Windows API,就可以更加深入的了解系統(tǒng)的漏洞。
如果你有這些了,你就有源泉的密碼了。這個(gè)通常是Windows給你的,所以可能是向外走的時(shí)候得到這些信息。這些有可能會(huì)泄漏到真實(shí)的世界中,你們可以使用。
我需要把這些文件記錄,然后引出我們的研究,比如說線上和線下的。很明顯,我可以使用Bing,你可以在美國(guó)用谷歌,用Bing引擎。如果是微軟的產(chǎn)品,實(shí)際上有的時(shí)候可能并不是很容易的搜到,
你還有其他的一些引擎的選擇,然后可以回到我們的記錄,確實(shí)能夠幫助我,這個(gè)沒有問題,我需要有一種方式,能夠找到一些功能。這樣的話,我可以找到我們的文件和記錄,然后來做我的分析。
所以我想起了DLL進(jìn)口的這些圖書館,很多的這些內(nèi)容實(shí)際上沒有很多的口令,他們只是一個(gè)圖書館。如果你建立這個(gè)文件,你找你內(nèi)部的一些項(xiàng)目來吸入,來進(jìn)入,然后做你的項(xiàng)目。
這個(gè)就是一個(gè)有記錄的樣子,我把這個(gè)內(nèi)容輸入進(jìn)去,最后有這么一些結(jié)果,這個(gè)結(jié)果理論上講,實(shí)際上通過開發(fā)者來引進(jìn)這個(gè)項(xiàng)目,引進(jìn)這個(gè)圖書館的內(nèi)容,這是基礎(chǔ)的東西。這里差不多給我介紹了27000種功效,這么長(zhǎng)的功效的名字,我們需要很長(zhǎng)的時(shí)間來進(jìn)行過濾,來把這些我需要的功能調(diào)出來。
也就是說,有Windows API的功效,我要把它過濾出來。
我想我不需要這些名字,我可以在SDN的線上來搜索,在搜索引擎上找到。但是我并不建議大家這樣做,因?yàn)樵诖四憧梢钥吹椒浅P〉奈募粋€(gè)API是100KB,這個(gè)實(shí)際上有的時(shí)候不是很有實(shí)效,用的時(shí)候不是非常的實(shí)際,
有的時(shí)候可能不是你想要的,這里面包括了其他的內(nèi)容可能不是你要的。但是還有一個(gè)線下的SDN,并不光是線上的。線下實(shí)際上有很多鎖住的文件,這個(gè)實(shí)際上非常簡(jiǎn)單。現(xiàn)在就有問題了,我們沒有目錄,但是目錄里邊也有很多雜的內(nèi)容,
每一個(gè)文件的頭部都會(huì)說,比如說你可以選擇,可以找到API的文件,這個(gè)可以讓我使用這些信息來建立我的目錄。然后我得到的這個(gè)結(jié)果,差不多有8千多個(gè)功能,是2萬個(gè)功能之內(nèi)做出來的,所以已經(jīng)小多了。
現(xiàn)在我有我的這個(gè)文件了,非常接近我的這個(gè)簡(jiǎn)單的數(shù)據(jù)了。但是這些文字,XHTML的文件我需要來搜索。那么怎么做呢?XHTML的文件把節(jié)點(diǎn)放進(jìn)去,搜索關(guān)鍵詞。在此我認(rèn)為,微軟實(shí)際上在控制我,因?yàn)槊恳粋€(gè)文件都有保留的APL的提醒,還有自己的權(quán)限,知識(shí)產(chǎn)權(quán),我并不想被這個(gè)來阻礙。
所以我把這個(gè)文件找出來,然后會(huì)有一些后端的這么一個(gè)非常好解構(gòu)的信息,我可以找到這個(gè)信息,然后有參數(shù)可以進(jìn)入。
我看不同的一些點(diǎn)和元素,是不是這個(gè)參數(shù)為未來保留和預(yù)留了,還有價(jià)值是不是被保留了,然后放到零,使用了還是沒使用,這些都是我的參數(shù)后選的列。這個(gè)已經(jīng)比2萬的功能少很多了,我還需要一個(gè)原代碼,這個(gè)語(yǔ)言是為了能夠找到你的功效是不是正確的,
比如說這個(gè)參數(shù)必須包括一個(gè)節(jié)點(diǎn)的這么一個(gè)內(nèi)容,怒容能夠告訴你這是對(duì)的,你可以通過這個(gè)緩沖區(qū),而且可以做出這樣的決定,這就是一個(gè)安全方面的漏洞。在這些不同的情景,這些沒有記錄的密碼,我們把它找出來,然后把它預(yù)留,作為預(yù)留的參數(shù),微軟用這些注釋,所以這些注釋實(shí)際上是一些普遍的參數(shù),源代碼,實(shí)際上意味著不同的功效。
為什么說這個(gè)很有意思呢?如果你想嘗試一下,其實(shí)它是挺有意思的。我們可以通過這樣的參數(shù),比如說驗(yàn)證它是零,但是我們這是一個(gè)值,我們通過計(jì)算認(rèn)為可能是一些Bug,我們就進(jìn)行了一些修改。
通過這樣一些靜態(tài)分析的工具,我們就發(fā)現(xiàn)其實(shí)它只是對(duì)Call這一方來發(fā)起了一個(gè)警告。因?yàn)檫@個(gè)參數(shù)被存儲(chǔ)了,所以說這個(gè)分析器并沒有覺得你應(yīng)該有任何的函數(shù)產(chǎn)生。比如說有600多個(gè)函數(shù),如果有100個(gè)函數(shù),我們發(fā)現(xiàn)它并沒有被存儲(chǔ),就成為了一個(gè)很大的Flag。
但是我很喜歡自己動(dòng)手去做這些事情,我們找出這樣的一些函數(shù),600個(gè)函數(shù)還是太多了,所以我就想去限制一下。
用一種系統(tǒng)的方法,我們就可以去看這個(gè)核心的函數(shù),大概最后精簡(jiǎn)到90個(gè)函數(shù),所以說通過這種精簡(jiǎn)你們可以去運(yùn)算。至少我需要看一下有哪些參數(shù)是已經(jīng)被存儲(chǔ)下來的,我們就看這些文檔有哪些信息的信息,然后我們把這些函數(shù)進(jìn)行解析,看看它到底代表著一種什么樣的情況,到底是否被使用了沒有。
因?yàn)檫@些參數(shù)可能會(huì)給我們指出一些有可能有興趣的一些函數(shù),我們?cè)僦匦驴催@些文檔,看看有沒有一些安全的保證或者是假設(shè),怎么很好的看這些函數(shù)輔助的信息。我們有三種類型的代碼,這是用一些角色表示的,大概有一半左右,基本上都是忽略了這樣一個(gè)參數(shù),他覺得根本就不關(guān)心。
因?yàn)槲揖陀X得他已經(jīng)都被存儲(chǔ)了,就沒必要去關(guān)注,這是一個(gè)結(jié)果的豐富。
我們知道,他們看到了這些函數(shù)很有意思的一種行為,我們就把這些參數(shù)拿出來,我們把它用于一個(gè)文檔訪問的限制條件。
它是很有意思的,但是最后的結(jié)果就是他并沒有使用,我們要看是不是他的訪問被簽署了。如果說你只是打開這個(gè)文檔,他是不可能再創(chuàng)建一個(gè)新的文檔。不管你用的是什么代碼,你就不可能實(shí)際的去做任何的運(yùn)行,因?yàn)榇_實(shí)沒有這樣一種方便的方式。
還有另外一個(gè)就是說,這個(gè)函數(shù)因?yàn)樗胍鸵粋€(gè)文檔發(fā)生連接的話就必須要進(jìn)行寫入。但是這個(gè)內(nèi)核發(fā)現(xiàn)這個(gè)函數(shù)跟這個(gè)文件沒有這樣的連接,所以說我們?cè)谘芯坷锩嬉舶l(fā)現(xiàn)了這樣的行為。還有另外一種內(nèi)核,在里面就記錄了,他們把這些參數(shù)用于文檔的記錄。
第一個(gè)我覺得很有意思,就是創(chuàng)建了一種邊界的描述符,他并沒有直接的說他是0,他只是把他保存下來了。最后他是用這樣的Flag去設(shè)計(jì)一個(gè)邊界描述符。這個(gè)是跟私人命名空間相關(guān)的,在Windows里面,你可以對(duì)很多內(nèi)核的文件命名,我們還可以跟不同的流程進(jìn)行分享。
但是也有一個(gè)問題,當(dāng)你出現(xiàn)了這種文件名沖突的話,比如說不同的文檔最后都是同樣一個(gè)名的話,他可能就會(huì)說你這個(gè)是沒辦法運(yùn)行的,或者說你應(yīng)該重命名。因?yàn)樗麄兪窃谕瑯右粋€(gè)位置去分享這樣的空間的,所以說我們需要分割這個(gè)資源,也允許你可以在不同的流程里面去使用這個(gè)文件名。
邊界描述符的使用就是說,這個(gè)Caller必須是在這個(gè)邊界描述符之內(nèi)的,有可能是所有的東西,也沒有一些特別安全的文檔,我覺得這是一種比較通用的描述,但是還是要在這個(gè)邊界描述符的范圍之內(nèi)。
比如說之前的文本,他們發(fā)現(xiàn)在Windows里面有一個(gè)用戶名,也有一些安全的屬性,后面我們看到了非Windows描述符,后面可以用于很多的應(yīng)用。可能是在一個(gè)核里面發(fā)生或者怎樣,我們不太清楚,我們發(fā)現(xiàn)這種邊界描述符也是進(jìn)行訪問和檢查。
比如他想訪問某一個(gè)文件,我們要去看是否能夠通過這個(gè)邊界描述符的驗(yàn)證。比如說有一個(gè)格式可以看到被利用,有邊界里面條目的數(shù)目,有名稱。這里面有一個(gè)題目,只是一個(gè)名字,
并沒有什么其他的描述符,而且也是把所有的資源,像Windows等等,使用這樣的一些資源。其實(shí)是給當(dāng)前的這些使用者,作為的這些應(yīng)用者。這里面有兩個(gè)事情,如果他是惡意的使用這個(gè)系統(tǒng)的話,他可以重新設(shè)定這樣一個(gè)描述符。
還有就是所有這些應(yīng)用都可能會(huì)打開一個(gè)Edge的私人命名,其實(shí)這里面有一些應(yīng)用,你可以有一些命名的空間,并不能說你就是完全的可以去使用它來進(jìn)行一些訪問控制,而且它會(huì)影響到所有這些應(yīng)用的打包。
在文檔里面,你用這個(gè)邊界描述符,還有其他的一些描述符到底有沒有存在。在理論上你可以在任何的應(yīng)用里面找到,但是在實(shí)際的操作過程當(dāng)中還是要去驗(yàn)證。我們播放一下這個(gè)短片,在這里面我們有Edge的一個(gè)例子,我們?cè)谶@里面有一個(gè)描述符,我們可以打開這個(gè)邊界描述符,確保所有的人都能夠在同樣的情況下去打開它。
我們看到,其實(shí)它的訪問控制是非常弱的,這里面有所有應(yīng)用的打包,其實(shí)這是很糟糕的,因?yàn)樵谕瑯右粋€(gè)系統(tǒng)里面,基本上他們都是可以去拿到這些信息的,可以看到它里面的資源。這里面需要?jiǎng)?chuàng)建一些命名空間,去繼承這些名稱。然后我們看不同的應(yīng)用者,可以把這個(gè)先播一下,讓大家看一下。
很明顯的,這個(gè)理想的狀態(tài),使用者的Edge有可能是來自用戶的,用戶在這里面不會(huì)有Crash這樣的一些問題出現(xiàn)。我們看一下用戶,就可以打開其中一個(gè)資源,看它是不是能夠直接的接入這些資源。我們可以看到,從他們思想的某些概念里面繼承過來的這樣一種想法,這個(gè)就是我們剛才介紹了的。
Reg Load App Key,你必須是管理員,必須具有重新裝系統(tǒng)的權(quán)限才能獲得App Key。它其實(shí)也是一種保存參數(shù),這個(gè)也沒有問題。但是在這里面,這個(gè)參數(shù)是沒有用的。另外我們?cè)倏匆幌逻@個(gè)文檔,我們這個(gè)文檔其實(shí)我們要看一下到底有哪些安全保障可以給我們?nèi)フ故尽?/p>
如果說我們能夠做所有去做的事情,用這樣的功能,那我為什么要用一些高級(jí)的?第一點(diǎn)你只能去加載到一個(gè)注冊(cè)樹里面某一個(gè)具體的位置,就像一個(gè)機(jī)器一樣,你用這個(gè)注冊(cè)樹,他們把它叫做軟件的,會(huì)安裝到某一個(gè)位置,沒有辦法隨意的進(jìn)行加載。
還有另外一點(diǎn),就是說沒有辦法去消除現(xiàn)有的這些Hive。我們可以去測(cè)試和驗(yàn)證這樣的文檔,是不是告訴了我們一個(gè)真正的真實(shí)情況,而是說事實(shí)上還是跨越過了這些受影響的區(qū)域。他們做的方法,就是在一些沒有典型的受影響的位置,在這里面,基本上業(yè)協(xié)有一些特別沒有辦法用數(shù)字來定義的文件。
這樣也好,我們可以把一些條目等等,這些特殊的Hive來進(jìn)行處理。把這個(gè)應(yīng)用放在這個(gè)默認(rèn)的內(nèi)置的系統(tǒng)里面,我們需要去驗(yàn)證,比如說這個(gè)是真實(shí)的,但是我沒辦法去驗(yàn)證它是不是真正的Slash A,也有可能是B或者是C等等。
到這個(gè)Hive中,我想給大家介紹一個(gè)世紀(jì)的系統(tǒng)使用的情況。是不是能夠復(fù)制這個(gè)情景呢?可能是不允許的,或者是非法的,但是可以這樣做嗎?即使我知道我們打不開這個(gè)隨意的文件,但是我知道這個(gè)是實(shí)際的,是應(yīng)該能打開的,但是沒有任何語(yǔ)言可以打開,這是有意義的。
如果我可以打開這個(gè),實(shí)際上就可以打開更多的東西。但是在注冊(cè)方面可能就會(huì)困難,這個(gè)可以找到一個(gè)根基,有這個(gè)路徑可以打開。所以如果最開始的這個(gè)注冊(cè)可以通過這個(gè)設(shè)施來打開A路徑,這是有效的。這樣的話,我可以把這個(gè)擴(kuò)展,然后打開其他的路徑。
實(shí)際上我們有上載和下載,可以建立這個(gè)Hive。在下載的過程中,實(shí)際上這個(gè)系統(tǒng)可以給你更新一個(gè)新的Hive。每個(gè)人都可以有權(quán)限進(jìn)入這個(gè)Hive,可能是有限的一組人,但是實(shí)際上你有直接進(jìn)入的權(quán)限。所以一個(gè)應(yīng)用需要這么一個(gè)設(shè)施,這個(gè)Hive被暴露了,那么我們可以進(jìn)行修改。
所以我就想回到這個(gè)記錄文檔,可能我們有一個(gè)選擇是有價(jià)值的,是不是我要專門的打開這個(gè)Hive,可不可以其他人打開和我分享呢?當(dāng)我把這個(gè)路徑和大家展示的時(shí)候,會(huì)有一些在某個(gè)器件的水平到這個(gè)內(nèi)核的水平,可能會(huì)有特別的一個(gè)器件,可以下載上傳參數(shù),可能有了這個(gè)只能讀的一個(gè)器件。
我看到有一個(gè)可以打開這個(gè)注冊(cè)的鑰匙,這個(gè)實(shí)際上沒有被完全的暴露,但是如果是本地的API的話,你可以打開,所以我要看不同的地方,看看怎么樣使用。比如說如果你只是讀,可能就不用進(jìn)行交易。
如果有毀壞的話,你可以進(jìn)行過渡,可以把這個(gè)注冊(cè)的Hive來進(jìn)行重啟。這個(gè)可能是不需要了,如果你不能讀這個(gè)Hive,實(shí)際上你不需要打開這個(gè)交易的解碼。但是如果你要寫怎么辦呢?不會(huì)給你打開一個(gè)新的文件,如果你只是一個(gè)讀的話。
我為什么要打開這個(gè)文件呢?要使我們做的事情更有意義,所以最開始的這些函數(shù)的鏈,這里有函數(shù)的核心,首先是要打開這個(gè)注冊(cè)的Hive,然后是讀,在這個(gè)位置讀。如果失敗了,如果你的路徑被否認(rèn)了,被拒絕了,那么你就可以知道現(xiàn)在的這個(gè)過程結(jié)果了。
所以我們要打開這個(gè)注冊(cè)的Hive,作為一個(gè)用戶或者是服務(wù)的客戶,如果被拒絕了,你就可以進(jìn)入這個(gè)本地的系統(tǒng)然后求助。如果這些服務(wù)是代表這個(gè)用戶提供的,那么應(yīng)該是以用戶的ID身份來進(jìn)行的。
我們打開一個(gè)本地的系統(tǒng),如果只是打開一個(gè)只讀的,你要想寫的話還要再繼續(xù)找。如果有這么一個(gè)文件,他們可能會(huì)忘記以前這個(gè)只讀的路徑。所以我們做這個(gè)服務(wù)的時(shí)候,只是打開這些只讀的Hive,有的時(shí)候可能會(huì)到一些用戶的Hive,所以我們可以扔掉一些象征性的。
我們?cè)趺礃痈玫氖褂眠@些服務(wù)?怎么樣使用這些服務(wù)生效?當(dāng)我們建立一個(gè)矩陣的系統(tǒng)應(yīng)用的話,會(huì)有.COM,如果你在開發(fā).COM的時(shí)候確實(shí)是一個(gè)痛苦的經(jīng)歷。不管怎么說,一個(gè)矩陣的應(yīng)用你是有一個(gè)目標(biāo)的,我們使用這個(gè)系統(tǒng)的注冊(cè)Hive,是在使用者的范圍框架之內(nèi)。
比如說我可以有一個(gè)矩陣的框架,我來破解這些密碼,在我的文檔之內(nèi)來打開我的文件。如果我要進(jìn)入的要求被拒絕了,比如說核心已經(jīng)忘記了這只是只讀的,那么實(shí)際上也有可能有機(jī)會(huì)進(jìn)行寫,也可以通過這個(gè)工具。
在注冊(cè)Hive方面給大家一些展示,在這方面我們做這種可列舉的,首先打開注冊(cè),然后作為這個(gè)根基的鍵,然后打開A,打開其他的鍵。我希望能夠得到準(zhǔn)入,這個(gè)就是我這么多隨意得到的一些結(jié)果,非常明顯,我們的這個(gè)Hive實(shí)際上是可以得到注冊(cè)的。
我們可以進(jìn)行修改這個(gè)Edge,這個(gè)是向大家展示我們的一些技巧。比如說上傳到我們本地的Hive,然后進(jìn)行運(yùn)作,看起來很成功,也有失敗的時(shí)候,我們可以看到我們建立了一個(gè)新的文件,這實(shí)際上是一個(gè)默認(rèn)的控制,所有的應(yīng)用有這個(gè)器件的準(zhǔn)入。
如果我有F的這個(gè)文件,我們有ABC已經(jīng)建立了。最后我要做的就是進(jìn)入我的本地系統(tǒng),這個(gè)就是我們注冊(cè)Hive是本地的系統(tǒng)。我們可以獲得不同的信息進(jìn)行運(yùn)作,然后進(jìn)入本地的系統(tǒng)。
最后做一下總結(jié),我想這個(gè)文件的記錄實(shí)際上是一個(gè)非常好的方式來找漏洞。但是可以看到這個(gè)函數(shù)怎么樣運(yùn)作,有的時(shí)候可以在我們的研究或者調(diào)查過程當(dāng)中使用。我們做的這個(gè)研究,比如說一些安全的語(yǔ)言,我們是不是可以使用這些,然后來認(rèn)證這些注釋的東西,是不是適合我。
如果這個(gè)開發(fā)者不這樣做的話,那么就不會(huì)被人們注意這些事情。所以我可以這樣做,還有可能有很多其他的一些文件的記錄可以進(jìn)行分析,比如說這么一個(gè)文件,怎么樣能夠更新,怎么樣改變?nèi)藗兊男袨椋趺礃咏o大家一些理解,實(shí)際上它也是隨著時(shí)間來變化的。
最后最大的一個(gè)結(jié)論那就是API的文件記錄,它介紹了整個(gè)的情景,不能百分之百的來確保。另一方面,它可以給一些借口,可能有的時(shí)候會(huì)有一些錯(cuò)誤的理解,所以不管你讀什么,不要完全的相信。
以上就是我的分享,如果大家有什么問題的話,我會(huì)在這個(gè)會(huì)場(chǎng)歡迎大家來提問,希望大家能夠在下午的講座中有更多的收獲。