日本精品aⅴ一区二区三区|国产欧美一二三区|国产乱码精品精|国产精品电影在线免费

      1. <blockquote id="utafg"><th id="utafg"></th></blockquote>
    1. <div id="utafg"></div>
        <blockquote id="utafg"><th id="utafg"></th></blockquote>

        <menuitem id="utafg"></menuitem>
      1. 您現在的位置是:首頁 >綜合 > 2023-07-22 05:30:42 來源:

        溢出攻擊的核心是(溢出攻擊法使用什么樣的原理)

        導讀 大家好,我是小小根,我來為大家解答以上問題。溢出攻擊的核心是,溢出攻擊法使用什么樣的原理很多人還不知道,現在讓我們一起來看看吧!1...

        大家好,我是小小根,我來為大家解答以上問題。溢出攻擊的核心是,溢出攻擊法使用什么樣的原理很多人還不知道,現在讓我們一起來看看吧!

        1、緩沖區(qū)溢出攻擊之所以成為一種常見的攻擊手段,其原因在于緩沖區(qū)溢出漏洞太普通了,并且易于實現。

        2、而且,緩沖區(qū)溢出所以成為遠程攻擊的主要手段,其原因在于緩沖區(qū)溢出漏洞給予了攻擊者所想要的一切:殖入并且執(zhí)行攻擊代碼。

        3、被殖入的攻擊代碼以一定的權限運行有緩沖區(qū)溢出漏洞的程序,從而得到被攻擊主機的控制權。

        4、 緩沖區(qū)是內存中存放數據的地方。

        5、在程序試圖將數據放到機器內存中的某一個位置的時候,因為沒有足夠的空間就會發(fā)生緩沖區(qū)溢出。

        6、而人為的溢出則是有一定企圖的,攻擊者寫一個超過緩沖區(qū)長度的字符串,植入到緩沖區(qū),然后再向一個有限空間的緩沖區(qū)中植入超長的字符串,這時可能會出現兩個結果:一是過長的字符串覆蓋了相鄰的存儲單元,引起程序運行失敗,嚴重的可導致系統(tǒng)崩潰;另一個結果就是利用這種漏洞可以執(zhí)行任意指令,甚至可以取得系統(tǒng)root特級權限。

        7、 緩沖區(qū)是程序運行的時候機器內存中的一個連續(xù)塊,它保存了給定類型的數據,隨著動態(tài)分配變量會出現問題。

        8、大多時為了不占用太多的內存,一個有動態(tài)分配變量的程序在程序運行時才決定給它們分配多少內存。

        9、如果程序在動態(tài)分配緩沖區(qū)放入超長的數據,它就會溢出了。

        10、一個緩沖區(qū)溢出程序使用這個溢出的數據將匯編語言代碼放到機器的內存里,通常是產生root權限的地方。

        11、僅僅單個的緩沖區(qū)溢出并不是問題的根本所在。

        12、但如果溢出送到能夠以root權限運行命令的區(qū)域,一旦運行這些命令,那可就等于把機器拱手相讓了。

        13、造成緩沖區(qū)溢出的原因是程序中沒有仔細檢查用戶輸入的參數。

        14、例如下面程序: example1.c void func1(char *input) { char buffer[16]; strcpy(buffer, input); } 上面的strcpy()將直接吧input中的內容copy到buffer中。

        15、這樣只要input的長度大于16,就會造成buffer的溢出,使程序運行出錯。

        16、存在像strcpy這樣的問題的標準函數還有strcat(),sprintf(),vsprintf(),gets(),scanf(),以及在循環(huán)內的getc(),fgetc(),getchar()等。

        17、 當然,隨便往緩沖區(qū)中填東西造成它溢出一般只會出現Segmentation fault 錯誤,而不能達到攻擊的目的。

        18、最常見的手段是通過制造緩沖區(qū)溢出使程序運行一個用戶shell,再通過shell執(zhí)行其他命令。

        19、如果該程序屬于root且有suid權限的話,攻擊者就獲得了一個有root權限的shell,便可以對系統(tǒng)進行任意操作了。

        本文到此講解完畢了,希望對大家有幫助。